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
PDFAnnotationMarkup Class Reference (HTML) (PDF)
Describes the class for manipulating markup annotations (highlighting, underlining, and so on) in PDF documents.
Reference 2006-05-23
PDFAnnotationPopup Class Reference (HTML) (PDF)
Describes the class for manipulating pop-up menu annotations in a PDF document.
Reference 2007-12-11
PDFAnnotationSquare Class Reference (HTML) (PDF)
Describes the class for manipulating square annotations in PDF documents.
Reference 2006-05-23
PDFAnnotationStamp Class Reference (HTML) (PDF)
Describes the class for displaying content to look as if it is "stamped" onto a PDF page.
Reference 2007-12-11
PDFAnnotationText Class Reference (HTML) (PDF)
Describes the class for manipulating text annotations in PDF documents.
Reference 2007-12-11
PDFAnnotationTextWidget Class Reference (HTML) (PDF)
Describes the class for manipulating editable text fields in PDF documents.
Reference 2007-12-11
PDFBorder Class Reference (HTML) (PDF)
Describes the class for creating and manipulating borders around annotations in PDF documents.
Reference 2006-05-23
PDFDestination Class Reference (HTML) (PDF)
Describes the class for describing specific destinations in PDF documents.
Reference 2007-12-11
PDFDocument Class Reference (HTML) (PDF)
Describes the class for creating and manipulating PDF files.
Reference 2007-12-11
PDFKitLinker2 (HTML) (DMG) (ZIP)
Demonstrates many aspects of PDFKit including navigation, display modes, searching, and PDFView subclassing.
Sample Code 2005-08-10
PDFOutline Class Reference (HTML) (PDF)
Describes the class for creating and manipulating structure outlines in PDF documents.
Reference 2007-12-11
PDFPage Class Reference (HTML) (PDF)
Describes the class for handling specific pages in PDF documents.
Reference 2007-12-11
PDFThumbnailView Class Reference (HTML) (PDF)
Describes the class for managing the thumbnail view in a PDF document.
Reference 2007-12-11
PDFView (HTML) (DMG) (ZIP)
Shows how to display or print a multi-page PDF document and scroll an NSscrollview's contents by dragging.
Sample Code 2003-01-23
PictureTaker (HTML) (DMG) (ZIP)
Demonstrates the PictureTaker in a basic Cocoa application
Sample Code 2007-04-02
Polygons (HTML) (DMG) (ZIP)
Demonstrates the NSBezierPath class, as well as the manipulation of NSView's coordinate space for convenience.
Sample Code 2003-01-14
Printing Programming Topics for Cocoa (HTML) (PDF)
Explains how to support printing in Cocoa applications.
Guides 2006-06-28
QCComposition Class Reference (HTML) (PDF)
Describes the class that represents a Quartz Composer composition.
Reference 2007-06-26
QCCompositionParameterView Class Reference (HTML) (PDF)
Describes the class used to edit the input parameters of a composition in a view.
Reference 2007-05-09
QCCompositionParameterViewDelegate Protocol Reference (HTML) (PDF)
Describes the protocol for responding to changes in a QCCompositionParameterView object.
Reference 2007-05-09
QCCompositionPickerPanel Class Reference (HTML) (PDF)
Describes the class used to display a utility window for browsing and selecting a composition.
Reference 2007-05-09
QCCompositionPickerView Class Reference (HTML) (PDF)
Describes the class used to display a view for browsing and selecting a composition.
Reference 2007-05-09
QCCompositionPickerViewDelegate Protocol Reference (HTML) (PDF)
Describes the protocol for responding to changes in a QCCompositionPickerView object.
Reference 2007-05-09
QCCompositionRenderer Protocol Reference (HTML) (PDF)
Describes the methods for passing and retrieving data from the ports of a composition.
Reference 2008-04-08
QCCompositionRepository Class Reference (HTML) (PDF)
Describes the class that represents a system-wide, central repository of Quartz Composer compositions.
Reference 2007-05-09
QCFundamentals (HTML) (DMG) (ZIP)
Demonstrates Coordinate, Interpolation, and Iterative systems in Quartz Composer with an amusing animation
Sample Code 2006-08-07
QCGalaxy (HTML) (DMG) (ZIP)
Demonstrates use of Particle Systems and Core Image Filters in Quartz Composer
Sample Code 2006-08-07
QCPlugIn Class Reference (HTML) (PDF)
Describes the class used to write custom patches for Quartz Composer.
Reference 2008-04-08
QCPlugInContext Protocol Reference (HTML) (PDF)
Describes the protocol used by execution contexts.
Reference 2007-05-09
QCPlugInInputImageSource Protocol Reference (HTML) (PDF)
Describes the methods for managing image data that's input to a QCPlugIn object.
Reference 2007-07-12
QCPlugInOutputImageProvider Protocol Reference (HTML) (PDF)
Describes the methods for managing image data that's produced as output from a QCPlugIn object.
Reference 2007-05-09
QCPlugInViewController Class Reference (HTML) (PDF)
Describes the class that provides a controller object for a user interface to edit the settings for a QCPlugIn object.
Reference 2007-05-09
QCRenderer Class Reference (HTML) (PDF)
Describes the class used to load, play, and control a Quartz Composer composition to an arbitrary OpenGL context.
Reference 2007-05-09
QCView Class Reference (HTML) (PDF)
Describes the class used to load, play, and control a Quartz Composer composition to a custom NSView object.
Reference 2007-05-09
QTCoreImage101 (HTML) (DMG) (ZIP)
Demonstrates how to render a QuickTime Movie using Core Image filters and the new video pipeline.
Sample Code 2005-07-19
QTCoreVideo102 (HTML) (DMG) (ZIP)
An application demonstrating the use of QTKit, CoreVdeo, and OpenGL.
Sample Code 2008-06-06
QTCoreVideo103 (HTML) (DMG) (ZIP)
Demonstrates how to render a QuickTime Movie using OpenGL texture range and the Core Video pixel buffer pipeline.
Sample Code 2008-06-06
QTCoreVideo201 (HTML) (DMG) (ZIP)
Demonstrates how to render a QuickTime Movie using OpenGL FBO and the Core Video texture pipeline.
Sample Code 2008-06-06
QTCoreVideo202 (HTML) (DMG) (ZIP)
Demonstrates how to render a QuickTime Movie using OpenGL PBO and the Core Video pixel buffer pipeline.
Sample Code 2009-04-07
QTCoreVideo301 (HTML) (DMG) (ZIP)
Demonstrates adding of effects & filters to QuickTime Movies in realtime using GLSL shaders and the Core Video texture pipeline.
Sample Code 2009-04-07
QTtoCG (HTML) (DMG) (ZIP)
Shows how to create a CGImageRef with the proper ColorSync profile from a QuickTime image on disk.
Sample Code 2003-01-14
Quartz 2D Interpolation (HTML) (日本語 HTML)
QA1186: Explains how to control Quartz 2D's image interpolation.
Technical Q&As 2002-10-29
Quartz 2D Shadings (HTML) (DMG) (ZIP)
Shows how to use CGShading and CGGradient objects to draw simple gradients.
Sample Code 2007-08-31
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Technical Q&As 2003-02-25
Quartz 2D Transformer (HTML) (DMG) (ZIP)
Shows how to use Quartz 2D to manipulate an image
Sample Code 2007-06-21
Quartz Composer Custom Patch Programming Guide (HTML) (PDF)
Describes how to create custom patches for distribution.
Guides 2007-12-11
Quartz Composer Live DV (HTML) (DMG) (ZIP)
Shows how to export a Quartz Composer composition as a real-time DV stream on the FireWire port.
Sample Code 2005-06-01
Quartz Composer Matrix (HTML) (DMG) (ZIP)
Shows how to use Quartz Composer to display a QuickTime movie as a series of frames in a 3D world.
Sample Code 2005-06-01
Quartz Composer Offline Rendering (HTML) (DMG) (ZIP)
Shows how to render a Quartz Composer composition as a series of images using an OpenGL pBuffer.
Sample Code 2005-06-01
Quartz Composer Programming Guide (HTML) (PDF)
Describes how to used the framework to load, play, and control compositions.
Guides 2008-10-15
Quartz Composer QCTV (HTML) (DMG) (ZIP)
Shows how to build a fake TV system using Quartz Composer as the foundation motion graphics.
Sample Code 2005-07-06
Quartz Composer Reference Collection (HTML) (PDF)
Describes the Objective-C API that supports loading, playing, and controlling compositions.
Reference 2007-01-25
Quartz Composer Texture (HTML) (DMG) (ZIP)
Shows how to use a Quartz Composer composition as an OpenGL texture.
Sample Code 2005-06-01
Quartz Composer User Guide (HTML) (PDF)
Explains how to use the Quartz Composer development tool to create motion graphics compositions.
Guides 2007-07-17
Quartz Composer WWDC 2005 Composition (HTML) (DMG) (ZIP)
Shows how to build a parameterized motion graphics composition with Quartz Composer.
Sample Code 2005-06-01
Quartz Composer WWDC 2005 TextEdit (HTML) (DMG) (ZIP)
Demonstrate how to modify TextEdit's about dialog to display a Quartz Composer composition.
Sample Code 2005-06-01
Quartz Core Framework Reference (HTML) (PDF)
Describes the interfaces for Core Image and Core Video.
Reference 2008-03-12
Quartz EB (HTML) (DMG) (ZIP)
WWDC 2001 Early Bird Quartz 2D tutorial of vector drawing and PDF import/export.
Sample Code 2003-01-14
Quartz2DBasics (HTML) (DMG) (ZIP)
Carbon and Cocoa sample code demonstrating some basic usage of the Quartz 2D API
Sample Code 2006-09-11
QuartzComposerSamplePatches (HTML) (DMG) (ZIP)
A short list of new patches in Quartz Composer Mac OS X 10.5
Sample Code 2007-06-11
QuartzLines (HTML) (DMG) (ZIP)
Drawing Lines using Quartz's CGPath & CGContextStrokeLineSegments functions.
Sample Code 2005-06-01
Reducer (HTML) (DMG) (ZIP)
Simple utility for rescaling bitmapped images. Demonstrates use of Core Image, NSAnimation, view drawing redirection.
Sample Code 2005-06-06
Requirements for Quartz GL (HTML)
QA1536: Describes the requirements for enabling Quartz GL.
Technical Q&As 2008-08-08
Resolution Independence Guidelines (HTML) (PDF)
Describes resolution independence and how to start updating applications to support high-resolution monitors.
Guides 2007-05-04
Resolution Independent UI Release Notes (HTML)
Release Notes 2005-04-29
RGB Image (HTML) (DMG) (ZIP)
Demonstrates compositing to separate an NSimage into its RGB components, and how to recombine those components.
Sample Code 2003-01-14
RGB ValueTransformers (HTML) (DMG) (ZIP)
Supersedes the "RGB Image sample". Sample now uses bindings. Color separation now done in an NSValueTransformer subclass.
Sample Code 2003-11-18
RoundTransparentWindow (HTML) (DMG) (ZIP)
Creating (in Cocoa) custom-shaped windows and transparent window content; plus changing the shape of windows dynamically.
Sample Code 2003-01-14
Saving the current Core Graphics Path (HTML)
QA1056: Explains that the Core Graphics save and restore GState APIs do not affect the path.
Technical Q&As 2001-10-02
Scroll View Programming Guide for Cocoa (HTML) (PDF)
Describes how to use scroll views in Cocoa applications.
Guides 2006-06-28
Setting the ColorSync profile for a NSBitmapImageRep object (HTML)
QA1369: Setting the ColorSync profile for a NSBitmapImageRep object
Technical Q&As 2004-09-08
Shearing a Coordinate Space with NSAffineTransform (HTML) (日本語 HTML)
QA1332: Describes a simple way to shear coordinate spaces by adding a few methods to the NSAffineTransform class.
Technical Q&As 2004-01-29
SimpleCocoaJavaMovieCocoa (HTML) (DMG) (ZIP)
Deprecated - Shows how to use the NSMovieView and NSMovie Cocoa Java AppKit classes.
Sample Code 2003-01-14
Son of Grab (HTML) (DMG) (ZIP)
Shows how to use the new CGWindow to get window images from the Window Server.
Sample Code 2007-11-01
SonOfSillyBalls (HTML) (DMG) (ZIP)
Draws a bunch of randomly colored, randomly placed, silly balls in a window on the screen.
Sample Code 2003-01-14
Squiggles (HTML) (DMG) (ZIP)
Demonstrates many Cocoa fundamentals in a Document-based Application featuring custom drawing and event-handling.
Sample Code 2008-08-29
Taking Advantage of PDF Kit in Your Cocoa Application (HTML)
Learn to handle PDF documents in your Cocoa application without writing a lot of custom code.
Articles 2006-02-20
TexturePerformanceDemo (HTML) (DMG) (ZIP)
OpenGL texture optimization demo for WWDC Session 214
Sample Code 2005-06-01
Tiger Developer Overview Series: Developing with Core Image (HTML)
Learn how Core Image can help you take your graphics development to the next level.
Articles 2005-03-09
Tinted Image (HTML) (DMG) (ZIP)
Demonstrates the use of an NSImage as an off-screen drawing destination.
Sample Code 2003-01-14
Transformed Image (HTML) (DMG) (ZIP)
Shows the effects of a rendering an NSImage in a transformed coordinate space.
Sample Code 2003-01-14
Turning Off Core Graphics Clipping (HTML)
QA1050: Explains how to clear the clipping path for a CGContext.
Technical Q&As 2001-07-02
Understanding and Detecting OpenGL Functionality (HTML)
TN2080: Discusses OpenGL API design, and how to access the full power of hardware and software renderers.
Technical Notes 2003-12-29
Unexpected CG state changes (HTML)
QA1045: Explains why the Core Graphics drawing state sometimes changes for no apparent reason.
Technical Q&As 2001-07-02
UnsharpMask (HTML) (DMG) (ZIP)
Demonstrates how to build Automator actions using Cocoa frameworks.
Sample Code 2005-06-06
Using Interface Builder's NSOpenGLView or Custom View objects for an OpenGL application (HTML)
QA1167: Describes usage cases for both NSOpenGLViews and Custom Views for Cocoa OpenGL applications
Technical Q&As 2004-10-28
Using UTIs to Identify Image Files (HTML)
QA1518: Explains how to use Uniform Type Identifiers to identify what files can be opened at images.
Technical Q&As 2007-05-11
VBL (HTML) (DMG) (ZIP)
A simple example of how to create an OpenGLView in AppKit.
Sample Code 2003-07-07
VertexPerformanceDemo (HTML) (DMG) (ZIP)
Vertex optimization demo for WWDC Session 214
Sample Code 2005-06-01
Video Hardware Info (HTML) (DMG) (ZIP)
Sample demonstrates how to query the video hardware for useful information.
Sample Code 2004-02-12
VideoHardwareInfo (HTML) (DMG) (ZIP)
Query VRAM, Quartz Extreme support, OpenGL extensions and renderer, GLSL version and support.
Sample Code 2007-05-14
VideoViewer (HTML) (DMG) (ZIP)
Simple example of video rendering using QuickTime visual contexts, OpenGL, Core Video and Core Image.
Sample Code 2005-08-01
View Programming Guide for Cocoa (HTML) (PDF)
Explains how to design and implement Cocoa views in applications.
Guides 2008-04-10
vImage Reference Collection (HTML) (PDF)
Describes the C programming interface for high-performance image processing.
Reference 2007-07-12
WebKit Objective-C Programming Guide (HTML) (PDF)
Explains how to use the WebKit to embed web content in both Cocoa and Carbon applications.
Guides 2008-10-15
Working Around Incorrect -needsToDrawRect: Behavior in Custom View Classes (HTML)
TN2107: Describes how to work around a bug in NSView's -needsToDrawRect: method.
Technical Notes 2007-01-22
Working with Quartz Composer (HTML)
Learn to build a sample composition without having to write code.
Articles 2006-02-13
Worm (HTML) (DMG) (ZIP)
NSView performance demonstration. Uses a periodic timer to get best performance with Coalesced Update feature.
Sample Code 2005-06-01