Jump To:
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
Animation Overview (HTML) (PDF)
Describes the animation facilities provided by Mac OS X.
Guides 2008-04-08
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 protocol used by objects to respond to actions initiated by a layer.
Reference 2007-07-24
CAAnimation Class Reference (HTML) (PDF)
Describes the abstract class that manages the timing and pacing of an animation.
Reference 2007-10-31
CAAnimationGroup Class Reference (HTML) (PDF)
Describes the class that groups multiple animations into a single animation.
Reference 2008-03-11
CABasicAnimation Class Reference (HTML) (PDF)
Describes the class that provides basic interpolation of a layer property.
Reference 2007-07-24
CAConstraint Class Reference (HTML) (PDF)
Describes the class that defines a single geometric constraint between two layers.
Reference 2007-07-24
CAConstraintLayoutManager Class Reference (HTML) (PDF)
Describes the class that provides constraint-based relative layout to a layer's sublayers.
Reference 2007-12-11
CAKeyframeAnimation Class Reference (HTML) (PDF)
Describes the class that provides keyframe interpolation of a layer property.
Reference 2007-07-24
CALayer Class Reference (HTML) (PDF)
Describes the class that defines the basic drawing, timespace, and animation management for Core Animation.
Reference 2008-03-10
CALayoutManager Protocol Reference (HTML) (PDF)
Describes the informal protocol used by Core Animation to visually layout sublayers.
Reference 2007-07-24
CAMediaTiming Protocol Reference (HTML) (PDF)
Describes the protocol that defines the timespace of an object.
Reference 2007-07-24
CAMediaTimingFunction Class Reference (HTML) (PDF)
Describes the class that encapsulates the pacing of an animation as a timing curve.
Reference 2008-07-11
CAOpenGLLayer Class Reference (HTML) (PDF)
Describes the class that provides a context for rendering OpenGL in a layer.
Reference 2008-03-11
CAPropertyAnimation Class Reference (HTML) (PDF)
Describes the abstract class for interpolating the value of a layer property during animation.
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 the class that allows Core Animation rendering to a CGContext.
Reference 2008-04-30
CAScrollLayer Class Reference (HTML) (PDF)
Describes the class that displays a portion of a layer that's too large to be displayed in its entirety.
Reference 2007-07-24
CATextLayer Class Reference (HTML) (PDF)
Describes the class that simplifies rendering text in a layer.
Reference 2007-12-11
CATiledLayer Class Reference (HTML) (PDF)
Describes the class that simplifies rendering large image layers.
Reference 2007-07-24
CATransaction Class Reference (HTML) (PDF)
Describes the class that provides nested transaction support for Core Animation.
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 the API for supporting Cocoa colors in Core Image.
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 the API for supporting Cocoa images in Core Image.
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 2007-10-31
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 2006-10-03
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 C functions that provide supporting functionality for the classes and protocols in Core Animation.
Reference 2007-07-24
Core Animation Programming Guide (HTML) (PDF)
Introduces the main components and services of Core Animation.
Guides 2008-05-06
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 Objective-C API for Core Animation.
Reference 2007-10-31
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
Custom Cocoa OpenGL (HTML) (DMG) (ZIP)
Usable as a starting point for Cocoa OpenGL applications needing a custom version of NSOpenGLView.
Sample Code 2003-10-27
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
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
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
IKFilterBrowserView Class Reference (HTML) (PDF)
Describes the class that supports browsing Core Image filters.
Reference 2006-12-06
IKFilterCustomUIProvider Protocol Reference (HTML) (PDF)
Descibes the protocol that defines a method for providing a view for a filter.
Reference 2006-12-07
IKFilterUIView Class Reference (HTML) (PDF)
Describes the class that provides a user interface for Core Image filters.
Reference 2006-12-06
IKImageBrowserDataSource Protocol Reference (HTML) (PDF)
Describes the informal protocol used to access the data source associated with an image browser view.
Reference 2007-07-17