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

Sorted by
Title
Sort by
Topic
Sort by
Resource Type
Sort by
Date
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
Pascal String Utilities Reference (HTML) (PDF)
Describes the C API for manipulating Pascal strings in Carbon applications.
Runtime Architecture, Text & Fonts Reference 2006-07-12
Pascal to C: PROCEDURE Parameters (HTML)
Deprecated - PT31: Nested procedures and PROCEDURE parameters in Pascal when converting them into C or C++.
Porting Technical Notes 1990-02-01
Password (HTML) (DMG) (ZIP)
Deprecated - Illustrates three different ways to implement password fields in dialogs.
Human Interface Toolbox, User Experience Sample Code 2003-01-30
Pasteboard Manager Programming Guide (HTML) (PDF)
Describes how to create and manage pasteboards in Carbon applications.
Interapplication Communication Guides 2005-07-07
Pasteboard Manager Reference (HTML) (PDF)
Describes the C API for creating and interacting with pasteboards.
Interapplication Communication Reference 2007-06-29
PasteboardPeeker (HTML) (DMG) (ZIP)
Using pasteboards for Copy and Paste, Drag and Drop, service support and filter services.
Interapplication Communication, Text & Fonts Sample Code 2005-08-10
PBLockRange with a zero-length range (HTML)
FL13: Describes the afpRangeOverlap error and a work around.
File Management Technical Q&As 1999-11-22
PDEPanel Protocol Reference (HTML) (PDF)
Describes the informal protocol used to implement custom panes in a printing dialog.
Printing Reference 2007-12-11
PDEPlugIn Protocol Reference (HTML) (PDF)
Describes the informal protocol used to add custom panes to a printing dialog.
Printing Reference 2007-12-11
PDEPlugInCallbackProtocol Reference (HTML) (PDF)
Describes the informal protocol used to access information about the current print job.
Printing Reference 2007-12-11
PDEProject (HTML) (DMG) (ZIP)
Deprecated - Demonstrates an application-hosted printing dialog extension (PDE) that displays a custom pane in the Print dialog.
Printing Sample Code 2003-01-14
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
Pending Update Perils (HTML) (日本語 HTML)
Deprecated - TN1147: Discusses potential problems when pending update events for windows behind modal dialogs are not serviced.
Human Interface Toolbox Technical Notes 2000-08-14
Performance Overview (HTML) (PDF)
Introduces the factors that determine performance.
Performance Guides 2006-10-03
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
Playing a sound file using the Default Output Audio Unit (HTML)
TN2097: Playing an Audio File using the Default Output Audio Unit
Audio Technical Notes 2006-11-15
The 'plst' Resource (HTML) (日本語 HTML)
TN2013: Describes the 'plst' resource for Carbon-based applications.
Design Guidelines, Process Management, Runtime Architecture Technical Notes 2002-02-07
Plug-ins (HTML) (PDF)
Explains how to use the plug-in architecture provided by Core Foundation.
Core Foundation, Process Management, Runtime Architecture Guides 2005-03-03
PMPrinterPrintWithFile (HTML) (DMG) (ZIP)
How to send files, for example PostScript and PDF, directly to the printer. Replaces the pict-ps path.
Printing Sample Code 2006-07-18
PMPrinterTest (HTML) (DMG) (ZIP)
Demonstrates using the PMPrinter APIs to obtain information about the connected printers.
Printing Sample Code 2009-02-13
PopUpMenuWithCurFont (HTML) (DMG) (ZIP)
Deprecated - Demonstrates what must be done to control the font used by MDEF 0 during PopUpMenuSelect.
Human Interface Toolbox, User Experience Sample Code 2003-01-30
Porting CodeWarrior Projects to Xcode (HTML) (PDF)
Explains how to move software projects from CodeWarrior to Xcode and compares the two development environments.
Intel-Based Macs, Porting, Tools Guides 2006-10-26
Porting Multithreaded Applications from Win32 to Mac OS X (HTML)
Learn how Mac OS X handles multithreading, before porting your Win32 application.
Performance, Porting, Process Management Articles 2005-06-20
Power Management; Policy Maker vs. Power Controller (HTML) (日本語 HTML)
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
Events & Other Input, Process Management Technical Q&As 2002-02-13
Power Manager 2.0 (HTML) (日本語 HTML)
TN1190: Describes the Macintosh Power Manager 2.0.
Process Management Technical Notes 2000-08-14
Power Manager Reference (HTML) (PDF)
Describes the legacy C API for controlling power to the internal hardware devices of battery-powered Macintosh computers.
Resource Management Reference 2006-07-13
PowerPC G5 Performance Primer (HTML) (日本語 HTML)
TN2087: Offers a high-level overview of how to maximize performance on G5 Macs.
Runtime Architecture Technical Notes 2003-09-03
PPPoE Server for Testing (HTML) (日本語 HTML)
QA1252: Describes how to configure Mac OS X as a PPPoE server for testing purposes.
Networking Technical Q&As 2003-04-11
The Preferences Problem (HTML) (日本語 HTML)
Deprecated - TN1134: Outlines typical problems with preferences files and some of their solutions.
File Management Technical Notes 1998-10-01
Preferences Programming Topics for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation user preferences.
Core Foundation, Data Management Guides 2006-10-03
Preferences Utilities Reference (HTML) (PDF)
Describes Core Foundation preferences functions.
User Experience Reference 2007-10-31
PreLoginAgents (HTML) (DMG) (ZIP)
Pre-login launchd agents to display UI using AppKit and HIToolbox.
Process Management Sample Code 2007-10-26
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
Preventing sleep (HTML)
QA1160: Explains how your application can prevent the system from sleeping.
Resource Management Technical Q&As 2004-10-22
Printer Queue vs. Printer Name (HTML)
QA1407: Explains the difference between a printer queue and a printer name.
Printing Technical Q&As 2007-04-26
Printing Plug-in Interfaces Reference (HTML) (PDF)
Describes the various callback interfaces that Mac OS X printing plug-ins implement in Carbon.
Printing Reference 2003-07-31
Private HITheme APIs in Mac OS X 10.2 should not be called (HTML)
QA1377: Explains why weak-linked API common runtime check is not good enough for the HITheme APIs.
Human Interface Toolbox Technical Q&As 2004-10-27
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, Performance, User Experience 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 getting Bonjour TXT record information (HTML)
QA1389: Explains why you might have problems retrieving TXT record information from a CFNetServiceRef or NSNetService.
Networking Technical Q&As 2005-07-06
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, Porting Technical Q&As 2002-11-19
Process (HTML) (DMG) (ZIP)
A simple demonstration of the Process Manager API.
Process Management Sample Code 2003-10-30
Process Carbon Events Not Delivered in 10.2 (HTML) (日本語 HTML)
QA1181: Work around for a bug in Mac OS X 10.2 that prevents the delivery of process Carbon events.
Events & Other Input, Human Interface Toolbox, Process Management Technical Q&As 2002-08-27
Process Manager Reference (HTML) (PDF)
Describes the C API for process management in Carbon applications.
Process Management Reference 2007-12-04
ProfileSystem (HTML) (DMG) (ZIP)
Shows how to obtain the same information that System Profiler displays.
Core Foundation Sample Code 2005-05-05
Programmatic Mounting of AppleShare Volumes (HTML) (日本語 HTML)
TN1111: Mount an AppleShare volume using PBVolumeMount. AFPVolMountInfo structure is defined along with the AFPXVolMountInfo structure.
File Management Technical Notes 1997-10-01
Programmatically causing restart, shutdown and/or logout (HTML) (日本語 HTML)
QA1134: Describes how to programmatically cause restart, shutdown, sleep or logout.
Events & Other Input, Process Management, Resource Management Technical Q&As 2008-09-24
Programming with the Appearance Manager (HTML)
Explains how to make an application's user interface look like the Mac OS user interface.
Human Interface Toolbox, User Experience Guides 2001-11-20
Programming With the Language Analysis Manager (HTML) (PDF)
Explains how morpholgical analysis is performed by the system.
Internationalization Guides 2003-05-01
Programming With the Text Encoding Conversion Manager (HTML) (PDF)
Explains character encodings, Unicode conversion, and custom converter plug-ins. Lists encoding variants.
Internationalization, Text & Fonts Guides 2005-07-07
Property List Programming Topics for Core Foundation (HTML) (PDF)
Explains how to use structured, textual representations of data in Core Foundation.
Core Foundation, Data Management Guides 2006-02-07
Providing Help Tags in Carbon (HTML) (PDF)
Explains how to add contextually sensitive help content to an application's user interface.
User Experience Guides 2002-07-01
Providing PDF Workflow Options in the Print Dialog (HTML) (PDF)
Installation information and examples, including the use of Automator workflows.
Printing Guides 2007-10-31
PThreadSorts (HTML) (DMG) (ZIP)
Applies various sorting algorithms to pictures using POSIX threads (pthreads) on Mac OS X.
Process Management Sample Code 2003-01-14
Public UTIs supported by Mac OS X v10.3 (HTML)
QA1406: Lists the public UTIs (Uniform Type Identifiers) used by the Pasteboard in Mac OS X v10.3.
Interapplication Communication Technical Q&As 2005-02-08
PutAwayVolumes (HTML) (DMG) (ZIP)
Deprecated - Demonstrates several ways to unmount a volume and which contexts might require which techniques.
File Management, Interapplication Communication Sample Code 2003-01-14
QDFlushPortBuffer (HTML) (日本語 HTML)
QD65: Describes a possible solution for window update problems under Carbon.
Events & Other Input, Graphics & Imaging, Human Interface Toolbox, Porting Technical Q&As 2000-11-08
QDSwapPort (HTML) (日本語 HTML)
QA1128: Explains when to use QDSwapPort.
Graphics & Imaging, Porting Technical Q&As 2002-11-06
QISA (HTML) (DMG) (ZIP)
Demonstrates the basics of writing an Internet setup assistant for traditional Mac OS and Mac OS X.
Human Interface Toolbox, Networking Sample Code 2003-05-15
QLPreviewRequest Reference (HTML) (PDF)
Describes an opaque type for handling requests for Quick Look document previews.
User Experience Reference 2007-04-20
QLThumbnailRequest Reference (HTML) (PDF)
Describes an opaque type for handling requests for Quick Look thumbnail images.
User Experience Reference 2007-10-31
QTCarbonCoreImage101 (HTML) (DMG) (ZIP)
Demonstrates how to render QuickTime Movies using Core Image filters and the new video pipeline.
QuickTime Sample Code 2006-02-14
QTCarbonShell (HTML) (DMG) (ZIP)
A skeleton of a modern Carbon QuickTime application demonstrating how to incorporate QuickTime support into a Carbon application.
QuickTime Sample Code 2009-03-19
QTMetaData (HTML) (DMG) (ZIP)
Demonstrates the QuickTime 7 MetaData APIs in a Carbon application.
QuickTime Sample Code 2009-03-16
qtshell (HTML) (DMG) (ZIP)
Simple QuickTime and QuickTime VR viewer framework.
QuickTime Sample Code 2003-10-27
qtshellCEvents (HTML) (DMG) (ZIP)
A Carbon event based movie viewer framework which demonstrates how to incorporate movie support into an application.
QuickTime Sample Code 2003-01-14
Quartz 2D Interpolation (HTML) (日本語 HTML)
QA1186: Explains how to control Quartz 2D's image interpolation.
Graphics & Imaging, Printing 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, Performance, Printing, Process Management 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 Event Services Reference (HTML) (PDF)
Describes the C API for event taps, filters used to observe and alter the stream of low-level user input events.
Events & Other Input Reference 2007-10-31
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
Quick Look Framework Reference (HTML) (PDF)
Describes the interface for creating plug-ins that generate Quick Look previews and thumbnails.
User Experience Reference 2007-04-13
Quick Look Programming Guide (HTML) (PDF)
Describes the purporse and architecture of Quick Look generators and explains how to create them.
User Experience Guides 2008-02-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, Porting Technical Q&As 2002-10-29
QuickDraw Text Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for measuring and drawing text. Replaced by ATSUI.
Text & Fonts Reference 2006-07-13
QuickTime and Carbon Events (HTML)
QA1090: Discusses how to ensure smooth movie playback when using Carbon Events in an application.
Design Guidelines Technical Q&As 2001-10-26
QuickTime Audio (HTML)
Explains how to enable recording and playback of various audio media.
Audio Guides 2002-09-17
QuickTime Audio - Easy Frequency Level Metering with MovieAudio APIs (HTML)
QA1459: Describes how to perform frequency band level metering using MovieAudio metering APIs.
QuickTime Technical Q&As 2009-01-29
QuickTime Framework Reference (HTML) (PDF)
Describes the API for QuickTime.
QuickTime Reference 2006-05-23
QuickTime Movie Basics (HTML) (PDF)
Introduces some of the basic concepts you need to understand when working with QuickTime movies.
QuickTime Guides 2006-01-10
QuickTime Music Architecture Guide (HTML) (PDF)
Explains how to enable synthesizing and playing of sounds and musical sequences.
Audio Guides 2006-01-10
QuickTime Overview (HTML) (PDF)
Introduces the main concepts and services of QuickTime.
QuickTime Guides 2005-08-11
QuickTimeMovieControl (HTML) (DMG) (ZIP)
Demonstrates how to easily add QuickTime media playback to an application
QuickTime Sample Code 2005-08-10
Raw IP and Open Transport 2.5.x (HTML)
Deprecated - NW63: Discusses Open Transport 2.5's change to the behavior of raw IP endpoints with IP_HDRINCL set.
Networking Technical Q&As 1999-10-25
ReadLocation (HTML) (DMG) (ZIP)
Retrieves the Map control panel settings for longitude and latitude and the time offset from GMT.
User Experience Sample Code 2003-01-30