Graphics Reference
In-Depth Information
LISTING 6-15
Continued
CALayer
*transitionLayer;
CIImage *shadingImage;
CIVector *extent;
BOOL
toggle;
}
- (CIImage *)shadingImage;
-(
IBAction
)doTransition:(
id
)sender;
@end
@implementation
AppDelegate
-(
void
)awakeFromNib;
{
[[window
contentView
] setWantsLayer:
YES
];
CGColorRef
green =
CGColorCreateGenericRGB
(0, 0.45, 0, 1);
transitionLayer = [
CALayer layer
];
[transitionLayer
setFrame
:
NSRectToCGRect([[window
contentView
]
frame
])];
[transitionLayer
setBackgroundColor
:green];
[transitionLayer
setDelegate
:
self
];
[transitionLayer
setBorderWidth
:3];
// Keep the layer behind our button.
[[[window
contentView
]
layer
]
insertSublayer
:transitionLayer
atIndex
:0];
CFRelease
(green);
}
- (
id
<
CAAction
>)actionForLayer:(
CALayer
*)layer
forKey:(
NSString
*)key;
{
if
( layer == transitionLayer )
{
if
( [key
compare
:
@”bounds”
] ==
NSOrderedSame
)
{
float
w = [[window
contentView
]
frame
].
size
.
width
;
float
h = [[window
contentView
]
frame
].
size
.
height
;
CIFilter *rippleFilter =
[CIFilter filterWithName:
@”CIRippleTransition”
];