Jump To:
Leopard Reference Library
Carbon is a set of C APIs offering developers an advanced user interface tool kit, event handling, the Quartz 2D graphics library, and multiprocessing support. Developers have access to other C and C++ APIs, including the OpenGL drawing system and the Mach microkernel.

A guided introduction and learning path for developers new to Carbon.   Essential information for developers using procedural C.   C API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
HIShape Reference (HTML) (PDF)
Describes the Carbon API for manipulating HIShape objects.
Graphics & Imaging Reference 2004-06-28
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.
Graphics & Imaging Technical Q&As 2002-12-02
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.
Graphics & Imaging Technical Q&As 2002-12-04
How do I use PMSessionGetGraphicsContext to get a CGContextRef? (HTML) (日本語 HTML)
Deprecated - QA1216: Describes how to use PMSessionSetDocumentFormatGeneration and PMSessionGetGraphicsContext to get a CGContextRef for printing.
Graphics & Imaging Technical Q&As 2003-02-25
How do I use QuickDraw with CGDirectDisplay? (HTML)
QA1011: Explains how to draw to a CGDirectDisplay-captured display using QuickDraw.
Graphics & Imaging Technical Q&As 2001-04-11
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Graphics & Imaging Technical Q&As 2007-08-02
HTML Rendering Library Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for drawing HTML text and images in a window. Replaced by the Web Kit.
Graphics & Imaging Reference 2006-07-13
Image Capture Applications Programming Guide (HTML) (PDF)
Describes the interaction between applications programs and image capture devices such as cameras and scanners.
Graphics & Imaging Guides 2007-05-16
Image I/O Programming Guide (HTML) (PDF)
Explains how to read and write image data using the Image I/O framework.
Graphics & Imaging Guides 2007-07-02
Image I/O Reference Collection (HTML) (PDF)
Describes the API for reading and writing image data.
Graphics & Imaging Reference 2007-04-09
Image Unit Tutorial (HTML) (PDF)
Describes how to write image processing kernels and package them for distribution.
Graphics & Imaging Guides 2009-05-06
Improving ATSUI Text Drawing Performance (HTML)
QA1027: Talks about one way of improving ATSUI text drawing performance.
Graphics & Imaging Technical Q&As 2001-04-17
Incorrect Inside Macintosh Volume V documentation (HTML)
Deprecated - QD15: Identifies incorrect documentation in Inside Macintosh Volume V regarding the formats of PnPixPat and BkPixPat opcodes.
Graphics & Imaging Technical Q&As 1995-09-15
Is ColorSync thread safe? (HTML) (日本語 HTML)
QA1261: Discusses ColorSync thread-safety issues.
Graphics & Imaging Technical Q&As 2003-04-17
Mac OS X QuickDraw Performance (HTML) (日本語 HTML)
TN2051: Some of the trouble spots in the Mac OS X windowing system and how to avoid them.
Graphics & Imaging Technical Notes 2003-02-13
MassiveImage (HTML) (DMG) (ZIP)
Shows how to use a CGDataProvider to save a very large image with Image IO
Graphics & Imaging Sample Code 2007-09-27
Mode (HTML) (DMG) (ZIP)
Shows how to enumerate displays and list the available modes for each display.
Graphics & Imaging Sample Code 2003-01-14
ModeWhacker (HTML) (DMG) (ZIP)
Shows how to enumerate, select, capture, manipulate, and release displays using the CGDirectDisplay API.
Graphics & Imaging Sample Code 2003-01-14
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Graphics & Imaging Sample Code 2003-10-27
MouseTracking (HTML) (DMG) (ZIP)
Sample code used in the WWDC 2005 Hands-On session 215 "Moving from QD to Quartz"
Graphics & Imaging Sample Code 2005-06-01
NewCCursor (HTML) (DMG) (ZIP)
Deprecated - Shows how to create a black and white 'CURS' and a color 'crsr' cursor resource by hand.
Graphics & Imaging Sample Code 2003-01-14
OpenGL Extensions Guide (HTML)
Information about OpenGL functionality supported in Mac OS X.
Graphics & Imaging Guides 2003-09-10
OpenGL Release Highlights - Mac OS X 10.3 Panther (HTML)
TN2131: Contains a list of bugs along with a short description on a release-by-release basis
Graphics & Imaging Technical Notes 2005-02-04
Out of This GWorld (HTML) (DMG) (ZIP)
Deprecated - Demonstrates the use of offscreen GWorlds and palette animation to simulate animation.
Graphics & Imaging Sample Code 2003-03-12
Palette and GWorld (HTML) (DMG) (ZIP)
Deprecated - Demonstrates the use of palette and color tables with GWorlds.
Graphics & Imaging Sample Code 2003-10-10
Palette Manager Reference (HTML) (PDF)
Deprecated - Describes the legacy C API used to select colors for display devices limited to an 8-bit pixel depth.
Graphics & Imaging Reference 2006-07-13
Parsing the PICT File Format (HTML) (日本語 HTML)
Deprecated - QD56: Explains where to find information on the PICT file format and warns against parsing a PICT file.
Graphics & Imaging Technical Q&As 1998-02-10
PDF Kit Programming Guide (HTML) (PDF)
Introduces basic PDF concepts and describes how to use PDF Kit to display PDF documents in your application.
Graphics & Imaging Guides 2007-12-11
Picture Utilities Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for reading and modifying image data stored in PICT-formatted files. Replaced by Quartz2D.
Graphics & Imaging Reference 2006-07-13
Play Video Sample (HTML) (DMG) (ZIP)
Deprecated - The sample makes use of the RequestVideo sample code API.
Graphics & Imaging Sample Code 2003-01-14
Preserving embedded ICC profiles when using QuickTime Graphics Importer/Exporters (HTML) (日本語 HTML)
QA1145: Shows how to preserve the embedded ICC profile when using the QuickTime Graphics Importer/Exporter routines
Graphics & Imaging Technical Q&As 2002-09-04
Problem Getting PICTS to Display in Correct Colors (HTML)
Deprecated - QD24: Using a custom color table to get PICTs to display with the right colors in an offscreen GWorld.
Graphics & Imaging Technical Q&As 1995-09-15
Problem with PaintRgn on 256-color Screens (HTML)
Deprecated - QD23: PaintRgn with RGBForeColor and transfer mode addOver doesn't return color to original on 256-color-screens.
Graphics & Imaging Technical Q&As 1995-09-15
Problems Creating a Mask for a Picture (HTML)
Deprecated - QD27: Demonstrates creating a mask where the mask is 0 for pure white pixels and 1 everywhere else.
Graphics & Imaging Technical Q&As 1995-09-15
Problems recording CopyBits into a PICT on Mac OS X 10.2 (HTML) (日本語 HTML)
QA1189: Identifies a problem with CopyBits and PICT on Mac OS X 10.2 and gives a simple workaround.
Graphics & Imaging Technical Q&As 2002-11-19
QDFlushPortBuffer (HTML) (日本語 HTML)
QD65: Describes a possible solution for window update problems under Carbon.
Graphics & Imaging Technical Q&As 2000-11-08
QDSwapPort (HTML) (日本語 HTML)
QA1128: Explains when to use QDSwapPort.
Graphics & Imaging Technical Q&As 2002-11-06
Quartz 2D Interpolation (HTML) (日本語 HTML)
QA1186: Explains how to control Quartz 2D's image interpolation.
Graphics & Imaging Technical Q&As 2002-10-29
Quartz 2D Programming Guide (HTML) (PDF)
Explains how to use Quartz 2D. Includes illustrations and sample code.
Graphics & Imaging Guides 2007-12-11
Quartz 2D Reference Collection (HTML) (PDF)
Describes the C API for the native two-dimensional drawing engine in Mac OS X.
Graphics & Imaging Reference 2006-12-18
Quartz 2D Shadings (HTML) (DMG) (ZIP)
Shows how to use CGShading and CGGradient objects to draw simple gradients.
Graphics & Imaging Sample Code 2007-08-31
Quartz 2D Thread Safety (HTML) (日本語 HTML)
QA1238: Explains the thread-safety issues for the Quartz 2D API.
Graphics & Imaging Technical Q&As 2003-02-25
Quartz 2D Transformer (HTML) (DMG) (ZIP)
Shows how to use Quartz 2D to manipulate an image
Graphics & Imaging Sample Code 2007-06-21
Quartz Composer Programming Guide (HTML) (PDF)
Describes how to used the framework to load, play, and control compositions.
Graphics & Imaging Guides 2008-10-15
Quartz Display Services Programming Topics (HTML) (PDF)
Shows how to configure and control display hardware using Quartz Display Services.
Graphics & Imaging Guides 2006-06-28
Quartz Display Services Reference (HTML) (PDF)
Describes the interface for configuring and controlling display hardware.
Graphics & Imaging Reference 2008-11-19
Quartz Programming Guide for QuickDraw Developers (HTML) (PDF)
Provides strategies to help Carbon programmers replace QuickDraw code with Quartz.
Graphics & Imaging Guides 2006-09-05
Quartz Window Services Reference (HTML)
Describes the interface for capturing the contents of a window.
Graphics & Imaging Reference 2009-01-15
Quartz2DBasics (HTML) (DMG) (ZIP)
Carbon and Cocoa sample code demonstrating some basic usage of the Quartz 2D API
Graphics & Imaging Sample Code 2006-09-11
QuartzLines (HTML) (DMG) (ZIP)
Drawing Lines using Quartz's CGPath & CGContextStrokeLineSegments functions.
Graphics & Imaging Sample Code 2005-06-01
QuartzShapes (HTML) (DMG) (ZIP)
Example Quartz functions that implement equivalents to the QuickDraw PaintArc, FrameArc, PaintOval, FrameOval, PaintRect, and FrameRect
Graphics & Imaging Sample Code 2005-03-08
QuickDraw Reference (HTML) (PDF)
Describes the C API for the legacy two-dimensional drawing engine in Mac OS. Replaced by Quartz 2D.
Graphics & Imaging Reference 2007-06-29
QuickDraw Text Anti-Aliasing using Quartz 2D (HTML) (日本語 HTML)
QA1193: Describes APIs added to Mac OS X to allow applications to draw QD text using CG anti-aliasing.
Graphics & Imaging Technical Q&As 2002-10-29
Requirements for Quartz GL (HTML)
QA1536: Describes the requirements for enabling Quartz GL.
Graphics & Imaging 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.
Graphics & Imaging Guides 2007-05-04
Resolution Independent UI Release Notes (HTML)
Graphics & Imaging Release Notes 2005-04-29
SampleScannerApp (HTML) (DMG) (ZIP)
This project implements a simple client accessing an ICA scanning device.
Graphics & Imaging Sample Code 2008-05-07
Saving the current Core Graphics Path (HTML)
QA1056: Explains that the Core Graphics save and restore GState APIs do not affect the path.
Graphics & Imaging Technical Q&As 2001-10-02
Simple DrawSprocket (HTML) (DMG) (ZIP)
Deprecated - Simple use of DrawSprocket to set screen resolution and size.
Graphics & Imaging Sample Code 2003-07-22
Son of Grab (HTML) (DMG) (ZIP)
Shows how to use the new CGWindow to get window images from the Window Server.
Graphics & Imaging Sample Code 2007-11-01
Spooling in or out of CompressPicture or CompressImage (HTML)
Deprecated - QD17: Recommends alternatives to spooling the results of CompressPicture or CompressImage to or from disk.
Graphics & Imaging Technical Q&As 1995-09-15
Supporting Printing in Your Carbon Application (HTML) (PDF)
Explains how to support printing in Carbon applications. Includes creating PDFs and porting from Mac OS 9.
Graphics & Imaging Guides 2004-08-31
TE Over Background (HTML) (DMG) (ZIP)
Deprecated - A textEdit that shows old text editing over a colored background
Graphics & Imaging Sample Code 2003-07-22
TextNameTool (HTML) (DMG) (ZIP)
A command line tool sample illustrating how to use various graphical facilities and services without a login.
Graphics & Imaging Sample Code 2003-10-27
Tiger Developer Overview Series: Developing with Core Image (HTML)
Learn how Core Image can help you take your graphics development to the next level.
Graphics & Imaging Articles 2005-03-09
TubeTest (HTML) (DMG) (ZIP)
Deprecated - The program is a simple demonstration of how to use the Palette Manager in a color program.
Graphics & Imaging Sample Code 2003-03-12
Turning Off Core Graphics Clipping (HTML)
QA1050: Explains how to clear the clipping path for a CGContext.
Graphics & Imaging 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.
Graphics & Imaging Technical Notes 2003-12-29
Unexpected CG state changes (HTML)
QA1045: Explains why the Core Graphics drawing state sometimes changes for no apparent reason.
Graphics & Imaging Technical Q&As 2001-07-02
Updating OpenGL Contexts (HTML) (日本語 HTML)
QA1209: When and why to update an OpenGL context in response to system and user actions.
Graphics & Imaging Technical Q&As 2003-06-19
Using Clip Region and Buffer Rectangles with OpenGL Carbon (HTML) (日本語 HTML)
QA1222: Shows the basics of using buffer rectangles and clip regions with AGL.
Graphics & Imaging Technical Q&As 2002-12-19
Using cmPathBased profile locations on Mac OS X (HTML) (日本語 HTML)
QA1203: Shows how to correctly specify cmPath-based profile locations on Mac OS X
Graphics & Imaging Technical Q&As 2002-11-06
Using qd and QDGlobals (HTML) (日本語 HTML)
Deprecated - QD40: Why a sample program compiled with SC may give the link error: undefined entry qd. Provides a solution.
Graphics & Imaging Technical Q&As 1996-02-09
Using Temporary Memory with OpenPicture (HTML)
Deprecated - QD20: Provides several techniques of causing OpenPicture to allocate temporary memory for a picture handle.
Graphics & Imaging Technical Q&As 1996-02-01
vImage Reference Collection (HTML) (PDF)
Describes the C programming interface for high-performance image processing.
Graphics & Imaging Reference 2007-07-12
Window Manager and EraseRect (HTML)
Deprecated - QD26: Why WindowManager causes a flicker using EraseRect and provides a solution for this problem.
Graphics & Imaging Technical Q&As 1995-09-15
Working with Quartz Composer (HTML)
Learn to build a sample composition without having to write code.
Graphics & Imaging Articles 2006-02-13
Adding an automated Window menu to your application (HTML)
QA1080: Explains how to add an automated Window menu to your Carbon application.
Human Interface Toolbox Technical Q&As 2001-10-30
AddNibToNav (HTML) (DMG) (ZIP)
Shows how to create a custom area, instantiated from a nib file, in a Navigation Services dialog.
Human Interface Toolbox Sample Code 2004-01-22
Appearance Manager Reference (HTML) (PDF)
Describes the C API for coordinating the look of the standard Mac OS human interface.
Human Interface Toolbox Reference 2007-01-23
Application Manager Reference (HTML) (PDF)
Describes the C API for performing various application-level tasks in a Carbon application. Formerly titled Dock Manager Reference.
Human Interface Toolbox Reference 2007-10-31
Are the root control, the root view, and the content view the same entity? (HTML) (日本語 HTML)
QA1214: Details the differences and similitudes between the root control, the root view, and the content view of windows.
Human Interface Toolbox Technical Q&As 2002-11-12
BasicDataBrowser (HTML) (DMG) (ZIP)
Shows how to create a basic, functional data browser.
Human Interface Toolbox Sample Code 2003-05-08
The Benefits of HIToolbox: the Evolving Widget Set (HTML)
Learn how to get started working with HIView control types.
Human Interface Toolbox Articles 2004-06-14
CalendarView (HTML) (DMG) (ZIP)
Shows how to subclass HIView using C, as well as drawing and hit testing.
Human Interface Toolbox Sample Code 2003-01-30
Can I have parameters of type typeHIRect instead of type typeQDRectangle in my kEventControlBoundsChanged message handler? (HTML) (日本語 HTML)
QA1246: Details the automatic coercions between QuickDraw and Quartz types provided by the Carbon Event Parameter accessors.
Human Interface Toolbox Technical Q&As 2003-04-03
Carbon Drawer problem in Mac OS X v10.4 and v10.4.1 (HTML)
QA1435: Workaround for a drawer problem present in Mac OS X v10.4 but fixed in v10.4.2
Human Interface Toolbox Technical Q&As 2005-06-21
Carbon Reference Update (HTML) (PDF)
Summarizes the symbols added to the Carbon framework.
Human Interface Toolbox Release Notes 2007-07-18
CarbonCocoa_PictureCursor (HTML) (DMG) (ZIP)
Demonstrates how to use NSCursor from a Carbon based application.
Human Interface Toolbox Sample Code 2007-01-12
CarbonCocoaCoreImageTab (HTML) (DMG) (ZIP)
Carbon-based application creates a Cocoa-based web window which used CoreImage filters to transition between tabbed WebViews
Human Interface Toolbox Sample Code 2006-07-25
CarbonMDEF (HTML) (DMG) (ZIP)
A Mac OS X-compatible, Appearance-savvy sample menu definition function (MDEF).
Human Interface Toolbox Sample Code 2003-01-30
CarbonTransparentWindow (HTML) (DMG) (ZIP)
Shows how to handle window transparency for compositing, non-compositing, and custom HIView-based Carbon windows.
Human Interface Toolbox Sample Code 2005-08-10
CGContext parameter missing in my kEventControlDraw event (HTML) (日本語 HTML)
QA1212: Explains in which case your kEventControlDraw handler wouldn't receive a CGContext parameter.
Human Interface Toolbox Technical Q&As 2002-11-12
Clickable Static Text Item (HTML)
QA1380: Explains how to make a static text item respond to clicks
Human Interface Toolbox Technical Q&As 2004-10-05
ClockView (HTML) (DMG) (ZIP)
An HIView sample that uses the HIFramework to implement a scalable analog clock.
Human Interface Toolbox Sample Code 2003-01-30
ColoredCheckBox (HTML) (DMG) (ZIP)
Demonstrates how to create a colored check box on a gray window backgrounds.
Human Interface Toolbox Sample Code 2003-01-30
ColorSwatchView (HTML) (DMG) (ZIP)
Implements a color well control as an HIView using HIFramework C++ Carbon Event wrapper classes.
Human Interface Toolbox Sample Code 2003-01-30
ComboBoxPrefs (HTML) (DMG) (ZIP)
Use CFPrefs to store URLs to images for use in a browser style combo box.
Human Interface Toolbox Sample Code 2005-10-04
Control Manager Reference (HTML) (PDF)
Describes the C API for creating and manipulating Carbon controls.
Human Interface Toolbox Reference 2007-03-26
ControlBackground (HTML) (DMG) (ZIP)
Shows how to affect the background color of a control when drawing it.
Human Interface Toolbox Sample Code 2003-01-30