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
Sort by
Topic
Sort by
Resource Type
Sorted by
Date
aglClipBufferRect (HTML) (DMG) (ZIP)
Shows the use of clip regions and buffer rects in AGL.
Games, Graphics & Imaging Sample Code 2003-01-14
ATSUICurveAccessDemo (HTML) (DMG) (ZIP)
Demonstrates low-level ATSUI APIs which allow access to raw glyph curve data.
Internationalization, Text & Fonts Sample Code 2003-01-14
ATSUIDirectAccessDemo (HTML) (DMG) (ZIP)
Demonstrates some basic manipulations of the ATSUI DirectAccess api.
Text & Fonts Sample Code 2003-01-14
audioburntest (HTML) (DMG) (ZIP)
Uses the DRTrackCallbackProc and track properties to create a RedBook audio CD from AIFF files.
File Management Sample Code 2003-01-14
BasicInputMethod (HTML) (DMG) (ZIP)
An input method implemented as a text service component for Mac OS X.
Interapplication Communication, Text & Fonts Sample Code 2003-01-14
bulkerase (HTML) (DMG) (ZIP)
Demonstrates how to erase media using the DiscRecording framework.
File Management Sample Code 2003-01-14
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
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
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
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
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
databurntest (HTML) (DMG) (ZIP)
Demonstrates how to create a DRFolderRef and burn it to disc.
File Management Sample Code 2003-01-14
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
FinderDragPro (HTML) (DMG) (ZIP)
Sample file illustrating drag and drop techniques for use with file system objects.
Events & Other Input, File Management, Interapplication Communication, User Experience Sample Code 2003-01-14
Folder Watching (HTML) (DMG) (ZIP)
Demonstrates how a background only application can use Apple events to pass work to another application.
File Management, Interapplication Communication, Process Management Sample Code 2003-01-14
FullScreen (HTML) (DMG) (ZIP)
Shows how to use BeginFullScreen and EndFullScreen to enter and exit full-screen mode.
Graphics & Imaging Sample Code 2003-01-14
GetHWEthernetAddr (HTML) (DMG) (ZIP)
Deprecated - Shows how to obtain the hardware Ethernet address of a machine.
Networking Sample Code 2003-01-14
GetMACAddressSample (HTML) (DMG) (ZIP)
Demonstrates how to retrieve the MAC address for each Ethernet interface from the Mac OS X I/O Registry.
Networking, Security Sample Code 2003-01-14
GetSetOptions (HTML) (DMG) (ZIP)
Demonstrates a variety of uses of Open Transport's option management routines.
Networking Sample Code 2003-01-14
ListMania (HTML) (DMG) (ZIP)
Demonstrates a variety of techniques for using Open Transport's list utility routines.
Data Management, Networking Sample Code 2003-01-14
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
MoreAppleEvents (HTML) (DMG) (ZIP)
Provides routines that assist with the creation and sending of Apple events and object descriptors.
Interapplication Communication, Tools Sample Code 2003-01-14
MoreFiles (HTML) (DMG) (ZIP)
Shows various File Manager operations (file copy, etc.) through a collection of high-level routines.
File Management Sample Code 2003-01-14
MoreOSL (HTML) (DMG) (ZIP)
C library for implementing AppleScript support within your application.
Interapplication Communication Sample Code 2003-01-14
MPFileCopy (HTML) (DMG) (ZIP)
Demonstrates how to copy a folder and its contents using the HFS Plus APIs from an MP task.
File Management, Process Management Sample Code 2003-01-14
NamingTableAccess (HTML) (DMG) (ZIP)
Digs out the contents of the NamingTable in a TrueType 'sfnt'.
Text & Fonts Sample Code 2003-01-14
NewCCursor (HTML) (DMG) (ZIP)
Deprecated - Shows how to create a black and white 'CURS' and a color 'crsr' cursor resource by hand.
Graphics & Imaging, User Experience Sample Code 2003-01-14
NoCopyReceives (HTML) (DMG) (ZIP)
Demonstrates using no-copy receives under Open Transport.
Networking, Resource Management Sample Code 2003-01-14
NSLMiniBrowser (HTML) (DMG) (ZIP)
Deprecated - Uses the NSL API to find network services using SLP, NBP, and Directory Services.
Networking Sample Code 2003-01-14
ODOC (HTML) (DMG) (ZIP)
Illustrates how to send an open document ('odoc') Apple event to another application process.
Interapplication Communication Sample Code 2003-01-14
OT Virtual Server (HTML) (DMG) (ZIP)
Deprecated - Sample code which uses Open Transport and demonstrates real world issues.
Networking Sample Code 2003-01-14
OTLookupNameTest (HTML) (DMG) (ZIP)
Deprecated - Demonstrates how to lookup NBP entities on an AppleTalk network using Open Transport.
Networking Sample Code 2003-01-14
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
Play Video Sample (HTML) (DMG) (ZIP)
Deprecated - The sample makes use of the RequestVideo sample code API.
Graphics & Imaging Sample Code 2003-01-14
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
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
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
resolveRelativeAlias (HTML) (DMG) (ZIP)
Demonstrates the steps involved in creating and resolving a relative alias.
File Management Sample Code 2003-01-14
SignatureToApp (HTML) (DMG) (ZIP)
Deprecated - Takes a signature (creator code) and finds the corresponding application, running or on disk.
File Management, Process Management Sample Code 2003-01-14
SpellingChecker-CarbonCocoa (HTML) (DMG) (ZIP)
Implements procedural C wrapper around the Cocoa NSSpellChecker, exports it as a Mach-O bundle called "SpellCheck.bundle"
Runtime Architecture Sample Code 2003-01-14
SSLSample (HTML) (DMG) (ZIP)
Contains examples showing how to use SecureTransport.
Security Sample Code 2003-01-14
StyleFlatteningSample (HTML) (DMG) (ZIP)
Shows how to use the ATSUFlatten and ATSUUnflatten APIs.
Text & Fonts Sample Code 2003-01-14
TimeZone.Daylight (HTML) (DMG) (ZIP)
Deprecated - Shows how to read the current location and time zone that is set in Date & Time.
Text & Fonts Sample Code 2003-01-14
VelEng FFT (HTML) (DMG) (ZIP)
G4 Velocity Engine implementation of Fast Fourier Transform (FFT) and associated convolution/correlation routines.
Tools Sample Code 2003-01-14
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
Error Handler Reference (HTML) (PDF)
Describes the C API for a Mac OS 9 service that assumes control when certain low-level system errors occur.
Performance Reference 2003-01-01
Using Clip Region and Buffer Rectangles with OpenGL Carbon (HTML) (日本語 HTML)
QA1222: Shows the basics of using buffer rectangles and clip regions with AGL.
Games, Graphics & Imaging Technical Q&As 2002-12-19
Understanding Text Input and the Text Services Manager in Carbon (HTML) (PDF)
Discusses keyboard input, including Unicode, and explains how events are routed and handled.
Events & Other Input, Internationalization, Text & Fonts Guides 2002-12-11
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.
Games, Graphics & Imaging, Performance Technical Q&As 2002-12-04
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.
Games, Graphics & Imaging Technical Q&As 2002-12-02
Notification Manager Reference (HTML) (PDF)
Describes the C API used by background applications to communicate information to the user.
Events & Other Input Reference 2002-12-01
GetProcAdress and OpenGL Entry Points (HTML) (日本語 HTML)
QA1188: Technique for finding function pointers for OpenGL entry points in Cocoa and Carbon
Games, Graphics & Imaging Technical Q&As 2002-11-25
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
Keyboard Layout Services Reference (HTML) (PDF)
Describes the C API for managing key-to-character mappings used to support various languages.
Events & Other Input, Internationalization, Text & Fonts Reference 2002-11-18
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
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
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
HIObjectRegisterSubclass returns paramErr (HTML) (日本語 HTML)
QA1213: Explains in which case HIObjectRegisterSubclass would return paramErr and gives a work around.
Human Interface Toolbox Technical Q&As 2002-11-12
What is the minimal set of Carbon Events I need to override in order to implement a simple custom push button? (HTML) (日本語 HTML)
QA1210: Details the minimal set of Carbon Events needed to implement a simple custom push button HIView.
Human Interface Toolbox Technical Q&As 2002-11-12
QDSwapPort (HTML) (日本語 HTML)
QA1128: Explains when to use QDSwapPort.
Graphics & Imaging, Porting Technical Q&As 2002-11-06
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
Quartz 2D Interpolation (HTML) (日本語 HTML)
QA1186: Explains how to control Quartz 2D's image interpolation.
Graphics & Imaging, Printing Technical Q&As 2002-10-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
Ticket Services Reference (HTML) (PDF)
Describes the C API used by printer modules and PDEs to communicate printing information to the system.
Printing Reference 2002-10-23
FontSync Reference (HTML) (PDF)
Describes the C API for content-based font identification and comparison.
Text & Fonts Reference 2002-10-01
URL Access and the Missing Progress Dialog (HTML) (日本語 HTML)
Deprecated - QA1140: Explains a known bug in URL Access related to progress dialogs.
Networking Technical Q&As 2002-09-23
MIDI File Format (HTML)
Describes the QuickTime implementation of the MIDI file standard.
Audio Reference 2002-09-17
QuickTime Audio (HTML)
Explains how to enable recording and playback of various audio media.
Audio Guides 2002-09-17
Standard Sound Dialog Component (HTML)
Describes the QuickTime component that lets the user make audio parameter settings.
Audio Guides 2002-09-17
Setting request headers in URL Access (HTML) (日本語 HTML)
Deprecated - QA1073: Explains how to work around a bug in URL Access when setting request headers.
Networking Technical Q&As 2002-09-10
Using collection classes safely with multithreaded applications (HTML) (日本語 HTML)
TN2059: Describes some problems with and workarounds for using mutable collection classes in multithreaded applications.
Process Management Technical Notes 2002-09-10
Mac OS X 10.2 (HTML)
TN2053: Describes software development-related changes provided in system software update Mac OS X 10.2.
Tools Technical Notes 2002-09-04
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
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
Signals and Threads (HTML) (日本語 HTML)
QA1184: Describes how threads and signals interact.
Process Management Technical Q&As 2002-08-27
Desktop Icons (HTML)
Explains how to provide custom icons for a Carbon application and its documents.
User Experience Guides 2002-08-19
Resource forks in Mach-O binaries (HTML) (日本語 HTML)
QA1175: Advises against using resource forks in Mach-O binaries.
Human Interface Toolbox, Resource Management, Runtime Architecture Technical Q&As 2002-08-07
Using Navigation Services to filter QuickTime files (HTML) (日本語 HTML)
QA1152: Using the CanQuickTimeOpenFile function in a Navigation Services filter to display files that QuickTime can open.
Human Interface Toolbox Technical Q&As 2002-07-15
My ListBox control works fine on Mac OS X but I get a crash on Mac OS 9 when I click in the scrollbar (HTML) (日本語 HTML)
QA1156: Explains the requirements for the use of the Listbox Control on Mac OS 9 and Mac OS X.
Human Interface Toolbox Technical Q&As 2002-07-12
Base-Derived async image codecs must implement ImageCodecQueueStarting and ImageCodecQueueStopping (HTML) (日本語 HTML)
QA1157: Describes why base-derived codecs that set canAsync must implement ImageCodecQueueStarting and ImageCodecQueueStopping.
QuickTime Technical Q&As 2002-07-09
How can I set the default location with the modern Navigation APIs NavCreatexxx? (HTML) (日本語 HTML)
QA1151: Explains how to set the default location with a NavCustomControl call using the kNavCtlSetLocation message in the Event Proc.
File Management, Human Interface Toolbox Technical Q&As 2002-07-01
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
Exclusive File Access in Mac OS X (HTML) (日本語 HTML)
TN2037: Covers exclusive file access In Mac OS X
File Management Technical Notes 2002-05-01
Retrieving Data from AEDesc Records - do not use the dataHandle field (HTML) (日本語 HTML)
QA1139: Describes the correct way to access data stored in AEDesc records.
Interapplication Communication Technical Q&As 2002-04-10
AEStream and Friends (HTML) (日本語 HTML)
TN2046: Describes the AEStream family of routines.
Interapplication Communication, Process Management Technical Notes 2002-03-29
AEBuild*, AEPrint* and Friends (HTML) (日本語 HTML)
TN2045: Describes the AEBuild* and AEPrint* family of routines.
Interapplication Communication, Process Management Technical Notes 2002-03-21
Why isn't my Static Text Control deactivating when my other controls are? (HTML) (日本語 HTML)
QA1125: Explains why a Static Text Control is not deactivating when the other controls are.
Human Interface Toolbox Technical Q&As 2002-03-11
Mac OS X: v10.1.1 - v10.1.3 (HTML)
TN2043: Describes changes provided by system software updates 10.1.1 through 10.1.3.
Tools Technical Notes 2002-03-06
MPRemoteCall Contexts (HTML) (日本語 HTML)
QA1122: Describes two recently introduced options for the context parameter of MPRemoteCall.
Process Management Technical Q&As 2002-02-18
The "/.vol" directory and "volfs" (HTML) (日本語 HTML)
QA1113: Describes how the Carbon File Manager interacts with BSD via "volfs" and the "/.vol" directory.
File Management Technical Q&As 2002-02-14
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
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
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
Static linking of user binaries on Mac OS X (HTML) (日本語 HTML)
QA1118: Explains why static linking of user binaries is not supported on Mac OS X, and possible workarounds.
Runtime Architecture Technical Q&As 2002-02-07
Locale Utilities Reference (HTML) (PDF)
Describes the C API for supporting conventions of a specific language or region.
Internationalization, Text & Fonts Reference 2002-01-24
How to use the ATSUI Low Level APIs to get glyph outlines (HTML) (日本語 HTML)
TN2033: Covers the ATSUI low-level APIs.
Human Interface Toolbox Technical Notes 2001-11-26