As Mac OS X has evolved, it has used OpenGL more and more to use the power of modern graphics processors. To make some of these capabilities convenient for all programmers, Apple created
CALayer in Mac OS X 10.5. You can think of a
CALayer as a buffer that you can draw into. Once it has been rendered, it can be moved, resized, and redrawn by the graphics processor at startling speeds.
Like views, layers are arranged in a hierarchy. A view can be covered with a layer, and that layer can have sublayers.
Once we have the
CALayer, which can be manipulated at an amazing speed, we need something to drive the process.
CAAnimation does this.
NSAnimationContext can be used to group and synchronize multiple animations.
As an example, ...