Jump To:
Leopard Guides
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
Date
Accessibility Overview (HTML) (PDF)
Explains how to use the accessibility features built into Mac OS X.
Accessibility 2008-03-11
Accessibility Programming Guidelines for Carbon (HTML) (PDF)
Explains how to access-enable Carbon applications.
Accessibility 2007-02-08
Address Book Programming Guide for Mac OS X (HTML) (PDF)
Explains how to add, search, remove, and customize Address Book records.
Apple Applications 2006-04-04
Apple Help Programming Guide (HTML) (PDF)
Explains how to author, package, and display user help content in Mac OS X.
Apple Applications 2007-10-31
Creating Printing Presets for iPhoto (HTML) (PDF)
Rules for creating and installing printer-specific collections of settings. Includes a sample file.
Apple Applications 2005-07-07
Audio Queue Services Programming Guide (HTML) (PDF)
Describes how to play and record audio using Audio Queue Services.
Audio 2007-10-31
Audio Unit Programming Guide (HTML) (PDF)
Explains how to use Core Audio frameworks and the Core Audio SDK to create audio units.
Audio 2007-10-31
Core Audio Overview (HTML) (PDF)
Provides an overview of Core Audio and its programming interfaces.
Audio 2007-01-08
QuickTime Audio (HTML)
Explains how to enable recording and playback of various audio media.
Audio 2002-09-17
QuickTime Music Architecture Guide (HTML) (PDF)
Explains how to enable synthesizing and playing of sounds and musical sequences.
Audio 2006-01-10
Standard Sound Dialog Component (HTML)
Describes the QuickTime component that lets the user make audio parameter settings.
Audio 2002-09-17
Binary Data Programming Guide for Core Foundation (HTML) (PDF)
Explains how to create and use Core Foundation data objects, object-oriented wrappers for byte buffers.
Core Foundation 2006-01-10
Bundle Programming Guide (HTML) (PDF)
Explains how to use Core Foundation bundle objects to organize resources.
Core Foundation 2005-11-09
Collections Programming Topics for Core Foundation (HTML) (PDF)
Explains how to group objects in arrays, sets, or dictionaries in Core Foundation.
Core Foundation 2003-08-07
Core Foundation Design Concepts (HTML) (PDF)
Explains the fundamental design concepts that underlie all Core Foundation programming interfaces.
Core Foundation 2005-08-11
Dates and Times Programming Guide for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation dates and times.
Core Foundation 2005-08-11
Debugging Programming Topics for Core Foundation (HTML) (PDF)
Tips and techniques for debugging Core Foundation code.
Core Foundation 2003-01-17
Memory Management Programming Guide for Core Foundation (HTML) (PDF)
Explains how to allocate and deallocate objects in Core Foundation.
Core Foundation 2008-10-15
Plug-ins (HTML) (PDF)
Explains how to use the plug-in architecture provided by Core Foundation.
Core Foundation 2005-03-03
Preferences Programming Topics for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation user preferences.
Core Foundation 2006-10-03
Property List Programming Topics for Core Foundation (HTML) (PDF)
Explains how to use structured, textual representations of data in Core Foundation.
Core Foundation 2006-02-07
Strings Programming Guide for Core Foundation (HTML) (PDF)
Explains how to create, manipulate, and search strings in Core Foundation, and how strings interact with encodings and character sets.
Core Foundation 2008-03-11
XML Programming Topics for Core Foundation (HTML) (PDF)
Explains how to parse XML documents into structured objects.
Core Foundation 2008-10-15
Attributed Strings Programming Guide (HTML) (PDF)
Explains how to use attributed strings, which manage attributes of character strings or individual characters.
Data Management 2007-06-04
Binary Data Programming Guide for Core Foundation (HTML) (PDF)
Explains how to create and use Core Foundation data objects, object-oriented wrappers for byte buffers.
Data Management 2006-01-10
Collections Programming Topics for Core Foundation (HTML) (PDF)
Explains how to group objects in arrays, sets, or dictionaries in Core Foundation.
Data Management 2003-08-07
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 2006-12-21
Dates and Times Programming Guide for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation dates and times.
Data Management 2005-08-11
Preferences Programming Topics for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation user preferences.
Data Management 2006-10-03
Property List Programming Topics for Core Foundation (HTML) (PDF)
Explains how to use structured, textual representations of data in Core Foundation.
Data Management 2006-02-07
Search Kit Programming Guide (HTML) (PDF)
Describes Search Kit architecture and workflow, and how to add search capabilities to Carbon and Cocoa applications.
Data Management 2005-12-06
Strings Programming Guide for Core Foundation (HTML) (PDF)
Explains how to create, manipulate, and search strings in Core Foundation, and how strings interact with encodings and character sets.
Data Management 2008-03-11
Uniform Type Identifiers Overview (HTML) (PDF)
Describes uniform type identifiers and how to use them.
Data Management 2008-04-08
XML Programming Topics for Core Foundation (HTML) (PDF)
Explains how to parse XML documents into structured objects.
Data Management 2008-10-15
64-Bit Guide for Carbon Developers (HTML) (PDF)
Explains the changes necessary to create a 64-bit executable version of a Carbon application.
Design Guidelines 2007-12-11
Accessibility Programming Guidelines for Carbon (HTML) (PDF)
Explains how to access-enable Carbon applications.
Design Guidelines 2007-02-08
Apple Human Interface Guidelines (HTML) (PDF)
Introduces the Mac OS X user experience and explains how to design an application for Aqua.
Design Guidelines 2008-06-09
Carbon-Cocoa Integration Guide (HTML) (PDF)
Explains how to use both Carbon and Cocoa in developing an application.
Design Guidelines 2007-10-31
Runtime Configuration Guidelines (HTML) (PDF)
Conceptual and reference information for dynamically configuring your software.
Design Guidelines 2008-07-08
Spotlight Overview (HTML) (PDF)
Introduces the main components and services of Apple's metadata technology.
Design Guidelines 2007-05-27
Xcode Design Tools for Class Modeling (HTML) (PDF)
Describes the Xcode Design Tools for Class Modeling.
Design Guidelines 2009-02-04
Xcode Unit Testing Guide (HTML) (PDF)
Explains how to incorporate test cases to validate individual units of source code.
Design Guidelines 2008-05-02
Apple Events Programming Guide (HTML) (PDF)
Provides conceptual information and programming examples for working with Apple events.
Events & Other Input 2007-10-31
Carbon Event Manager Programming Guide (HTML) (PDF)
Essential information for implementing Carbon events.
Events & Other Input 2005-07-07
Supporting Unicode Input (HTML) (PDF)
Introduces international text in Mac OS X and lists the tasks an application needs to perform.
Events & Other Input 2005-07-07
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 2002-12-11
Using Ink Services in Your Application (HTML) (PDF)
Explains how Ink Services works and how to customize handwriting recognition.
Events & Other Input 2003-07-24
File System Overview (HTML) (PDF)
Conceptual information and guidelines describing the structure and usage of the Mac OS X file system.
File Management 2008-07-11
Launch Services Programming Guide (HTML) (PDF)
Explains how an application can open document files, other applications, and URLs.
File Management 2007-08-23
Navigation Services for Carbon: An Overview (HTML) (PDF)
Introduces changes to the Navigation Services API for CarbonLib and Carbon in Mac OS X.
File Management 2003-12-10
Navigation Services Programming Guide (HTML) (PDF)
Explains how to provide a user interface for navigating to, opening, and saving files.
File Management 2007-07-10
Spotlight Importer Programming Guide (HTML) (PDF)
Describes the role of metadata importers and how to write them.
File Management 2007-05-27
Spotlight Query Programming Guide (HTML) (PDF)
Describes how to add Spotlight searching to your applications.
File Management 2006-03-08
Uniform Type Identifiers Overview (HTML) (PDF)
Describes uniform type identifiers and how to use them.
File Management 2008-04-08
Animation Overview (HTML) (PDF)
Describes the animation facilities provided by Mac OS X.
Games 2008-10-15
Carbon Overview (HTML) (PDF)
Defines Carbon and the components of Carbon applications. Provides a whirlwind tour of Carbon APIs.
General 2005-11-09
Animation Overview (HTML) (PDF)
Describes the animation facilities provided by Mac OS X.
Graphics & Imaging 2008-10-15
Color Management Overview (HTML) (PDF)
Introduces basic concepts and defines color spaces.
Graphics & Imaging 2005-07-07
Core Image Programming Guide (HTML) (PDF)
Provides an overview and explains how to use and create image filters and image units.
Graphics & Imaging 2008-06-09
Image Capture Applications Programming Guide (HTML) (PDF)
Describes the interaction between applications programs and image capture devices such as cameras and scanners.
Graphics & Imaging 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 2007-07-02
Image Unit Tutorial (HTML) (PDF)
Describes how to write image processing kernels and package them for distribution.
Graphics & Imaging 2009-05-06
OpenGL Extensions Guide (HTML)
Information about OpenGL functionality supported in Mac OS X.
Graphics & Imaging 2003-09-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 2007-12-11
Quartz 2D Programming Guide (HTML) (PDF)
Explains how to use Quartz 2D. Includes illustrations and sample code.
Graphics & Imaging 2007-12-11
Quartz Composer Programming Guide (HTML) (PDF)
Describes how to used the framework to load, play, and control compositions.
Graphics & Imaging 2008-10-15
Quartz Display Services Programming Topics (HTML) (PDF)
Shows how to configure and control display hardware using Quartz Display Services.
Graphics & Imaging 2006-06-28
Quartz Programming Guide for QuickDraw Developers (HTML) (PDF)
Provides strategies to help Carbon programmers replace QuickDraw code with Quartz.
Graphics & Imaging 2006-09-05
Resolution Independence Guidelines (HTML) (PDF)
Describes resolution independence and how to start updating applications to support high-resolution monitors.
Graphics & Imaging 2007-05-04
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 2004-08-31
Creating Carbon Menus (HTML) (PDF)
Describes how to create menus in Carbon applications.
Human Interface Toolbox 2004-02-23
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 2007-08-07
Handling Carbon Windows and Controls (HTML) (PDF)
A guidebook for implementing windows and controls in Carbon applications.
Human Interface Toolbox 2005-07-07
HIArchive Programming Guide (HTML) (PDF)
Describes how to store data objects using HIArchive. Also includes information to make custom HIObjects archivable.
Human Interface Toolbox 2005-08-11
HIToolbar Programming Guide (HTML) (PDF)
Explains how to create toolbars in Carbon applications.
Human Interface Toolbox 2005-07-07
HIView Programming Guide (HTML) (PDF)
Describes view-based controls and how to implement them in Carbon applications.
Human Interface Toolbox 2007-10-31
Obtaining and Using Icons With Icon Services (HTML) (PDF)
Explains how to obtain and display icons for a Carbon application or extension.
Human Interface Toolbox 2003-02-01
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 2001-11-20
Upgrading to the Mac OS X HIToolbox (HTML) (PDF)
A porting guide for Carbon developers seeking to adopt Mac OS X HIToolbox features such as nib-based windows and HIViews.
Human Interface Toolbox 2004-06-28
AltiVec/SSE Migration Guide (HTML) (PDF)
Explains how to convert PowerPC AltiVec code to Intel SSE code.
Intel-Based Macs 2005-09-08
GCC Porting Guide (HTML) (PDF)
Provides guidance on how to migrate projects to new GCC releases.
Intel-Based Macs 2006-10-03
Mac OS X ABI Function Call Guide (HTML) (PDF)
Describes the function-calling conventions used in the architectures supported by Mac OS X.
Intel-Based Macs 2009-02-04
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 2006-10-26
Universal Binary Programming Guidelines, Second Edition (HTML) (PDF)
Conceptual information and tips for writing code that runs on PowerPC-based and Intel-based Macintosh computers.
Intel-Based Macs 2009-02-04
AppleScript Language Guide (HTML) (PDF)
Defines the AppleScript scripting language. Includes many brief sample scripts.
Interapplication Communication 2008-03-11
AppleScript Overview (HTML) (PDF)
Introduces the technology for writing scripts to control applications. Useful for scripters and application developers.
Interapplication Communication 2007-10-31
Drag Manager Programmer's Guide (PDF)
Explains how to add support for drag and drop to a Carbon application.
Interapplication Communication 1995-12-11
HIArchive Programming Guide (HTML) (PDF)
Describes how to store data objects using HIArchive. Also includes information to make custom HIObjects archivable.
Interapplication Communication 2005-08-11
Launch Services Programming Guide (HTML) (PDF)
Explains how an application can open document files, other applications, and URLs.
Interapplication Communication 2007-08-23
Pasteboard Manager Programming Guide (HTML) (PDF)
Describes how to create and manage pasteboards in Carbon applications.
Interapplication Communication 2005-07-07
Setting Up Your Carbon Application to Use the Services Menu (HTML) (PDF)
Explains how to make a Carbon application share functionality with other applications.
Interapplication Communication 2003-12-10
Uniform Type Identifiers Overview (HTML) (PDF)
Describes uniform type identifiers and how to use them.
Interapplication Communication 2008-04-08
XML-RPC and SOAP Programming Guide (HTML) (PDF)
Explains how to make remote procedure calls from applications or from AppleScript scripts.
Interapplication Communication 2005-03-03
ATSUI Programming Guide (HTML) (PDF)
Explains how to lay out, process, and draw Unicode text.
Internationalization 2007-07-10
Dates and Times Programming Guide for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation dates and times.
Internationalization 2005-08-11
Handling Unicode Text Editing With MLTE (HTML) (PDF)
Explains how to use Apple's multilingual text engine.
Internationalization 2008-10-15
Internationalization Programming Topics (HTML) (PDF)
Explains how to support multiple languages in software.
Internationalization 2009-01-06
Locales Programming Guide (HTML) (PDF)
Explains how to use locales to retrieve, interpret, and display localized information in Core Foundation.
Internationalization 2008-10-15
Programming With the Language Analysis Manager (HTML) (PDF)
Explains how morpholgical analysis is performed by the system.
Internationalization 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 2005-07-07