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
Byte-Order Utilities Reference (HTML) (PDF)
Describes Core Foundation byte-order functions.
Intel-Based Macs Reference 2006-05-23
CalcCMask and SeedCFill in Carbon (HTML) (日本語 HTML)
QD62: Explains how to use CalcCMask and SeedCFill in Carbon even though Carbon doesn't support OpenPort.
Graphics & Imaging Technical Q&As 2000-11-08
Calculator (HTML) (DMG) (ZIP)
Implements a simple "four-banger" calculator.
User Experience Sample Code 2003-01-30
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
Calling AppleScript from an Application (HTML)
QA1026: Describes how to call an AppleScript from an application written in C.
Interapplication Communication Technical Q&As 2001-04-10
Calling CloseOpenTransport When Writing an App (HTML) (日本語 HTML)
Deprecated - NW36: Identifies a bug in Open Transport 1.1 which means your application must CloseOpenTransport before quitting.
Networking Technical Q&As 1996-07-03
CallMachOFramework (HTML) (DMG) (ZIP)
Shows two ways of calling a Mach-O framework from a CFM application on Mac OS X.
Runtime Architecture Sample Code 2003-07-17
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
Capturing Speech Manager Output (HTML) (日本語 HTML)
Deprecated - SND15: Capturing the output from the Speech Synthesis Manager to a file.
Audio Technical Q&As 1998-05-18
Carbon Accessibility Reference (HTML) (PDF)
Describes the C API for making Carbon applications accessible to assistive technologies.
Accessibility Reference 2006-02-07
Carbon Core Release Notes (HTML)
File Management, Internationalization, Resource Management, Text & Fonts Release Notes 2007-10-31
Carbon Developer Tools Release Notes (HTML)
Updated for Mac OS X v10.5
Tools Release Notes 2007-10-31
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 Event Manager Programming Guide (HTML) (PDF)
Essential information for implementing Carbon events.
Events & Other Input Guides 2005-07-07
Carbon Event Manager Reference (HTML) (PDF)
Describes the C API for handling events in Carbon applications.
Events & Other Input Reference 2007-10-31
Carbon Framework Reference (HTML) (PDF)
Describes many fundamental user experience APIs used in Carbon applications.
General Reference 2007-10-31
Carbon Full Screen Conundrums (HTML)
QA1068: Describes the available Mac OS X DrawSprocket services.
Games Technical Q&As 2001-08-20
Carbon GLSnapshot (HTML) (DMG) (ZIP)
Demonstrates the use of OpenGL with Quicktime to capture OpenGL content.
Games, Graphics & Imaging, QuickTime Sample Code 2003-07-07
Carbon Help Manager Reference (HTML) (PDF)
Describes the interface for displaying short onscreen hints in help tags.
User Experience Reference 2004-03-01
Carbon Overview (HTML) (PDF)
Defines Carbon and the components of Carbon applications. Provides a whirlwind tour of Carbon APIs.
General Guides 2005-11-09
Carbon Pasteboards: Enhanced Data Sharing (HTML)
Learn how to add Clipboard support to your application, including copy and paste and drag and drop.
Data Management, Events & Other Input, Interapplication Communication Articles 2004-08-16
Carbon Porting Tutorial (HTML) (DMG) (ZIP)
Porting a simple application from Mac OS 9 to Mac OS X
Porting Sample Code 2006-07-25
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 Reference Update (HTML) (PDF)
Summarizes the symbols added to the Carbon framework.
Human Interface Toolbox Release Notes 2007-07-18
Carbon Resolution Independence Release Notes (HTML)
Graphics & Imaging Release Notes 2005-04-29
Carbon Result Codes Index (HTML)
An alphabetic list of result codes in the Carbon application environment, with links to their API reference pages.
General Reference
Carbon-Cocoa Integration Guide (HTML) (PDF)
Explains how to use both Carbon and Cocoa in developing an application.
Design Guidelines Guides 2007-10-31
CarbonCocoa_PictureCursor (HTML) (DMG) (ZIP)
Demonstrates how to use NSCursor from a Carbon based application.
Human Interface Toolbox, Porting, User Experience 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, Internet & Web Sample Code 2006-07-25
CarbonCocoaTempConverter (HTML) (DMG) (ZIP)
Demonstrates how to integrate Carbon and Cocoa user interfaces in the same Cocoa application.
Events & Other Input Sample Code 2008-03-10
CarbonCustomList (HTML) (DMG) (ZIP)
How to implement a custom list using Carbon using CreateCustomList.
User Experience Sample Code 2003-01-30
CarbonInCocoa (HTML) (DMG) (ZIP)
How to use Carbon GUI code in a Cocoa application.
Events & Other Input Sample Code 2003-03-26
CarbonMDEF (HTML) (DMG) (ZIP)
A Mac OS X-compatible, Appearance-savvy sample menu definition function (MDEF).
Human Interface Toolbox, User Experience Sample Code 2003-01-30
CarbonQuartzComposer_TV (HTML) (DMG) (ZIP)
Demonstrates how to integrate Cocoa based QuartzComposer window into a Carbon based application
Graphics & Imaging Sample Code 2006-10-02
CarbonQuartzDrawingWPrinting (HTML) (DMG) (ZIP)
Deprecated - Demonstrates mixing QuickDraw and Quartz 2D drawing both on screen and during printing.
Graphics & Imaging, Printing 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.
Graphics & Imaging Sample Code 2005-03-23
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
Certificate, Key, and Trust Services Programming Guide (HTML) (PDF)
Shows how to evaluate trust for a certificate and recover from a trust failure.
Security Guides 2008-11-19
Certificate, Key, and Trust Services Reference (HTML) (PDF)
Describes services to read and evaluate certificates and to use cryptographic keys.
Security Reference 2008-11-19
CFAttributedString Reference (HTML) (PDF)
Describes an immutable character string and its associated attributes.
Data Management, Text & Fonts Reference 2009-05-06
CFBundleIdentifier and user application access (HTML)
QA1373: Describes the role of CFBundleIdentifier in limiting a user's application access.
Design Guidelines, Security Technical Q&As 2005-02-08
CFFileDescriptor Reference (HTML) (PDF)
Describes an object for monitoring file descriptors for read and write activity.
File Management Reference 2007-05-23
CFHostSample (HTML) (DMG) (ZIP)
Uses the CFHost API to do DNS hostname lookups and to determine host reachability.
Networking Sample Code 2004-04-20
CFM_MachO_CFM (HTML) (DMG) (ZIP)
CFM application calls Mach-O routine, passing in a fixed up CFM function pointer as a callback parameter.
Runtime Architecture Sample Code 2003-07-17
CFMutableAttributedString Reference (HTML) (PDF)
Describes a mutable character string and associated set of attributes.
Data Management, Text & Fonts Reference 2009-05-06
CFNetwork Programming Guide (HTML) (PDF)
Explains how to use Core Foundation networking functions to work with low-level BSD sockets.
Security Guides 2009-05-06
CFNetwork Reference Collection (HTML) (PDF)
Describes the C APIs for performing a variety network tasks.
Networking Reference 2008-07-15
CFNetworkHTTPDownload (HTML) (DMG) (ZIP)
Demonstrates how to download a URL using CFNetworking.
Networking Sample Code 2006-01-18
CFPreferences (HTML) (DMG) (ZIP)
Shows how to use the CFPreferences APIs to access user preferences.
Core Foundation Sample Code 2003-01-14
CFPrefsDumper (HTML) (DMG) (ZIP)
Shows how to use the CFPreferences APIs to access information about the current user preferences.
Core Foundation Sample Code 2003-01-14
CFPrefTopScores (HTML) (DMG) (ZIP)
How to access globally shared (writable) user preferences without requiring authentication.
Core Foundation, Data Management, Design Guidelines, File Management, Games, Resource Management Sample Code 2006-10-09
CFXML to CFPropertyListRef (and back!) (HTML) (日本語 HTML)
QA1208: Describes to how save and restore a CFPropertyListRef to and from an XML file.
Data Management Technical Q&As 2003-08-29
CGBitmapContextCreate Supported Color Spaces (HTML)
QA1037: Lists the color space and alpha info combinations currently supported by CGBitmapContextCreate.
Games, Graphics & Imaging Technical Q&As 2007-07-18
CGContext Bounds (HTML)
QA1048: Explains how to determine the bounds of a CGContext.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
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
CGContextAddLineToPoint, CGContextAddCurveToPoint, et. al. (HTML)
QA1049: Explains why the CGContextAddXYZ APIs don't draw anything immediately.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
CGContextClosePath (HTML)
QA1046: Explains when you should call CGContextClosePath.
Graphics & Imaging, Printing Technical Q&As 2001-10-02
The CGDirectPalette API (HTML) (日本語 HTML)
TN2008: Provides a reference for the CGDirectPalette API on Mac OS X
Graphics & Imaging, User Experience Technical Notes 2000-11-08
CGImageProperties Reference (HTML) (PDF)
Describes property constants for source and destination images.
Graphics & Imaging Reference 2007-10-31
CGImageRef contents are immutable (HTML) (日本語 HTML)
QA1276: Explains that CGImageRef contents are considered immutable once created.
Graphics & Imaging Technical Q&As 2003-07-17
CGL Reference (HTML) (PDF)
Describes Apple's low level interface for OpenGL contexts.
Graphics & Imaging Reference 2007-06-28
Changing the TCP Window Size (HTML)
NW47: Describes how to change the TCP window size in Open Transport.
Networking, Performance Technical Q&As 1997-03-14
Changing the volume of audio devices (HTML)
QA1016: Demonstrates volume controls for audio devices
Audio Technical Q&As 2006-05-02
CheckExecutableArchitecture (HTML) (DMG) (ZIP)
Determine whether a particular Mach-O executable contains a version suitable for executing on a given processor architecture.
Runtime Architecture Sample Code 2006-02-07
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
Graphics & Imaging Sample Code 2008-04-24
Clickable Static Text Item (HTML)
QA1380: Explains how to make a static text item respond to clicks
Human Interface Toolbox, User Experience 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
Closing the Connection: OpenTransport (HTML) (日本語 HTML)
Deprecated - NW20: Describes an orderly disconnect situation in Open Transport between two nodes.
Networking Technical Q&As 1996-03-04
Coalesced Updates (HTML)
TN2133: How to achieve the maxium frame rate in your Mac OS X application
Graphics & Imaging Technical Notes 2006-01-20
Cocoa PDE with Carbon Printing (HTML) (DMG) (ZIP)
Application that uses a Cocoa PDE along with the Carbon Printing APIs.
Printing Sample Code 2007-07-27
Cocoa_With_Carbon_or_CPP (HTML) (DMG) (ZIP)
Shows how to call Carbon routines and C++ code from within an Objective-C Cocoa program.
User Experience Sample Code 2007-02-05
CocoaInCarbon (HTML) (DMG) (ZIP)
Demonstrates using Cocoa GUI code in a Carbon application.
Design Guidelines, Runtime Architecture Sample Code 2005-10-04
Code Fragment Manager Reference (HTML) (PDF)
Describes the C API for loading and preparing PEF binaries.
Runtime Architecture Reference 2005-07-07
Code Signing Guide (HTML) (PDF)
Explains how you can sign your code and why you should.
Security Guides 2008-11-19
Code Signing Release Notes (HTML)
Security Release Notes 2007-10-31
Code Size Performance Guidelines (HTML) (PDF)
Guidelines for reducing the size of an application binary.
Performance Guides 2006-06-28
Code Speed Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance and efficiency of code.
Performance Guides 2005-07-07
Collection Manager Reference (HTML) (PDF)
Describes the C API for implementing an abstract data type that stores related pieces of information.
Data Management Reference 2003-04-01
Collections Programming Topics for Core Foundation (HTML) (PDF)
Explains how to group objects in arrays, sets, or dictionaries in Core Foundation.
Core Foundation, Data Management Guides 2003-08-07
Color Management Overview (HTML) (PDF)
Introduces basic concepts and defines color spaces.
Graphics & Imaging Guides 2005-07-07
Color Picker Manager Reference (HTML) (PDF)
Describes the C API used in Classic Mac OS to solicit color choices from users.
Graphics & Imaging Reference 2007-07-02
ColorBars (HTML) (DMG) (ZIP)
Shows how to enumerate, select, capture, manipulate, draw to, and release displays using the CGDirectDisplay API.
Graphics & Imaging Sample Code 2003-01-14
ColoredCheckBox (HTML) (DMG) (ZIP)
Demonstrates how to create a colored check box on a gray window backgrounds.
Human Interface Toolbox, User Experience 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
ColorSync Color Matching on Intel-based Macs (HTML)
QA1464: Describes special considerations for byte ordering when performing ColorSync color matching on Intel-based Macs
Graphics & Imaging Technical Q&As 2006-03-16
ColorSync Manager Reference (HTML) (PDF)
Describes the C API for ColorSync, the platform-independent color management system in Mac OS X.
Graphics & Imaging Reference 2005-06-04
ColorSyncDevices (HTML) (DMG) (ZIP)
Demonstrates how to use the new ColorSync Device Support APIs introduced with Mac OS X.
Graphics & Imaging Sample Code 2003-01-14
ColorSyncDevices-Cocoa (HTML) (DMG) (ZIP)
Demonstrates how to use the new ColorSync Device Manager routines in the Cocoa environment.
Graphics & Imaging Sample Code 2003-01-14
ComboBoxPrefs (HTML) (DMG) (ZIP)
Use CFPrefs to store URLs to images for use in a browser style combo box.
Graphics & Imaging, Human Interface Toolbox Sample Code 2005-10-04
Component Manager Reference (HTML) (PDF)
Describes an interface for using shared code resources.
Runtime Architecture Reference 2006-07-17
Compression Sessions - Configuring codec quality settings (HTML)
QA1444: Discusses how to set encoding quality for a Compression Sequence
QuickTime Technical Q&As 2005-10-17
Compression Sessions - Configuring options using the Standard Compression dialog (HTML)
QA1456: Discusses how to configure Compression Session options using Standard Compression dialog.
QuickTime Technical Q&As 2006-01-12
Compression Sessions - Enabling muti-pass encoding (HTML)
QA1450: Describes how to enable multi-pass encoding when using ICM compression sessions.
Graphics & Imaging, QuickTime Technical Q&As 2006-01-12
Compression Sessions - Multipass encoding and the pass mode flags (HTML)
QA1457: Discusses how the pass mode flags work when performing multipass compression operations.
QuickTime Technical Q&As 2006-10-02
Compression Sessions - Temporal compression options (HTML)
QA1455: Discusses the temporal compression option as it relates to quality and other compression session options.
QuickTime Technical Q&As 2006-01-12
Context Sharing Tips (HTML) (日本語 HTML)
QA1248: How to correctly share OpenGL contexts and what the limits on this sharing are.
Games, Graphics & Imaging Technical Q&As 2005-02-07
Control Manager Reference (HTML) (PDF)
Describes the C API for creating and manipulating Carbon controls.
Human Interface Toolbox, User Experience Reference 2007-03-26
ControlBackground (HTML) (DMG) (ZIP)
Shows how to affect the background color of a control when drawing it.
Human Interface Toolbox, User Experience Sample Code 2003-01-30
Converting RGB Colors to a Palette Index (HTML)
Deprecated - QD21: Explains how to convert RGB colors into the palette index created by an application.
Graphics & Imaging Technical Q&As 1995-09-15
Converting to Precomposed Unicode (HTML) (日本語 HTML)
QA1235: Describes how to convert a string to precomposed Unicode.
Internationalization, Text & Fonts Technical Q&As 2003-02-07