Jump To:
Leopard Reference Library: Cocoa
Cocoa provides classes for custom drawing based on Quartz graphics, and utility functions for common graphics tasks such as copying and drawing bitmap data. To go beyond what Cocoa provides, developers can use the graphics and imaging frameworks in Mac OS X. Cocoa applications have access to a wide variety of graphics technologies including Quartz 2D, Quartz Services, OpenGL, QuickTime, and the Mac OS X printing system.

View all Graphics & Imaging Reference Library.
Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Resource Type
Sort by
Date
2D Graphics Release Notes for Mac OS X v10.5 (HTML)
Describes the changes and issues related to Core Image and Quartz 2D in Mac OS X v10.5.
Release Notes 2008-04-08
Animating the frame of a CALayer. (HTML)
QA1620: Explains how the frame property of a layer interacts with animations.
Technical Q&As 2008-10-24
Animation Overview (HTML) (PDF)
Describes the animation facilities provided by Mac OS X.
Guides 2008-10-15
Animation Programming Guide for Cocoa (HTML) (PDF)
Describes how to use Cocoa animation objects to enhance user interface transitions.
Guides 2006-05-23
Animation Types and Timing Programming Guide (HTML) (PDF)
Describes the animation and timing classes used by both Core Animation and Cocoa Animation proxies.
Guides 2008-04-08
BasicCocoaAnimations (HTML) (DMG) (ZIP)
"BasicCocoaAnimations" demonstrates the use of the animator proxy to easily animate Cocoa views and windows.
Sample Code 2007-06-11
BoingX (HTML) (DMG) (ZIP)
Shows off using Quartz Extreme to provide borderless OpenGL content on the desktop.
Sample Code 2007-11-06
Boinx Starts with Sample Code: FotoMagico Is a Powerful Digital Slideshow (HTML)
Starting with Apple sample code, tools and technologies, Boinx wrote FotoMagico in a matter of months.
Articles 2007-12-11
CAAction Protocol Reference (HTML) (PDF)
Describes the interface for receiving actions initiated by a layer.
Reference 2007-07-24
CAAnimation Class Reference (HTML) (PDF)
Describes the interface for managing the actions and timing of an animation.
Reference 2007-10-31
CAAnimationGroup Class Reference (HTML) (PDF)
Describes a grouping of multiple animations into a single animation.
Reference 2008-03-11
CABasicAnimation Class Reference (HTML) (PDF)
Describes the basic interpolation of a layer property.
Reference 2007-07-24
CAConstraint Class Reference (HTML) (PDF)
Describes a single geometric constraint between two layers.
Reference 2007-07-24
CAConstraintLayoutManager Class Reference (HTML) (PDF)
Describes a layout manager that applies a set of constraints to a layer tree.
Reference 2007-12-11
CAKeyframeAnimation Class Reference (HTML) (PDF)
Describes an animation that provides keyframe interpolation of a layer property.
Reference 2007-07-24
CALayer Class Reference (HTML) (PDF)
Describes a node of animated visual content.
Reference 2009-02-04
CALayerEssentials (HTML) (DMG) (ZIP)
Demonstrates the basics of setting up various Core Animation layers
Sample Code 2008-09-30
CALayoutManager Protocol Reference (HTML) (PDF)
Describes the interface for receiving requests to arrange a layout tree.
Reference 2007-07-24
CAMediaTiming Protocol Reference (HTML) (PDF)
Describes the interface for the time behavior of an animation.
Reference 2009-03-04
CAMediaTimingFunction Class Reference (HTML) (PDF)
Describes the pacing of an animation as a timing curve.
Reference 2008-07-11
CAOpenGLLayer Class Reference (HTML) (PDF)
Describes a layer that acts as a target for OpenGL commands.
Reference 2008-03-11
CAPropertyAnimation Class Reference (HTML) (PDF)
Describes the interface for manipulating values of layer properties.
Reference 2007-07-24
CarbonCocoaCoreImageTab (HTML) (DMG) (ZIP)
Carbon-based application creates a Cocoa-based web window which used CoreImage filters to transition between tabbed WebViews
Sample Code 2006-07-25
CarbonQuartzComposer_TV (HTML) (DMG) (ZIP)
Demonstrates how to integrate Cocoa based QuartzComposer window into a Carbon based application
Sample Code 2006-10-02
CARenderer Class Reference (HTML) (PDF)
Describes an object that draws a layer to a Core Graphics context.
Reference 2008-04-30
CAScrollLayer Class Reference (HTML) (PDF)
Describes a layer that displays a scrollable portion of another layer.
Reference 2007-07-24
CATextLayer Class Reference (HTML) (PDF)
Describes a layer that draws text.
Reference 2007-12-11
CATiledLayer Class Reference (HTML) (PDF)
Describes a layer that draws tiles of content as needed.
Reference 2007-07-24
CATransaction Class Reference (HTML) (PDF)
Describes a batch of Core Animation updates that are applied to a render tree atomically.
Reference 2007-07-24
CATransition Class Reference (HTML) (PDF)
Describes the class that provides transition animations to layers.
Reference 2007-10-31
CGBitmapContextCreate Supported Color Spaces (HTML)
QA1037: Lists the color space and alpha info combinations currently supported by CGBitmapContextCreate.
Technical Q&As 2007-07-18
CGContext Bounds (HTML)
QA1048: Explains how to determine the bounds of a CGContext.
Technical Q&As 2001-07-02
CGContextAddLineToPoint, CGContextAddCurveToPoint, et. al. (HTML)
QA1049: Explains why the CGContextAddXYZ APIs don't draw anything immediately.
Technical Q&As 2001-07-02
CGContextClosePath (HTML)
QA1046: Explains when you should call CGContextClosePath.
Technical Q&As 2001-10-02
CGDrawPicture (HTML) (DMG) (ZIP)
Deprecated - Shows how to use the QDPictDrawToCGContext API.
Sample Code 2003-01-14
CGImageRef contents are immutable (HTML) (日本語 HTML)
QA1276: Explains that CGImageRef contents are considered immutable once created.
Technical Q&As 2003-07-17
CIAnnotation (HTML) (DMG) (ZIP)
Image annotation application using Core Image Filters. Demonstrates creation and usage of Image Units.
Sample Code 2005-08-01
CIColor Additions Reference (HTML) (PDF)
Describes additions to support Cocoa color information.
Reference 2006-05-23
CIColor Class Reference (HTML) (PDF)
Describes the class used to manage color values and color spaces for Core Image filters.
Reference 2006-12-05
CIColorTracking (HTML) (DMG) (ZIP)
An Objective-C applicaton that implements a GPU-based technique to find the location of a uniquely colored object in a scene
Sample Code 2008-04-24
CIContext Class Reference (HTML) (PDF)
Describes the class that provides an evaluation context for rendering a Core Image image through Quartz 2D or OpenGL.
Reference 2007-03-16
CIFilter Class Reference (HTML) (PDF)
Describes the class that processes image data and produces a Core Image image as output.
Reference 2007-12-11
CIFilter Core Animation Additions (HTML) (PDF)
Describes the category that extends Core Image filters for use with Layer Kit.
Reference 2007-07-24
CIFilter Image Kit Additions (HTML) (PDF)
Describes the category that extends Core Image filters for use with Image Kit.
Reference 2006-12-06
CIFilterGenerator Class Reference (HTML) (PDF)
Describes the class that supports chaining together image processing filters.
Reference 2006-12-05
CIFilterShape Class Reference (HTML) (PDF)
Describes the class that defines the bounding shape of a filter and the domain of definition of a filter operation.
Reference 2006-12-07
CIImage Additions Reference (HTML) (PDF)
Describes additions for manipulating Cocoa images.
Reference 2007-06-08
CIImage Class Reference (HTML) (PDF)
Describes the class that represents an immutable Core Image image.
Reference 2007-10-31
CIImageAccumulator Class Reference (HTML) (PDF)
Describes the class that enables feedback-based image processing.
Reference 2007-01-05
CIImageProvider Protocol Reference (HTML) (PDF)
Describes the informal protocol used to supply bitmap data for creating or initializing a Core Image image.
Reference 2006-12-05
CIKernel Class Reference (HTML) (PDF)
Describes the class that operates on individual pixels using a kernel routine.
Reference 2006-12-05
CIPlugIn Class Reference (HTML) (PDF)
Describes the class that is responsible for loading image units.
Reference 2006-12-05
CIPlugInRegistration Protocol Reference (HTML) (PDF)
Describes the protocol used to load Core Image image units.
Reference 2006-12-07
CISampler Class Reference (HTML) (PDF)
Describes the class that retrieves samples of images that are then processed by a Core Image kernel.
Reference 2006-12-07
CIVector Class Reference (HTML) (PDF)
Describes the class used to pass parameter values to Core Image filters.
Reference 2006-12-07
Cocoa CG aliasing demo (HTML) (DMG) (ZIP)
Shows how to draw both aliased and anti-aliased text and graphics using Quartz and Cocoa.
Sample Code 2003-07-17
Cocoa CG arc demo (HTML) (DMG) (ZIP)
Shows how to draw both aliased and anti-aliased arcs using Quartz and Cocoa.
Sample Code 2003-07-17
Cocoa Drawing Guide (HTML) (PDF)
Explains how to use Cocoa to draw your application's user interface.
Guides 2009-01-06
Cocoa OpenGL (HTML) (DMG) (ZIP)
Demonstrates using Cocoa with OpenGL, including window setup and event handling.
Sample Code 2007-10-22
CocoaSlides (HTML) (DMG) (ZIP)
An image browser written using AppKit's Core Animation-based compositing and animation functionality
Sample Code 2007-11-02
Color Management Overview (HTML) (PDF)
Introduces basic concepts and defines color spaces.
Guides 2005-07-07
Color Programming Topics for Cocoa (HTML) (PDF)
Explains how applications specify colors and how users choose colors in Cocoa.
Guides 2009-03-04
Color Sampler (HTML) (DMG) (ZIP)
Demonstrates one way to sample the color at a given point in an NSView.
Sample Code 2003-01-14
ColorBars (HTML) (DMG) (ZIP)
Shows how to enumerate, select, capture, manipulate, draw to, and release displays using the CGDirectDisplay API.
Sample Code 2003-01-14
ColorMatching (HTML) (DMG) (ZIP)
Performs simple color matching of images using ColorSync or the QuickTime 6.4 Graphics Importers.
Sample Code 2003-12-18
ColorSyncDevices-Cocoa (HTML) (DMG) (ZIP)
Demonstrates how to use the new ColorSync Device Manager routines in the Cocoa environment.
Sample Code 2003-01-14
Core Animation Cookbook (HTML) (PDF)
Demonstrates common Core Animation tasks.
Guides 2008-03-11
Core Animation Function Reference (HTML) (PDF)
Describes the C functions that support Core Animation.
Reference 2007-07-24
Core Animation Programming Guide (HTML) (PDF)
Introduces the main components and services of Core Animation.
Guides 2008-11-13
Core Animation properties and Reference Counting (HTML)
QA1565: Describes a discrepancy between the property declarations in Core Animation and the actual behavior.
Technical Q&As 2008-11-24
Core Animation QuickTime Layer (HTML) (DMG) (ZIP)
Shows the use of controls in a Layer over a Core Animation QTMovieLayer
Sample Code 2007-09-26
Core Animation Reference Collection (HTML) (PDF)
Describes the API for Core Animation.
Reference 2008-06-26
Core Animation Release Notes (HTML)
Describes features, issues, and workarounds related to Mac OS X v10.5 and its support of Core Animation.
Release Notes 2007-05-31
Core Image Kernel Language Reference (HTML) (PDF)
Describes the symbols for writing image-processing kernels.
Reference 2008-06-09
Core Image Programming Guide (HTML) (PDF)
Provides an overview and explains how to use and create image filters and image units.
Guides 2008-06-09
Core Image Reference Collection (HTML) (PDF)
Describes the Objective-C API for using and creating filters for image processing.
Reference 2006-12-05
Cropped Image (HTML) (DMG) (ZIP)
Demonstrates how to extract a sub-image from another image, and some ways of indicating a selection.
Sample Code 2003-01-14
CTMClip (HTML) (DMG) (ZIP)
Deprecated - Shows how to manipulate the Quartz 2D Current Transform Matrix (CTM) for image drawing with clipping.
Sample Code 2003-01-14
CTMDemo (HTML) (DMG) (ZIP)
Deprecated - Shows how to manipulate the Quartz 2D Current Transform Matrix (CTM) for image drawing without clipping.
Sample Code 2003-01-14
CubePuzzle (HTML) (DMG) (ZIP)
Models a Rubik's Cube using Cocoa and OpenGL
Sample Code 2003-04-21
Debugging Graphics with QuartzDebug (HTML) (日本語 HTML)
QA1236: Explains how to use QuartzDebug to debug graphics issues.
Technical Q&As 2006-01-12
DragItemAround (HTML) (DMG) (ZIP)
Illustrates creating a custom subclass of NSView.
Sample Code 2006-03-16
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Technical Q&As 2001-07-02
Driving OpenGL Rendering Loops (HTML)
QA1385: Using Core Video display links (CVDisplayLink) or Cocoa timers (NSTimer) to drive an OpenGL rendering loop
Technical Q&As 2009-05-01
FancyAbout (HTML) (DMG) (ZIP)
Demonstrates several visual effects for "About..." panels such as scrolling text, window without a title bar, and ways to dismiss the window.
Sample Code 2003-10-27
Finding an NSView's current magnification. (HTML)
QA1346: How to discover the current magnification (zoom level) of any NSView.
Technical Q&As 2005-03-08
FunkyOverlayWindow (HTML) (DMG) (ZIP)
Demonstrates several window layering, transparency and widget interaction techniques in Cocoa.
Sample Code 2003-05-08
GeekGameBoard (HTML) (DMG) (ZIP)
Shows how to use Core Animation for the user interface of a board or card game.
Sample Code 2007-12-19
Getting images in and out from Quartz Composer compositions (HTML)
TN2143: Describes how to efficiently pass images into and out of Quartz Composer
Technical Notes 2005-10-04
Getting the pixel data from a CGImage object (HTML)
QA1509: Describes how to access the pixel data of a CGImage object
Technical Q&As 2008-08-27
GLChildWindowDemo (HTML) (DMG) (ZIP)
Shows using Cocoa's child windows and Quartz Extreme to provide 2D/3D overlays above 3D content.
Sample Code 2003-04-21
GLSLShowpiece (HTML) (DMG) (ZIP)
GLSLShowpiece demonstrates several Vertex and Fragment shaders
Sample Code 2006-07-17
Grady (HTML) (DMG) (ZIP)
Demonstrates how to use the NSGradient class.
Sample Code 2007-02-28
How can I optimize a Quartz Composer composition depending on the hardware it runs on? (HTML)
QA1433: Explains how to design compositions that adapt to the hardware limitations.
Technical Q&As 2005-06-01
How can I programmatically determine the DPI of the current video mode? (HTML) (日本語 HTML)
QA1217: Describes how to compute the DPI for a given display in a given mode using Core Graphics.
Technical Q&As 2002-12-02
How do I determine how much VRAM is available on my video card? (HTML)
QA1168: Using Core Graphics and IOKit to find the physical size of VRAM on installed hardware.
Technical Q&As 2004-10-11
How do I get the hexadecimal value of an NSColor object? (HTML)
QA1576: Describes how to convert an NSColor object to its Hexadecimal value.
Technical Q&As 2007-12-19
How do I tell if a particular display is being hardware accelerated by Quartz Extreme? (HTML) (日本語 HTML)
QA1218: Describes how to use CGDisplayUsesOpenGLAcceleration to see if a display is accelerated or not.
Technical Q&As 2002-12-04
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Technical Q&As 2007-08-02
IKFilterBrowserPanel Class Reference (HTML) (PDF)
Describes the class that provides the panel contained in a filter browser.
Reference 2007-10-31