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
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
Setting a UserPane's feature (HTML) (日本語 HTML)
TB64: Explains how to set up the control attributes when creating controls, and UserPanes in particular.
Human Interface Toolbox Technical Q&As 1999-09-27
Setting default open Finder window (HTML)
QA1449: How to set the default Finder window to open when a disk is mounted
Human Interface Toolbox Technical Q&As 2006-01-03
SetWindBackColor (HTML) (DMG) (ZIP)
Demonstrates how to programmatically set the background color of a window without flicker without the Appearance Manager.
Human Interface Toolbox Sample Code 2003-01-30
Sheets (HTML) (DMG) (ZIP)
Demonstrates how to create a sheet both in code and through the use of a Nib file.
Human Interface Toolbox Sample Code 2003-10-24
SimpleTabControl (HTML) (DMG) (ZIP)
Demonstrates how to use a simple tabbed pane window. This control is often used in preferences.
Human Interface Toolbox Sample Code 2003-02-20
SplitView (HTML) (DMG) (ZIP)
An HIView sample that uses the HIFramework and implements a scalable split view.
Human Interface Toolbox Sample Code 2003-01-30
StarMenu (HTML) (DMG) (ZIP)
Shows how to create a Custom Star Shape menu using the new HIMenuView class.
Human Interface Toolbox Sample Code 2007-05-24
StopAlert and NoteAlert now use the Application icon (HTML)
QA1378: System Alerts now use the Application icon to let the User easily identify the source of the alert.
Human Interface Toolbox Technical Q&As 2005-10-04
TabsShowcase (HTML) (DMG) (ZIP)
Shows how to instantiate and use the Tab control both programmatically and from a nib file.
Human Interface Toolbox Sample Code 2005-10-28
TickerView (HTML) (DMG) (ZIP)
HIView subclass which implements a scrolling, live stock ticker.
Human Interface Toolbox Sample Code 2003-01-30
Tiler (HTML) (DMG) (ZIP)
Modify your applications tile icon within the Mac OS X dock by using both QuickDraw and Quartz
Human Interface Toolbox Sample Code 2003-10-24
TypeServicesForUnicode (HTML) (DMG) (ZIP)
Shows how to use various ATSUI functions and features going from simple to very complex.
Human Interface Toolbox Sample Code 2005-08-10
Unified window title and toolbar appearance in Carbon (HTML)
QA1423: How to use the unified window title and toolbar appearance for a Carbon window.
Human Interface Toolbox Technical Q&As 2005-06-17
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 Guides 2004-06-28
URLTextView (HTML) (DMG) (ZIP)
An HIView subclass which uses LaunchServices to open the URL attached to the view.
Human Interface Toolbox Sample Code 2003-01-30
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
Using the Drag Manager to Interact with and Manipulate File System Entities (HTML) (日本語 HTML)
TN1085: Details the data flavors provided by the Drag Manager for interacting with and manipulating file system entities.
Human Interface Toolbox Technical Notes 1996-12-01
Using the Wide Routines in <FixMath.h> (HTML)
TB14: Details the Wide routines listed in the FixMath.h header (WideDivide, WideCompare, WideBitShift, WideShift, etc.).
Human Interface Toolbox Technical Q&As 1995-06-01
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
Why am I not receiving kEventControlHit events for some of the parts of my custom HIView? (HTML)
QA1439: Explains why part codes greater than 127 should not be used
Human Interface Toolbox Technical Q&As 2005-07-14
Why doesn't my Scrolling Text Box control work in a compositing window? (HTML)
QA1324: Explains why some older controls do not function properly in compositing windows and points to a replacement.
Human Interface Toolbox Technical Q&As 2003-11-13
Why is my application crashing in QuickDraw when I'm not using it? (HTML)
QA1256: provides an explanation and workaround for a rare but serious problem affecting all applications.
Human Interface Toolbox Technical Q&As 2006-11-13
Why is my Control/HIView not accepting drops on Mac OS X v10.4 (Tiger)? (HTML)
QA1426: Explains how to handle correctly the kEventControlDragEnter event so drops will work in a Control or HIView.
Human Interface Toolbox Technical Q&As 2005-04-29
Why isn't my edit text box in my Navigation dialog's custom area working on 10.3? (HTML)
QA1315: Explains a bug in the Mac OS X 10.3 Navigation Services Custom Area involving the EditText and its work around.
Human Interface Toolbox Technical Q&As 2003-10-28
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
Window Manager Reference (HTML) (PDF)
Describes the C API for creating and manipulating Carbon windows.
Human Interface Toolbox Reference 2007-10-31
WindowFun (HTML) (DMG) (ZIP)
Create window layers and groups. Drawing transparent lines. How to display the "Poof" the toolbar uses.
Human Interface Toolbox Sample Code 2005-08-24
X11 FAQ (HTML) (日本語 HTML)
QA1232: Frequently Asked Questions about using Apple's X Window System (X11) implementation.
Human Interface Toolbox Technical Q&As 2003-11-17
Adopting Universal Binaries on Mac OS X (HTML)
Learn about universal binaries and how to get your applications ready for Intel-based Macs.
Intel-Based Macs Articles 2005-08-26
AltiVec/SSE Migration Guide (HTML) (PDF)
Explains how to convert PowerPC AltiVec code to Intel SSE code.
Intel-Based Macs Guides 2005-09-08
Byte-Order Utilities Reference (HTML) (PDF)
Describes Core Foundation byte-order functions.
Intel-Based Macs Reference 2006-05-23
Core Endian Reference (HTML) (PDF)
Describes the C API for creating and installing callbacks to byte swap custom data.
Intel-Based Macs Reference 2007-05-29
GCC Porting Guide (HTML) (PDF)
Provides guidance on how to migrate projects to new GCC releases.
Intel-Based Macs Guides 2006-10-03
GNU C/C++/Objective-C 4.0.1 Compiler User Guide (HTML)
Describes the Apple version of the GNU 4.0.1 compiler.
Intel-Based Macs Reference 2007-10-31
Going Universal: Audio Developers Catch the Wave (HTML)
Learn how audio developers who built universal binaries of their applications are reaping the benefits.
Intel-Based Macs Articles 2006-07-18
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 Guides 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 Guides 2006-10-26
Scoping Your Transition Projects (HTML)
Learn how to transition to Intel-based Macs.
Intel-Based Macs Articles 2005-09-27
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 Guides 2009-02-04
ABPresence (HTML) (DMG) (ZIP)
Displays a list of all the people in your Address Book and their iChat status.
Interapplication Communication Sample Code 2006-08-04
AddressBookCarbon (HTML) (DMG) (ZIP)
Demonstrates some basic manipulations of the Mac OS X 10.2.x (and beyond) Address Book API.
Interapplication Communication Sample Code 2003-01-14
AddressBookCocoa (HTML) (DMG) (ZIP)
Demonstrates some basic manipulations of the Mac OS X 10.2.x (and beyond) Address Book API.
Interapplication Communication Sample Code 2003-01-14
AEBuild*, AEPrint* and Friends (HTML) (日本語 HTML)
TN2045: Describes the AEBuild* and AEPrint* family of routines.
Interapplication Communication Technical Notes 2002-03-21
AESendThreadSafe (HTML) (DMG) (ZIP)
Demonstrates how to send Apple events from threads other than the main thread.
Interapplication Communication Sample Code 2007-03-09
AEStream and Friends (HTML) (日本語 HTML)
TN2046: Describes the AEStream family of routines.
Interapplication Communication Technical Notes 2002-03-29
Apple Event Manager Reference (HTML) (PDF)
Describes the C API for interapplication communication using Apple events.
Interapplication Communication Reference 2007-07-13
AppleScript Language Guide (HTML) (PDF)
Defines the AppleScript scripting language. Includes many brief sample scripts.
Interapplication Communication Guides 2008-03-11
AppleScript Overview (HTML) (PDF)
Introduces the technology for writing scripts to control applications. Useful for scripters and application developers.
Interapplication Communication Guides 2007-10-31
AppleScript Terminology and Apple Event Codes Reference (HTML)
Lists terms used in AppleScript, AppleScript Studio, and Standard Additions with their matching codes.
Interapplication Communication Release Notes 2006-06-28
BasicInputMethod (HTML) (DMG) (ZIP)
An input method implemented as a text service component for Mac OS X.
Interapplication Communication Sample Code 2003-01-14
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
Carbon Pasteboards: Enhanced Data Sharing (HTML)
Learn how to add Clipboard support to your application, including copy and paste and drag and drop.
Interapplication Communication Articles 2004-08-16
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.
Interapplication Communication Technical Notes 2001-06-07
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
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 Reference 2006-07-12
EmbededAppleScripts (HTML) (DMG) (ZIP)
Extending the functionality of your application by adding precompiled AppleScripts.
Interapplication Communication Sample Code 2003-09-04
FinderDragPro (HTML) (DMG) (ZIP)
Sample file illustrating drag and drop techniques for use with file system objects.
Interapplication Communication Sample Code 2003-01-14
FinderLaunch (HTML) (DMG) (ZIP)
Shows how to open documents by sending Apple Events to the Finder.
Interapplication Communication Sample Code 2003-10-14
Folder Watching (HTML) (DMG) (ZIP)
Demonstrates how a background only application can use Apple events to pass work to another application.
Interapplication Communication Sample Code 2003-01-14
HIArchive Programming Guide (HTML) (PDF)
Describes how to store data objects using HIArchive. Also includes information to make custom HIObjects archivable.
Interapplication Communication Guides 2005-08-11
HIArchive Reference (HTML) (PDF)
Describes the C API for storing and retrieving data in HIArchives.
Interapplication Communication Reference 2005-08-11
Installing input methods on Mac OS X (HTML)
QA1054: Describes how to install and use input methods on Mac OS X.
Interapplication Communication Technical Q&As 2001-09-14
Launch Services Programming Guide (HTML) (PDF)
Explains how an application can open document files, other applications, and URLs.
Interapplication Communication Guides 2007-08-23
Launch Services Reference (HTML) (PDF)
Describes an API for opening documents, other applications, and URLs, in a way similar to the Finder or the Dock.
Interapplication Communication Reference 2006-07-13
LoginItemsAE (HTML) (DMG) (ZIP)
Uses Apple events to manipulate the list of login items (items launched when you log in).
Interapplication Communication Sample Code 2005-10-17
MoreAppleEvents (HTML) (DMG) (ZIP)
Provides routines that assist with the creation and sending of Apple events and object descriptors.
Interapplication Communication Sample Code 2003-01-14
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Interapplication Communication Sample Code 2003-10-27
MoreOSL (HTML) (DMG) (ZIP)
C library for implementing AppleScript support within your application.
Interapplication Communication Sample Code 2003-01-14
Notifying the Finder of changed or newly created files (HTML) (日本語 HTML)
QA1260: Recommended approach to notifying the Finder to update its open windows of a file creation or change.
Interapplication Communication Technical Q&As 2003-04-15
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
On Launching an App with a Document (HTML) (日本語 HTML)
TN1002: Explains how to programatically launch an application and then tell it to open a document.
Interapplication Communication Technical Notes 2000-07-01
Open Scripting Architecture Reference (HTML) (PDF)
Describes the API for compiling and executing scripts in applications and writing scripting components.
Interapplication Communication Reference 2007-05-07
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 Sample Code 2005-08-10
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.
Interapplication Communication Sample Code 2003-01-14
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
Scrap Manager Reference (HTML) (PDF)
Deprecated - Describes the legacy C API used to copy items to and from the Clipboard. Replaced by the Pasteboard Manager.
Interapplication Communication Reference 2007-12-11
Scripting Additions for Mac OS X (HTML) (日本語 HTML)
TN1164: Talks about how to create AppleScript scripting additions (OSAX) for Mac OS X.
Interapplication Communication Technical Notes 2008-04-24
Sending an Email (HTML)
QA1084: Shows how to create an email in the user's prefered email application.
Interapplication Communication Technical Q&As 2004-11-05
Setting environment variables for user processes (HTML)
QA1067: Tells how to set environment variables for user processes.
Interapplication Communication Technical Q&As 2001-10-25
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 Guides 2003-12-10
Simplifying Data Handling with Uniform Type Identifiers (HTML)
Learn to use UTIs to take advantage of key Mac OS X technologies in your application.
Interapplication Communication Articles 2005-07-12
Uniform Type Identifiers Overview (HTML) (PDF)
Describes uniform type identifiers and how to use them.
Interapplication Communication Guides 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 Guides 2005-03-03
ATSUI Programming Guide (HTML) (PDF)
Explains how to lay out, process, and draw Unicode text.
Internationalization Guides 2007-07-10
ATSUI Reference (HTML) (PDF)
Describes the C API for rendering Unicode-encoded text with advanced typographic features.
Internationalization Reference 2007-06-28
ATSUICurveAccessDemo (HTML) (DMG) (ZIP)
Demonstrates low-level ATSUI APIs which allow access to raw glyph curve data.
Internationalization Sample Code 2003-01-14
Carbon Core Release Notes (HTML)
Internationalization Release Notes 2007-10-31
Converting to Precomposed Unicode (HTML) (日本語 HTML)
QA1235: Describes how to convert a string to precomposed Unicode.
Internationalization Technical Q&As 2003-02-07
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.
Internationalization Guides 2005-08-11
Handling Unicode Text Editing With MLTE (HTML) (PDF)
Explains how to use Apple's multilingual text engine.
Internationalization Guides 2008-10-15
How can I determine the order of the languages set by the user in the Language tab of the International preference pane? (HTML)
QA1391: Retrieving the order of the languages set by the International preference pane in Cocoa, Carbon, and Terminal.
Internationalization Technical Q&As 2006-12-19
Internationalization Programming Topics (HTML) (PDF)
Explains how to support multiple languages in software.
Internationalization Guides 2009-01-06
Keyboard Layout Services Reference (HTML) (PDF)
Describes the C API for managing key-to-character mappings used to support various languages.
Internationalization Reference 2002-11-18
Language Analysis Manager Reference (HTML) (PDF)
Describes the Carbon shared library that performs morphological analysis for Japanese text.
Internationalization Reference 2003-04-01
Locale Utilities Reference (HTML) (PDF)
Describes the C API for supporting conventions of a specific language or region.
Internationalization Reference 2002-01-24