@interface CAAnimation : NSObject
// Class Members
+ (id)animation;
+ (id)defaultValueForKey:(NSString*)key;
// Instance Members
- (void)didChangeValueForKey:(NSString*)key;
- (void)willChangeValueForKey:(NSString*)key;
@interface NSObject (CAAnimationDelegate)
// Instance Members
- (void)animationDidStart:(CAAnimation*)anim;
- (void)animationDidStop:(CAAnimation*)anim finished:(BOOL)flag;
@interface CAPropertyAnimation : CAAnimation
// Class Members
+ (id)animationWithKeyPath:(NSString*)path;
@interface CABasicAnimation : CAPropertyAnimation
@interface CAKeyframeAnimation : CAPropertyAnimation
@interface CATransition : CAAnimation
@interface CAAnimationGroup : CAAnimation
@interface CAEAGLLayer : CALayer
@interface CALayer : NSObject
// Class Members
+ (id)defaultValueForKey:(NSString*)key;
+ (id)layer;
+ (id
// Instance Members
- (BOOL)containsPoint:(CGPoint)p;
- (CAAnimation*)animationForKey:(NSString*)key;
- (CALayer*)hitTest:(CGPoint)p;
- (CFTimeInterval)convertTime:(CFTimeInterval)t fromLayer:(CALayer*)l;
- (CFTimeInterval)convertTime:(CFTimeInterval)t toLayer:(CALayer*)l;
- (CGAffineTransform)affineTransform;
- (CGPoint)convertPoint:(CGPoint)p fromLayer:(CALayer*)l;
- (CGPoint)convertPoint:(CGPoint)p toLayer:(CALayer*)l;
- (CGRect)convertRect:(CGRect)r fromLayer:(CALayer*)l;
- (CGRect)convertRect:(CGRect)r toLayer:(CALayer*)l;
- (CGSize)preferredFrameSize;
- (id)init;
- (id)initWithLayer:(id)layer;
- (id)modelLayer;
- (id)presentationLayer;
- (id
- (void)addAnimation:(CAAnimation*)anim forKey:(NSString*)key;
- (void)addSublayer:(CALayer*)layer;
- (void)display;
- (void)drawInContext:(CGContextRef)ctx;
- (void)insertSublayer:(CALayer*)layer below:(CALayer*)sibling;
- (void)insertSublayer:(CALayer*)layer above:(CALayer*)sibling;
- (void)insertSublayer:(CALayer*)layer atIndex:(unsigned)idx;
- (void)layoutIfNeeded;
- (void)layoutSublayers;
- (void)removeAllAnimations;
- (void)removeAnimationForKey:(NSString*)key;
- (void)removeFromSuperlayer;
- (void)renderInContext:(CGContextRef)ctx;
- (void)replaceSublayer:(CALayer*)layer with:(CALayer*)layer2;
- (void)setAffineTransform:(CGAffineTransform)m;
- (void)setNeedsDisplay;
- (void)setNeedsDisplayInRect:(CGRect)r;
- (void)setNeedsLayout;
@interface NSObject (CALayerDelegate)
// Instance Members
- (id
- (void)didChangeValueForKey:(NSString*)key;
- (void)displayLayer:(CALayer*)layer;
- (void)drawLayer:(CALayer*)layer inContext:(CGContextRef)ctx;
- (void)willChangeValueForKey:(NSString*)key;
@interface CAMediaTimingFunction : NSObject
// Class Members
+ (id)functionWithControlPoints:(float)c1x :(float)c1y :(float)c2x :(float)c2y;
+ (id)functionWithName:(NSString*)name;
// Instance Members
- (id)initWithControlPoints:(float)c1x :(float)c1y :(float)c2x :(float)c2y;
- (void)getControlPointAtIndex:(size_t)idx values:(float[2])ptr;
@interface CAScrollLayer : CALayer
// Instance Members
- (void)scrollToPoint:(CGPoint)p;
- (void)scrollToRect:(CGRect)r;
@interface CALayer (CALayerScrolling)
// Instance Members
- (void)scrollPoint:(CGPoint)p;
- (void)scrollRectToVisible:(CGRect)r;
@interface CATiledLayer : CALayer
// Class Members
+ (CFTimeInterval)fadeDuration;
@interface CATransaction : NSObject
// Class Members
+ (id)valueForKey:(NSString*)key;
+ (void)begin;
+ (void)commit;
+ (void)flush;
+ (void)setValue:(id)anObject forKey:(NSString*)key;
@interface NSValue (CATransform3DAdditions)
// Class Members
+ (NSValue*)valueWithCATransform3D:(CATransform3D)t;
// Instance Members
- (CATransform3D)CATransform3DValue;