Member Login Log In | Not a Member? Contact ADC
Jump To:
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
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.
Carbon, Games, Quartz Release Note 2008-04-08
AGL Changes for Mac OS X Leopard (v. 10.5) (HTML)
QA1523: This Q&A describes the new and deprecated APIs for Apple OpenGL (AGL)
Carbon, Games, OpenGL Technical Q&A 2008-01-04
AGL Reference (HTML) (PDF)
Describes the Apple graphics library for Carbon applications that use OpenGL.
Carbon, OpenGL Reference 2007-10-31
AGL Reference Update (HTML) (PDF)
Summarizes the symbols added to the AGL framework.
OpenGL Reference 2007-07-18
aglClipBufferRect (HTML) (DMG) (ZIP)
Shows the use of clip regions and buffer rects in AGL.
Carbon, OpenGL Sample Code 2003-01-14
AGLSurfaceTexture (HTML) (DMG) (ZIP)
Example of render to texture/texture from surface using aglSurfaceTexture.
Carbon, OpenGL Sample Code 2003-07-07
Animation Overview (HTML) (PDF)
Describes the animation facilities provided by Mac OS X.
Carbon, Cocoa, Games, Quartz Guides 2008-04-08
Animation Programming Guide for Cocoa (HTML) (PDF)
Describes how to use Cocoa animation objects to enhance user interface transitions.
Cocoa Guides 2006-05-23
Apple Game Sprockets Reference (HTML) (PDF)
Deprecated - Describes the programming interface defined by Game Sprockets. Replaced by Quartz Display Services.
Carbon Reference 2006-07-13
Apple RGB and Generic RGB profiles explained (HTML)
QA1430: Discusses use of the Apple RGB and Generic RGB profiles for untagged data on Mac OS X
ColorSync Technical Q&A 2005-10-17
Apple Type Services for Fonts Programming Guide (HTML) (PDF)
Explains how to access fonts using the ATS-based font management API. Includes implementing the Fonts window.
Typography Guides 2007-12-11
Apple Type Services for Fonts Reference (HTML) (PDF)
Describes the C API for ATS-based font access and management.
Typography Reference 2007-12-11
Application Kit Framework Reference (HTML) (PDF)
Describes the Cocoa Objective-C API for the Application Kit framework.
Cocoa Reference 2007-10-31
Application Services Framework Reference (HTML) (PDF)
Describes the API for a number of services--such as Quartz 2D and ATSUI--that are essential to Carbon applications.
General Reference 2007-10-31
Application Services Reference Update (HTML) (PDF)
Summarizes the symbols added to the Application Services framework.
Carbon Reference 2007-07-18
ATSUI Programming Guide (HTML) (PDF)
Explains how to lay out, process, and draw Unicode text.
Carbon, Typography Guides 2007-07-10
ATSUI Reference (HTML) (PDF)
Describes the C API for rendering Unicode-encoded text with advanced typographic features.
Carbon, Typography Reference 2007-06-28
Availability of Quartz Composer Patches in Web Kit (HTML)
QA1505: Details which Quartz Composer patches are available in Web Kit
Carbon, Cocoa, Quartz Technical Q&A 2007-03-05
BasicCocoaAnimations (HTML) (DMG) (ZIP)
"BasicCocoaAnimations" demonstrates the use of the animator proxy to easily animate Cocoa views and windows.
Cocoa Sample Code 2007-06-11
BlitNoVBL (HTML) (DMG) (ZIP)
Shows how to draw directly to the screen without syncing to the VBL of the monitor.
Hardware & Drivers, Performance, Quartz Sample Code 2003-01-14
BlitVBL (HTML) (DMG) (ZIP)
Shows how to have Mac OS X try its best to sync to the VBL for you.
Hardware & Drivers, Performance, Quartz Sample Code 2003-01-14
BoingX (HTML) (DMG) (ZIP)
Shows off using Quartz Extreme to provide borderless OpenGL content on the desktop.
Cocoa, OpenGL 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.
General, OpenGL Articles 2007-12-11
Building WingNuts in Xcode with OpenGL: Freeverse Creates a Great Mac-only Game (HTML)
Read how Freeverse created their award-winning Mac-only game, WingNuts 2, using Core Image, Interface Builder, Xcode, and OpenGL.
Games, OpenGL Articles 2007-05-15
CAAction Protocol Reference (HTML) (PDF)
Describes the protocol used by objects to respond to actions initiated by a layer.
Cocoa, Quartz Reference 2007-07-24
CAAnimation Class Reference (HTML) (PDF)
Describes the abstract class that manages the timing and pacing of an animation.
Cocoa, Quartz Reference 2007-10-31
CAAnimationGroup Class Reference (HTML) (PDF)
Describes the class that groups multiple animations into a single animation.
Cocoa, Quartz Reference 2008-03-11
CABasicAnimation Class Reference (HTML) (PDF)
Describes the class that provides basic interpolation of a layer property.
Cocoa, Quartz Reference 2007-07-24
CAConstraint Class Reference (HTML) (PDF)
Describes the class that defines a single geometric constraint between two layers.
Cocoa, Quartz Reference 2007-07-24
CAConstraintLayoutManager Class Reference (HTML) (PDF)
Describes the class that provides constraint-based relative layout to a layer's sublayers.
Cocoa, Quartz Reference 2007-12-11
CAKeyframeAnimation Class Reference (HTML) (PDF)
Describes the class that provides keyframe interpolation of a layer property.
Cocoa, Quartz Reference 2007-07-24
CALayer Class Reference (HTML) (PDF)
Describes the class that defines the basic drawing, timespace, and animation management for Core Animation.
Cocoa, Quartz Reference 2008-03-10
CALayoutManager Protocol Reference (HTML) (PDF)
Describes the informal protocol used by Core Animation to visually layout sublayers.
Cocoa, Quartz Reference 2007-07-24
CalcCMask and SeedCFill in Carbon (HTML) (日本語 HTML)
QD62: Explains how to use CalcCMask and SeedCFill in Carbon even though Carbon doesn't support OpenPort.
Carbon Technical Q&A 2000-11-08
CAMediaTiming Protocol Reference (HTML) (PDF)
Describes the protocol that defines the timespace of an object.
Cocoa, Quartz Reference 2007-07-24
CAMediaTimingFunction Class Reference (HTML) (PDF)
Describes the class that encapsulates the pacing of an animation as a timing curve.
Cocoa, Quartz Reference 2007-07-24
CAOpenGLLayer Class Reference (HTML) (PDF)
Describes the class that provides a context for rendering OpenGL in a layer.
Cocoa, Quartz Reference 2008-03-11
CAPropertyAnimation Class Reference (HTML) (PDF)
Describes the abstract class for interpolating the value of a layer property during animation.
Cocoa, Quartz Reference 2007-07-24
Carbon Full Screen Conundrums (HTML)
QA1068: Describes the available Mac OS X DrawSprocket services.
Games Technical Q&A 2001-08-20
Carbon GLSnapshot (HTML) (DMG) (ZIP)
Demonstrates the use of OpenGL with Quicktime to capture OpenGL content.
OpenGL Sample Code 2003-07-07
Carbon Printing Reference (HTML) (PDF)
Describes the C API used by Carbon applications to provide a user interface for printing.
Printing Reference 2007-07-24
Carbon Resolution Independence Release Notes (HTML)
Carbon Release Note 2005-04-29
CarbonCocoaCoreImageTab (HTML) (DMG) (ZIP)
Carbon-based application creates a Cocoa-based web window which used CoreImage filters to transition between tabbed WebViews
Carbon, Cocoa Sample Code 2006-07-25
CarbonQuartzComposer_TV (HTML) (DMG) (ZIP)
Demonstrates how to integrate Cocoa based QuartzComposer window into a Carbon based application
Cocoa, Video Sample Code 2006-10-02
CarbonQuartzDrawingWPrinting (HTML) (DMG) (ZIP)
Deprecated - Demonstrates mixing QuickDraw and Quartz 2D drawing both on screen and during printing.
Carbon, Printing, Quartz Sample Code 2003-01-14
CarbonSketch (HTML) (DMG) (ZIP)
Core Graphics only example of a Sketch application implemented with HIToolbox. Shows 1x1-CGBitmapContext for hit-testing, printing.
Carbon, Quartz Sample Code 2005-03-23
CARenderer Class Reference (HTML) (PDF)
Describes the class that allows Core Animation rendering to a CGContext.
Cocoa, Quartz Reference 2007-07-24
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.
Cocoa, Quartz Reference 2007-07-24
CATextLayer Class Reference (HTML) (PDF)
Describes the class that simplifies rendering text in a layer.
Cocoa, Quartz Reference 2007-12-11
CATiledLayer Class Reference (HTML) (PDF)
Describes the class that simplifies rendering large image layers.
Cocoa, Quartz Reference 2007-07-24
CATransaction Class Reference (HTML) (PDF)
Describes the class that provides nested transaction support for Core Animation.
Cocoa, Quartz Reference 2007-07-24
CATransition Class Reference (HTML) (PDF)
Describes the class that provides transition animations to layers.
Cocoa, Quartz Reference 2007-10-31
CGAffineTransform Reference (HTML) (PDF)
Describes the functions for creating and applying affine transformations.
Quartz Reference 2008-04-08
CGBitmapContext Reference (HTML) (PDF)
Describes the Quartz functions that relate to bitmap contexts.
Quartz Reference 2007-06-28
CGBitmapContextCreate Supported Color Spaces (HTML)
QA1037: Lists the color space and alpha info combinations currently supported by CGBitmapContextCreate.
Carbon, Cocoa, Games, Quartz Technical Q&A 2007-07-18
CGColor Reference (HTML) (PDF)
Describes the opaque data type for representing a color in a color space.
Quartz Reference 2006-12-22
CGColorSpace Reference (HTML) (PDF)
Describes the opaque data type for representing a color space.
Quartz Reference 2007-07-18
CGContext Bounds (HTML)
QA1048: Explains how to determine the bounds of a CGContext.
Carbon, Printing, Quartz Technical Q&A 2001-07-02
CGContext Reference (HTML) (PDF)
Describes the functions that create and operate on destinations for drawing operations.
Quartz Reference 2008-04-08
CGContextAddLineToPoint, CGContextAddCurveToPoint, et. al. (HTML)
QA1049: Explains why the CGContextAddXYZ APIs don't draw anything immediately.
Carbon, Cocoa, Printing, Quartz Technical Q&A 2001-07-02
CGContextClosePath (HTML)
QA1046: Explains when you should call CGContextClosePath.
Carbon, Cocoa, Printing, Quartz Technical Q&A 2001-10-02
CGDataConsumer Reference (HTML) (PDF)
Describes the opaque data type that gets data into a Quartz application.
Quartz Reference 2006-12-22
CGDataProvider Reference (HTML) (PDF)
Describes the opaque data type that writes data from a Quartz application.
Quartz Reference 2008-04-08
CGDrawPicture (HTML) (DMG) (ZIP)
Deprecated - Shows how to use the QDPictDrawToCGContext API.
Cocoa, Quartz Sample Code 2003-01-14
CGFont Reference (HTML) (PDF)
Describes the opaque data type for creating and using Quartz fonts.
Quartz Reference 2007-07-17
CGFunction Reference (HTML) (PDF)
Describes the opaque type that represents an abstract function.
Quartz Reference 2006-12-22
CGGamma (HTML) (DMG) (ZIP)
Shows how to use CGDirectDisplay calls to manipulate display gamma tables.
Games, Quartz Sample Code 2003-01-14
CGGeometry Reference (HTML) (PDF)
Describes structures and functions that represent points, rectangles, and sizes.
Quartz Reference 2008-04-08
CGGLContext Reference (HTML) (PDF)
Describes the opaque type for rendering Quartz images to an OpenGL context.
Quartz Reference 2006-12-22
CGGradient Reference (HTML) (PDF)
Describes the functions that create and operate on Quartz gradient objects.
Quartz Reference 2007-05-01
CGImage Reference (HTML) (PDF)
Describes the opaque type for representing image data.
Quartz Reference 2008-04-08
CGImageDestination Reference (HTML) (PDF)
Describes the opaque type for writing image data.
Quartz Reference 2007-05-04
CGImageProperties Reference (HTML) (PDF)
Describes property constants for source and destination images.
Carbon, Quartz Reference 2007-10-31
CGImageRef contents are immutable (HTML) (日本語 HTML)
QA1276: Explains that CGImageRef contents are considered immutable once created.
Carbon, Cocoa, Quartz Technical Q&A 2003-07-17
CGImageSource Reference (HTML) (PDF)
Describes the opaque type for reading image data.
Quartz Reference 2007-12-04
CGL Reference (HTML) (PDF)
Describes the C API for the lowest-level accessible interface for the Apple implementation of the OpenGL graphics system.
Carbon, OpenGL Reference 2007-06-28
CGLayer Reference (HTML) (PDF)
Describes the opaque type for creating and drawing to a Quartz layer.
Quartz Reference 2006-12-22
CGPath Reference (HTML) (PDF)
Describes the opaque type for creating path objects.
Quartz Reference 2006-12-22
CGPattern Reference (HTML) (PDF)
Describes the opaque type for creating patterns for stroking or filling a graphics path.
Quartz Reference 2006-12-22
CGPDFArray Reference (HTML) (PDF)
Describes the functions that operate on an array structure in a PDF document.
Quartz Reference 2006-12-22
CGPDFContentStream Reference (HTML) (PDF)
Describes the opaque data type that accesses data which describes the appearance of a PDF page.
Quartz Reference 2006-12-22
CGPDFContext Reference (HTML) (PDF)
Describes the functions that operate on drawing destinations for PDF content.
Quartz Reference 2007-10-31
CGPDFDictionary Reference (HTML) (PDF)
Describes the CGPDFDictionary opaque type.
Quartz Reference 2006-12-22
CGPDFDocument Reference (HTML) (PDF)
Describes the CGPDFDocument opaque type.
Quartz Reference 2006-12-22
CGPDFObject Reference (HTML) (PDF)
Describes the opaque type that represents PDF objects in a PDF document.
Quartz Reference 2006-12-22
CGPDFOperatorTable Reference (HTML) (PDF)
Describes the opaque data type that stores callback functions for PDF operators.
Quartz Reference 2006-12-22
CGPDFPage Reference (HTML) (PDF)
Describes the opaque type that represents a page in a PDF document.
Quartz Reference 2008-04-08
CGPDFScanner Reference (HTML) (PDF)
Describes the opaque data type that parses a PDF content stream and invokes callbacks for PDF operators in the stream.
Quartz Reference 2006-12-22
CGPDFStream Reference (HTML) (PDF)
Describes the functions that operate on a PDF dictionary that describes a sequence of bytes.
Quartz Reference 2006-12-22
CGPDFString Reference (HTML) (PDF)
Describes the functions that operate on strings in a PDF document.
Quartz Reference 2006-12-22
CGPSConverter Reference (HTML) (PDF)
Describes the opaque type that converts PostScript data to PDF data.
Quartz Reference 2006-12-22
CGShading Reference (HTML) (PDF)
Describes the functions that create and operate on Quartz shading objects.
Quartz Reference 2006-12-22
CIAnnotation (HTML) (DMG) (ZIP)
Image annotation application using Core Image Filters. Demonstrates creation and usage of Image Units.
Cocoa, OpenGL, Quartz Sample Code 2005-08-01
CIColor Additions Reference (HTML) (PDF)
Describes the API for supporting Cocoa colors in Core Image.
Cocoa, Quartz Reference 2006-05-23
CIColor Class Reference (HTML) (PDF)
Describes the class used to manage color values and color spaces for Core Image filters.
Cocoa, Games, Quartz 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
Carbon, Cocoa, Games, Quartz 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.
Cocoa, Games, Quartz Reference 2007-03-16
CIFilter Class Reference (HTML) (PDF)
Describes the class that processes image data and produces a Core Image image as output.
Cocoa, Games, Quartz Reference 2007-12-11
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