24 @
typedef CPVisualEffectMaterial
30 @
typedef CPVisualEffectBlendingMode
34 @
typedef CPVisualEffectState
51 CPVisualEffectBlendingMode _blendingMode;
52 CPVisualEffectMaterial _material;
53 CPVisualEffectState _state;
58 #pragma mark Initialization 60 - (id)initWithFrame:(CGRect)aFrame
62 if (
self = [super initWithFrame:aFrame])
75 #pragma mark CPVisualEffectView API 85 if (![
self _validAppearance:anAppearance])
86 [
CPException raise:CPInvalidArgumentException
reason:"Appearance can only be CPAppearanceNameVibrantDark or CPAppearanceNameVibrantLight in CPVisualEffectView, but is " + anAppearance];
101 - (void)setState:(CPVisualEffectState)aState
103 if (_state == aState)
106 [
self willChangeValueForKey:"state"];
108 [
self didChangeValueForKey:"state"];
115 #pragma mark Utilities 117 - (void)_setEffectEnabled:(BOOL)shouldEnable
122 finalColor = shouldEnable ? [color colorWithAlphaComponent:0.6] : color;
124 [
self setBackgroundColor:finalColor];
127 self._DOMElement.style[prop] = shouldEnable ?
"blur(30px)" : nil;
132 - (void)layoutSubviews
137 [
self _setEffectEnabled:[
self hasThemeState:CPThemeStateKeyWindow]];
141 [
self _setEffectEnabled:YES];
145 [
self _setEffectEnabled:NO];
157 #pragma mark CPCoding 161 if (
self = [super initWithCoder:aCoder])
164 _maskImage = [aCoder decodeObjectForKey:@"_maskImage"];
176 [aCoder encodeObject:_maskImage forKey:@"_maskImage"];
177 [aCoder encodeInt:_blendingMode forKey:@"_blendingMode"];
178 [aCoder encodeInt:_material forKey:@"_material"];
179 [aCoder encodeInt:_state forKey:@"_state"];
206 - (CPVisualEffectBlendingMode)blendingMode
208 return _blendingMode;
214 - (void)setBlendingMode:(CPVisualEffectBlendingMode)aValue
216 _blendingMode = aValue;
222 - (CPVisualEffectMaterial)material
230 - (void)setMaterial:(CPVisualEffectMaterial)aValue
238 - (CPVisualEffectState)state
246 - (void)setState:(CPVisualEffectState)aValue
Used to implement exception handling (creating & raising).
void setAppearance:(CPAppearance anAppearance)
CPColor colorWithHexString:(string hex)
CPVisualEffectMaterialDark
CPVisualEffectMaterialTitlebar
void raise:reason:(CPString aName, [reason] CPString aReason)
BOOL isEqual:(id anObject)
CPVisualEffectMaterial CPVisualEffectMaterialAppearanceBased
void setNeedsLayout:(BOOL needLayout)
CPVisualEffectMaterialLight
CPAppearance appearanceNamed:(CPString aName)
CPVisualEffectBlendingMode CPVisualEffectBlendingModeBehindWindow
void encodeWithCoder:(CPCoder aCoder)
CPVisualEffectStateInactive
CPVisualEffectBlendingModeWithinWindow
CPVisualEffectState CPVisualEffectStateFollowsWindowActiveState
function CPBrowserStyleProperty(aProperty)
Defines methods for use when archiving & restoring (enc/decoding).
CPVisualEffectStateActive