Jump To:
Leopard Reference Library
Graphics and imaging on Mac OS X consists of three main developer technologies: Quartz, an advanced drawing engine and windowing environment; OpenGL, an Apple implementation of this 3D graphics industry-standard API; and QuickTime, the cross-platform multimedia technology for handling video, sound, and text.

A guided introduction for developers new to Mac OS X graphics and imaging.   Essential information for developers working with graphics and imaging.   C and Objective-C API references organized by framework.
Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Topic
Sort by
Resource Type
Sort by
Date
CIFilter Core Animation Additions (HTML) (PDF)
Describes the category that extends Core Image filters for use with Layer Kit.
Cocoa, Quartz Reference 2007-07-24
CIFilter Image Kit Additions (HTML) (PDF)
Describes the category that extends Core Image filters for use with Image Kit.
Cocoa, Quartz Reference 2006-12-06
CIFilterGenerator Class Reference (HTML) (PDF)
Describes the class that supports chaining together image processing filters.
Cocoa, Quartz 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.
Cocoa, Games, Quartz Reference 2006-12-07
CIImage Additions Reference (HTML) (PDF)
Describes additions for manipulating Cocoa images.
Cocoa, Quartz Reference 2007-06-08
CIImage Class Reference (HTML) (PDF)
Describes the class that represents an immutable Core Image image.
Cocoa, Games, Quartz Reference 2007-10-31
CIImageAccumulator Class Reference (HTML) (PDF)
Describes the class that enables feedback-based image processing.
Cocoa, Games, Quartz 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.
Cocoa, Games, Quartz Reference 2006-12-05
CIKernel Class Reference (HTML) (PDF)
Describes the class that operates on individual pixels using a kernel routine.
Cocoa, Games, Quartz Reference 2006-12-05
CIPlugIn Class Reference (HTML) (PDF)
Describes the class that is responsible for loading image units.
Cocoa, Games, Quartz Reference 2006-12-05
CIPlugInRegistration Protocol Reference (HTML) (PDF)
Describes the protocol used to load Core Image image units.
Cocoa, Games, Quartz 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.
Cocoa, Games, Quartz Reference 2006-12-07
CITransitionSelectorSample2 (HTML) (DMG) (ZIP)
Showing all available Core Image transitions in a scrollable NSOpenGLView
Cocoa, OpenGL, Quartz Sample Code 2006-09-18
CIVector Class Reference (HTML) (PDF)
Describes the class used to pass parameter values to Core Image filters.
Cocoa, Games, Quartz Reference 2006-12-07
CIVideoDemoGL (HTML) (DMG) (ZIP)
CIVideoDemoGL demonstrates using Core Image with QuickTime and Core Video
QuickTime, Video Sample Code 2007-10-03
Coalesced Updates (HTML)
TN2133: How to achieve the maxium frame rate in your Mac OS X application
Performance Technical Notes 2006-01-20
Cocoa CG aliasing demo (HTML) (DMG) (ZIP)
Shows how to draw both aliased and anti-aliased text and graphics using Quartz and Cocoa.
Cocoa, Quartz 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.
Cocoa, Quartz Sample Code 2003-07-17
Cocoa Drawing Guide (HTML) (PDF)
Explains how to use Cocoa to draw your application's user interface.
Cocoa Guides 2009-01-06
Cocoa OpenGL (HTML) (DMG) (ZIP)
Demonstrates using Cocoa with OpenGL, including window setup and event handling.
OpenGL Sample Code 2007-10-22
Cocoa PDE with Carbon Printing (HTML) (DMG) (ZIP)
Application that uses a Cocoa PDE along with the Carbon Printing APIs.
Printing Sample Code 2007-07-27
CocoaDVDPlayer (HTML) (DMG) (ZIP)
Demonstrates how to use DVD Playback Services to play DVD-Video media.
Video Sample Code 2005-11-04
CocoaSlides (HTML) (DMG) (ZIP)
An image browser written using AppKit's Core Animation-based compositing and animation functionality
Cocoa, Quartz Sample Code 2007-11-02
CollectPictColors (HTML) (DMG) (ZIP)
Deprecated - Uses Picture Utilities package and KnowsPict application to demonstrate collecting colors used by Pict resources.
Carbon Sample Code 2003-10-10
Color Management Overview (HTML) (PDF)
Introduces basic concepts and defines color spaces.
Carbon, Cocoa, ColorSync Guides 2005-07-07
Color Picker Manager Reference (HTML) (PDF)
Describes the C API used in Classic Mac OS to solicit color choices from users.
Carbon Reference 2007-07-02
Color Programming Topics for Cocoa (HTML) (PDF)
Explains how applications specify colors and how users choose colors in Cocoa.
Cocoa Guides 2009-03-04
ColorBars (HTML) (DMG) (ZIP)
Shows how to enumerate, select, capture, manipulate, draw to, and release displays using the CGDirectDisplay API.
Carbon, Cocoa, Quartz Sample Code 2003-01-14
ColorMatching (HTML) (DMG) (ZIP)
Performs simple color matching of images using ColorSync or the QuickTime 6.4 Graphics Importers.
Cocoa, ColorSync Sample Code 2003-12-18
ColorSync Color Matching on Intel-based Macs (HTML)
QA1464: Describes special considerations for byte ordering when performing ColorSync color matching on Intel-based Macs
ColorSync Technical Q&As 2006-03-16
ColorSync Manager Reference (HTML) (PDF)
Describes the C API for ColorSync, the platform-independent color management system in Mac OS X.
Carbon, ColorSync Reference 2005-06-04
ColorSync on Mac OS X (HTML) (日本語 HTML)
TN2035: Describes ColorSync, which is fundamentally integrated into Mac OS X.
ColorSync, Printing, Quartz Technical Notes 2005-08-10
ColorSyncDevices (HTML) (DMG) (ZIP)
Demonstrates how to use the new ColorSync Device Support APIs introduced with Mac OS X.
Carbon, ColorSync Sample Code 2003-01-14
Compiling X11 / OpenGL applications on Mac OS X v.10.5 Leopard (HTML)
QA1567: Trying to compile X11 / OpenGL application on Mac OS X v.10.5 result on "ld: cycle in dylib re-exports with /usr/X11R6/lib/libGL.dylib""
OpenGL Technical Q&As 2007-10-30
Compression Sequence APIs - codecErr returned when compressing with H.264 (HTML)
QA1470: Describes why ICM Compression Sequence APIs cannot be used to encode to H.264
QuickTime Technical Q&As 2006-11-15
Compression Sessions - Configuring codec quality settings (HTML)
QA1444: Discusses how to set encoding quality for a Compression Sequence
QuickTime Technical Q&As 2005-10-17
Context Sharing Tips (HTML) (日本語 HTML)
QA1248: How to correctly share OpenGL contexts and what the limits on this sharing are.
Carbon, Games, OpenGL Technical Q&As 2005-02-07
Converting RGB Colors to a Palette Index (HTML)
Deprecated - QD21: Explains how to convert RGB colors into the palette index created by an application.
Carbon Technical Q&As 1995-09-15
Core Animation Cookbook (HTML) (PDF)
Demonstrates common Core Animation tasks.
Cocoa, Quartz Guides 2008-03-11
Core Animation Function Reference (HTML) (PDF)
Describes the C functions that support Core Animation.
Cocoa, Quartz Reference 2007-07-24
Core Animation Programming Guide (HTML) (PDF)
Introduces the main components and services of Core Animation.
Cocoa, Quartz 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.
Cocoa, Games, Quartz 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
Cocoa, QuickTime Sample Code 2007-09-26
Core Animation Reference Collection (HTML) (PDF)
Describes the API for Core Animation.
Cocoa, Quartz 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.
Cocoa, Quartz Release Notes 2007-05-31
Core Graphics Reference Collection (HTML) (PDF)
Describes the API for Quartz 2D drawing, Quartz Display Services, and Quartz Events Services.
Quartz Reference 2006-12-11
Core Image Filter Reference (HTML) (PDF)
Describes the built-in image processing filters available through Core Image.
Quartz Reference 2008-07-11
Core Image Kernel Language Reference (HTML) (PDF)
Describes the symbols for writing image-processing kernels.
Carbon, Cocoa, Games, Quartz 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.
Carbon, Cocoa, Games, Quartz Guides 2008-06-09
Core Image Reference Collection (HTML) (PDF)
Describes the Objective-C API for using and creating filters for image processing.
Cocoa, Games, Quartz Reference 2006-12-05
Core Printing Reference (HTML) (PDF)
Describes the C API that provides an abstraction layer for application printing.
Printing Reference 2007-07-24
Core Video - Available Pixel Formats (HTML)
QA1501: Discusses how to determine all the pixel format types and format descriptions known to Core Video.
QuickTime Technical Q&As 2007-01-23
Core Video Programming Guide (HTML) (PDF)
Describes Core Video concepts and how to obtain and manipulate video frames using the Core Video API.
Video Guides 2007-04-03
Core Video Reference (HTML) (PDF)
Describes the C API for obtaining and manipulating individual video frames.
Quartz, Video Reference 2007-03-22
CoreImageGLTextureFBO (HTML) (DMG) (ZIP)
Making OpenGL textures with Core Image
Games, OpenGL, Quartz Sample Code 2008-07-30
Creating an OpenGL texture from an NSView (HTML) (日本語 HTML)
QA1325: Addresses the issues involved with using an NSView as the source data for an OpenGL texture.
OpenGL Technical Q&As 2004-02-13
Creating color spaces that ensure color matching. (HTML)
QA1396: How to create color spaces that ensure color matching.
ColorSync, Quartz Technical Q&As 2005-10-04
Creating Gray Scaled Images > 8 bits (HTML) (日本語 HTML)
Deprecated - QD51: Shows how to create gray-scaled images at resolutions greater than 8 bits for display.
Carbon Technical Q&As 1997-11-17
Creating Printing Presets for iPhoto (HTML) (PDF)
Rules for creating and installing printer-specific collections of settings. Includes a sample file.
Printing Guides 2005-07-07
Creating Sub GWorlds using QTNewGWorldFromPtr (HTML)
QA1014: Using QTNewGWorldFromPtr to create sub GWorlds which reference the pixel data of other GWorlds.
QuickTime Technical Q&As 2001-03-20
CTMClip (HTML) (DMG) (ZIP)
Deprecated - Shows how to manipulate the Quartz 2D Current Transform Matrix (CTM) for image drawing with clipping.
Carbon, Cocoa, Quartz 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.
Carbon, Cocoa, Quartz Sample Code 2003-01-14
CubePuzzle (HTML) (DMG) (ZIP)
Models a Rubik's Cube using Cocoa and OpenGL
Games, OpenGL Sample Code 2003-04-21
Current GDevice Dependencies (HTML) (日本語 HTML)
QA1115: Describes potential problems with creating windows or ports when the current GDevice isn't the main device.
Carbon, Games Technical Q&As 2002-02-13
Debugging Graphics with QuartzDebug (HTML) (日本語 HTML)
QA1236: Explains how to use QuartzDebug to debug graphics issues.
Quartz Technical Q&As 2006-01-12
Decompression Sessions - Setting codec accuracy and field mode (HTML)
QA1460: Describes how to set codec accuracy and field mode options when creating a decompression sessions.
QuickTime Technical Q&As 2006-01-12
Difference between using Restart or Shut Down in the Finder's Special menu in Open Firmware (HTML) (日本語 HTML)
HW47: Explains the differences between using Restart or Shut Down on Open Firmware
Hardware & Drivers Technical Q&As 1999-02-15
Disabling Processor Cores on a Multi-Core System (HTML) (日本語 HTML)
QA1141: Describes how to disable processor cores on a multi-core system for testing purposes.
Performance Technical Q&As 2008-09-16
Display Manager Reference (HTML) (PDF)
Deprecated - Describes the C API for dynamically changing the arrangement and display modes of attached monitors. Replaced by Quartz Display Services.
Carbon Reference 2007-12-04
Draw Pixels (HTML) (DMG) (ZIP)
An example of the correct use of DrawPixels.
OpenGL Sample Code 2003-07-16
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Carbon, Cocoa, Printing, Quartz Technical Q&As 2001-07-02
Drawing Performance Guidelines (HTML) (PDF)
Guidelines for improving the speed of drawing code.
Performance, Tools Guides 2006-04-04
Driving OpenGL Rendering Loops (HTML)
QA1385: Using Core Video display links (CVDisplayLink) or Cocoa timers (NSTimer) to drive an OpenGL rendering loop
Cocoa, OpenGL, Performance Technical Q&As 2009-05-01
DVD Playback Framework Reference (HTML) (PDF)
Describes the DVD Playback framework, which supports adding DVD playback features to applications.
Video Reference 2007-06-28
DVD Playback Services Programming Guide (HTML) (PDF)
Explains how to use DVD Playback Services to add DVD-Video playback features to applications.
Video Guides 2006-03-08
Efficiently using Quartz Composer compositions with QuickTime (HTML)
TN2145: Describes how to best use Quartz Composer compositions in a QuickTime environment.
Quartz, QuickTime Technical Notes 2005-07-05
Embedding ICC Profiles (HTML) (日本語 HTML)
CS06: Gives downloads for documents describing embedding ICC profiles in EPS, PICT, and TIFF files.
ColorSync Technical Q&As 1996-02-09
Enabling multi-threaded execution of the OpenGL framework (HTML)
TN2085: OpenGL on Intel-based Macintosh systems can use multi-threading to increase the performance of CPU-bound OpenGL-based applications.
OpenGL Technical Notes 2006-11-07
Enhance Your Dashboard Widgets with Quartz Composer Compositions (HTML)
Learn to create a composition and embed it easily in your widgets.
Quartz Articles 2007-02-13
Ensuring hardware accelerated rendering for your OpenGL application (HTML)
QA1502: Using the NoRecovery pixel format attribute and how to check whether vertex and fragment processing is executed on the GPU or CPU
Games, OpenGL Technical Q&As 2007-07-18
Error -151 and NewGWorld (HTML)
Deprecated - QD18: Explains what the error code -151 means when in NewGWorld.
Carbon Technical Q&As 1995-09-15
Exporting Movies for iPod, Apple TV and iPhone (HTML)
TN2188: Discusses the use of the iPod, Apple TV and iPhone QuickTime export components.
QuickTime Technical Notes 2009-04-30
Extending Printing Dialogs (HTML) (PDF)
A guide to developing printing dialog extensions, including basic concepts and a documented Carbon-based sample project.
Printing Guides 2006-10-03
Extracting DV Fields using QTNewGWorldFromPtr (HTML)
QA1017: Describes using QTNewGWorldFromPtr to access individual fields contained within a frame of DV source.
QuickTime Technical Q&As 2001-03-20
FBOBunnies (HTML) (DMG) (ZIP)
Demonstrates how to use framebuffer objects (FBO)
OpenGL, Performance Sample Code 2006-09-18
Final Cut Pro - The 'r4fl' Pixel Format (HTML)
TN2201: Describes the 'r4fl' pixel format used by Final Cut Pro to support greater than 8-bit rendering.
QuickTime Technical Notes 2008-08-06
Finding an NSView's current magnification. (HTML)
QA1346: How to discover the current magnification (zoom level) of any NSView.
Cocoa, Quartz Technical Q&As 2005-03-08
Font Handling (HTML) (PDF)
Explains the Cocoa font management system and how users select fonts.
Typography Guides 2008-02-08
Font Manager Reference (HTML) (PDF)
Describes the C API for QuickDraw-based font access and management.
Carbon, Typography Reference 2007-12-11
The Font Panel for Carbon API (HTML) (日本語 HTML)
TN2058: The API to display and interact with the Font Panel from Carbon applications on Mac OS X.
Typography Technical Notes 2006-10-26
Fonts Panel Reference (HTML) (PDF)
Describes the C API for providing a Fonts window in a Carbon application.
Carbon, Typography Reference 2007-02-26
FontSync Reference (HTML) (PDF)
Describes the C API for content-based font identification and comparison.
Carbon, Typography Reference 2002-10-01
Fractal Performance (HTML) (DMG) (ZIP)
Three fractal applications that show various bottlenecks and how they can be fixed.
Java, Performance Sample Code 2006-04-17
FullScreen (HTML) (DMG) (ZIP)
Shows how to use BeginFullScreen and EndFullScreen to enter and exit full-screen mode.
Carbon Sample Code 2003-01-14
Gathering all PostScript Printer Descriptions (PPDs) (HTML)
QA1529: Describes a work around for an issue in PMCopyAvailablePPDs on Mac OS X 10.4 and below
Printing Technical Q&As 2008-08-08
GeekGameBoard (HTML) (DMG) (ZIP)
Shows how to use Core Animation for the user interface of a board or card game.
Cocoa, Games, Performance, Quartz Sample Code 2007-12-19
GetPortBitMapForCopyBits (HTML) (日本語 HTML)
Deprecated - QD61: Describes the proper usage of GetPortBitMapForCopyBits.
Carbon Technical Q&As 2000-11-08
GetProcAdress and OpenGL Entry Points (HTML) (日本語 HTML)
QA1188: Technique for finding function pointers for OpenGL entry points in Cocoa and Carbon
Carbon, Games, OpenGL Technical Q&As 2002-11-25
Getting images in and out from Quartz Composer compositions (HTML)
TN2143: Describes how to efficiently pass images into and out of Quartz Composer
Cocoa, Quartz Technical Notes 2005-10-04
Getting the name of a profile (HTML) (日本語 HTML)
QA1205: Shows how to programmatically get the name of a ColorSync profile.
ColorSync Technical Q&As 2002-10-25