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
CopyBits vs. CopyMask (HTML) (DMG) (ZIP)
Deprecated - CopyBits (using a mask region) vs. CopyMask (using a mask BitMap). Which do you think is faster?
Performance Sample Code 2003-07-22
Core Audio Overview (HTML) (PDF)
Provides an overview of Core Audio and its programming interfaces.
Audio Guides 2007-01-08
Core Endian Reference (HTML) (PDF)
Describes the C API for creating and installing callbacks to byte swap custom data.
Data Management, Intel-Based Macs, Porting Reference 2007-05-29
Core Foundation Design Concepts (HTML) (PDF)
Explains the fundamental design concepts that underlie all Core Foundation programming interfaces.
Core Foundation Guides 2005-08-11
Core Foundation Framework Reference (HTML) (PDF)
Describes the Core Foundation API.
Core Foundation Reference 2007-10-31
Core Image Kernel Language Reference (HTML) (PDF)
Describes the symbols for writing image-processing kernels.
Graphics & Imaging 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.
Graphics & Imaging Guides 2008-06-09
Core Printing Reference (HTML) (PDF)
Describes the C API that provides an abstraction layer for application printing.
Printing Reference 2007-07-24
Core Services Framework Reference (HTML) (PDF)
Describes the API for many fundamental operating system services.
General Reference 2007-10-31
Core Services Reference Update (HTML) (PDF)
Summarizes the symbols added to the Core Services framework.
General Release Notes 2007-07-18
Core Text Programming Guide (HTML) (PDF)
Explains how to do text layout and font-related operations using the Core Text programming interfaces.
Text & Fonts Guides 2008-06-09
Core Text Reference Collection (HTML) (PDF)
Describes an API providing text and font services.
Text & Fonts Reference 2007-12-04
Core Text String Attributes Reference (HTML) (PDF)
Describes the string attributes recognized by Core Text.
Text & Fonts Reference 2007-05-01
Core Text Utilities Reference (HTML) (PDF)
Describes general Core Text functions and data types.
Text & Fonts Reference 2007-04-21
CoreAudio Overload Warnings (HTML)
QA1467: Describes CoreAudio overload warnings what they mean and how to avoid them.
Audio Technical Q&As 2006-03-29
CoreFoundation Framework Release Notes (HTML)
Core Foundation Release Notes 2007-10-31
CoreTextArc (HTML) (DMG) (ZIP)
Illustrates the use of fonts, lines, and runs in a CoreText text drawing Carbon application.
Text & Fonts Sample Code 2007-06-04
CoreTextTest (HTML) (DMG) (ZIP)
Shows how to handle the CoreText objects to display text.
Text & Fonts Sample Code 2006-12-19
CPlusTest Reference (HTML)
Describes the CPlusTest framework, which provides an API for creating unit tests for C and C++ code.
Tools Reference 2008-04-08
CPUGestalt (HTML) (DMG) (ZIP)
Deprecated - Shows how to determine the processor type of the Macintosh you're running on.
Resource Management Sample Code 2003-10-27
Crash in ABAddPropertiesAndTypes (HTML)
QA1404: How to correctly add custom Address Book properties using ABAddPropertiesAndTypes
Apple Applications Technical Q&As 2005-04-04
Creating Carbon Menus (HTML) (PDF)
Describes how to create menus in Carbon applications.
Human Interface Toolbox, User Experience Guides 2004-02-23
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.
Graphics & Imaging, User Experience Technical Q&As 1997-11-17
Creating NetBoot Server-Friendly Applications (HTML) (日本語 HTML)
TN1151: Guidelines to ensure applications are able to work correctly in a NetBoot environment.
Design Guidelines Technical Notes 2000-08-01
Creating Printing Presets for iPhoto (HTML) (PDF)
Rules for creating and installing printer-specific collections of settings. Includes a sample file.
Apple Applications, 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
Cross-Development Programming Guide (HTML) (PDF)
Explains how to build software for versions of Mac OS X other than the one the development tools are running on.
Tools Guides 2006-11-07
CrossEvents (HTML) (DMG) (ZIP)
Demonstrates how to send CarbonEvents and NSNotifications between Carbon and Cocoa.
Design Guidelines, Events & Other Input, Porting, Process Management Sample Code 2007-05-31
Cryptographic Message Syntax Services Reference (HTML) (PDF)
Describes the API for encrypting, signing, and decoding messages using Cryptographic Message Syntax (CMS).
Security Reference 2007-10-31
CryptoSample (HTML) (DMG) (ZIP)
Contains sample code showing symmetric encryption and message digest calculation.
Security Sample Code 2003-02-06
CTFont Reference (HTML) (PDF)
Describes a representation of a font.
Text & Fonts Reference 2007-06-29
CTFontCollection Reference (HTML) (PDF)
Describes a collection of fonts.
Text & Fonts Reference 2007-05-16
CTFontDescriptor Reference (HTML) (PDF)
Describes a dictionary that fully specifies a font.
Text & Fonts Reference 2008-10-15
CTFrame Reference (HTML) (PDF)
Describes a multiline text frame.
Text & Fonts Reference 2007-05-01
CTFramesetter Reference (HTML) (PDF)
Describes an opaque type that generates text frames.
Text & Fonts Reference 2007-04-21
CTGlyphInfo Reference (HTML) (PDF)
Describes an opaque type used to override a font's mapping from Unicode to glyph ID.
Text & Fonts Reference 2007-05-09
CTLine Reference (HTML) (PDF)
Describes a line of text.
Text & Fonts Reference 2007-05-24
CTMClip (HTML) (DMG) (ZIP)
Deprecated - Shows how to manipulate the Quartz 2D Current Transform Matrix (CTM) for image drawing with clipping.
Graphics & Imaging 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.
Graphics & Imaging Sample Code 2003-01-14
CTParagraphStyle Reference (HTML) (PDF)
Describes paragraph or ruler attributes in an attributed string.
Text & Fonts Reference 2007-04-21
CTRun Reference (HTML) (PDF)
Describes a set of consecutive glyphs sharing the same attributes and direction.
Text & Fonts Reference 2007-05-24
CTTextTab Reference (HTML) (PDF)
Describes a tab in a paragraph style.
Text & Fonts Reference 2007-05-01
CTTypesetter Reference (HTML) (PDF)
Describes the opaque type that performs line layout.
Text & Fonts Reference 2007-05-01
Current GDevice Dependencies (HTML) (日本語 HTML)
QA1115: Describes potential problems with creating windows or ports when the current GDevice isn't the main device.
Games, Graphics & Imaging, Porting Technical Q&As 2002-02-13
Custom_HIView_Tutorial (HTML) (DMG) (ZIP)
Tutorial presenting a step-by-step custom HIView development. All steps are documented and provided as standalone projects.
Human Interface Toolbox Sample Code 2005-06-01
Customizing Process Stack Size (HTML)
QA1419: Describes methods for setting the stack size of a process and/or thread.
Process Management, Resource Management Technical Q&As 2008-02-20
CustomWindow (HTML) (DMG) (ZIP)
Demonstrates how to create a custom window in Mac OS X.
Human Interface Toolbox, User Experience Sample Code 2003-01-30
CustomWindowWidget (HTML) (DMG) (ZIP)
Demonstrates two ways of adding a custom window widget to the window frame of a standard document window.
Human Interface Toolbox Sample Code 2003-01-30
Daemons and Agents (HTML)
TN2083: Describes the most common problems encountered with daemons and agents, and suggests detailed solutions.
Process Management Technical Notes 2007-11-05
The Data Browser GetDataBrowserUserState API (HTML) (日本語 HTML)
QA1270: Explains a problematic Data Browser API definition and how to work around it.
Human Interface Toolbox Technical Q&As 2003-07-22
Data Browser Programming Guide (HTML) (PDF)
Explains how to present data in lists similar to the list and column views in the Finder.
Human Interface Toolbox, User Experience Guides 2007-08-07
Data Browser Reference (HTML) (PDF)
Describes the C API used to display data in list or column views similar to the Finder.
Human Interface Toolbox, User Experience Reference 2008-04-08
Data Formatting Guide for Core Foundation (HTML) (PDF)
Explains how to use Core Foundation formatters to create and validate text in text fields and other cells.
Data Management Guides 2006-12-21
databurntest (HTML) (DMG) (ZIP)
Demonstrates how to create a DRFolderRef and burn it to disc.
File Management Sample Code 2003-01-14
Date, Time, and Measurement Utilities Reference (HTML) (PDF)
Describes the C API for manipulating the locale-specific data of the battery-operated clock.
Internationalization Reference 2006-09-29
Dates and Times Programming Guide for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation dates and times.
Core Foundation, Data Management, Internationalization Guides 2005-08-11
The Death of typeFSSpec: moving along to typeFileURL (HTML) (日本語 HTML)
TN2022: Discusses the typeFileURL format and using it to pass file references between applications in Mac OS X.
File Management, Interapplication Communication, Process Management Technical Notes 2001-06-07
Debugger Services Reference (HTML) (PDF)
Describes the C API for standard exception-handling and assertion functions used in Carbon applications.
Performance Reference 2003-01-01
Debugging Graphics with QuartzDebug (HTML) (日本語 HTML)
QA1236: Explains how to use QuartzDebug to debug graphics issues.
Graphics & Imaging Technical Q&As 2006-01-12
Debugging Programming Topics for Core Foundation (HTML) (PDF)
Tips and techniques for debugging Core Foundation code.
Core Foundation, Performance Guides 2003-01-17
Debugging with GDB (HTML)
Open-source document that explains how to use GDB to debug programs.
Tools Guides 2008-06-19
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
Defining and Using the kTransformFocused IconTransformType (HTML)
QA1414: Documents a new IconTransformType, available in Panther and later, which draws a focus ring around an icon.
Human Interface Toolbox Technical Q&As 2005-03-29
Deselecting Icons in the Finder (HTML) (日本語 HTML)
IC04: Shows how to programmatically deselect icons in the Finder.
Interapplication Communication Technical Q&As 1997-07-11
Designing Network-Friendly Applications (HTML)
Learn to make your application management-aware and reliably accessible on a network.
Design Guidelines Articles 2005-10-24
Desktop Icons (HTML)
Explains how to provide custom icons for a Carbon application and its documents.
User Experience Guides 2002-08-19
Detecting Classic and Carbon X Environments (HTML) (日本語 HTML)
OV03: Describes how to find out if your application is running in the Classic environment in Mac OS X.
Porting, Runtime Architecture Technical Q&As 2000-10-16
Detecting specific ROM-in-RAM Mac (HTML) (日本語 HTML)
Deprecated - HW49: Identifying a Mac by name ("iMac"), and better alternatives for determining specific features ("has Firewire").
Design Guidelines, Runtime Architecture Technical Q&As 1999-10-05
Determining console user login status (HTML)
QA1133: How to determine whether a user is logged in on the console, and be notified of changes.
Process Management Technical Q&As 2008-04-14
Determining if a Drive is a Network Volume (HTML) (日本語 HTML)
NW09: Shows how to determine if a volume is mounted over the network.
File Management, Networking Technical Q&As 1998-06-01
Developing Games on Mac OS X Using Third-Party Game Engines (HTML)
Create your own game using the powerful game engines that run on Mac OS X.
Games Articles 2006-06-05
Dialog Manager Helper Functions (HTML) (日本語 HTML)
TN1148: Discusses Dialog Manager calls available since System 7.0 that minimize work in managing dialogs.
Human Interface Toolbox Technical Notes 2000-08-14
Dialog Manager Reference (HTML) (PDF)
Describes the C interface for implementing alerts and dialog boxes.
Human Interface Toolbox, User Experience Reference 2007-10-31
DialogsToHIViews (HTML) (DMG) (ZIP)
Shows how to convert from an old-style resource-based dialog to a modern nib-based window with HIViews.
Human Interface Toolbox Sample Code 2005-08-24
Dictionary Manager Reference (HTML) (PDF)
Deprecated - Describes a deprecated technology replaced by Dictionary Services.
Text & Fonts Reference 2007-12-11
Dictionary Services Programming Guide (HTML) (PDF)
Explains how to create a dictionary and access it programmatically.
Text & Fonts Guides 2007-05-30
Dictionary Services Reference (HTML) (PDF)
Describes the Objective-C and C routines that support programmatic access to dictionaries.
Text & Fonts Reference 2007-05-29
Digital CD Audio (HTML) (日本語 HTML)
TN1187: Describes digital audio on the Macintosh.
Audio Technical Notes 2000-04-01
Directories Appear as Volume Aliases (HTML)
QA1351: Discusses how VFS plug-ins should handle device numbers to ensure compatibility with Carbon applications.
File Management Technical Q&As 2004-05-25
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
Disc Recording Framework Reference (HTML)
Describes the Objective-C and C API for burning audio and data CDs and DVDs.
Audio, File Management Reference 2008-04-08
Disc Recording UI Framework Reference (HTML)
Describes the Objective-C and C API for presenting a user interface when burning audio and data CDs and DVDs.
Audio, File Management, User Experience Reference 2008-04-08
Disconnected aliases on CD-ROM and Alias Manager (HTML)
OPS05: Explains why aliases may become disconnected on a CD-ROM.
File Management Technical Q&As 2001-03-26
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Networking Technical Q&As 2004-06-01
DiscRecording Release Notes (HTML)
Updated for Mac OS X v10.5
Audio, File Management, User Experience Release Notes 2007-10-31
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.
Graphics & Imaging, User Experience Reference 2007-12-04
DisplayURL (HTML) (DMG) (ZIP)
Parses a passed in path URL into its various components displaying server information.
File Management Sample Code 2005-10-04
Do I have to call CreateRootControl after creating my window? (HTML) (日本語 HTML)
QA1215: Explains when and when not to call CreateRootControl after creating a window.
Human Interface Toolbox Technical Q&As 2002-11-12
Dock Tile Programming Guide (HTML) (PDF)
Explains how to provide an icon and contextual menu in Carbon applications.
User Experience Guides 2009-03-04
DockBrowser (HTML) (DMG) (ZIP)
Demonstrates how to use CFNetServices to take advantage of Bonjour service discovery and name resolution.
Performance Sample Code 2005-02-08
Don't forget to cancel your Bonjour resolve (HTML)
QA1297: Explains why it's important to cancel a Bonjour resolve operation.
Networking Technical Q&As 2007-08-30
Downloading through a proxy server in Mac OS X (HTML)
QA1296: Explains when downloading through a proxy server will work, and when it will fail.
Networking Technical Q&As 2003-10-29
Drag Manager Programmer's Guide (PDF)
Explains how to add support for drag and drop to a Carbon application.
Interapplication Communication Guides 1995-12-11
Drag Manager Reference (HTML) (PDF)
Describes the C API for dragging objects within the user interface.
Interapplication Communication, User Experience Reference 2006-07-12
DragAndDrop Shell (HTML) (DMG) (ZIP)
A Drag and Drop shell for producing QuickTime drag and drop tools.
Events & Other Input Sample Code 2003-01-14
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
Drawing Performance Guidelines (HTML) (PDF)
Guidelines for improving the speed of drawing code.
Performance Guides 2006-04-04
DrawSprocketTestOld (HTML) (DMG) (ZIP)
Deprecated - Demonstrates basic implementations of DrawSprocket Functions.
Games Sample Code 2003-10-14
DRDataBurnCarbonUI (HTML) (DMG) (ZIP)
DRDataBurnCarbonUI shows how to use the standard DiscRecording burn setup and progress panel from Carbon.
File Management Sample Code 2004-04-09
DREraseCarbonUI (HTML) (DMG) (ZIP)
DREraseCarbonUI shows how to use the DiscRecording erase setup and progress panel from Carbon.
File Management Sample Code 2004-04-09