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
HIFleetingControls (HTML) (DMG) (ZIP)
Implements fleeting controls such as seen in QuickTime Player full screen mode or iPhoto slideshow
Human Interface Toolbox Sample Code 2007-05-08
HIFramework (HTML) (DMG) (ZIP)
Contains C++ classes which are used by other HIToolbox sample code releases.
Human Interface Toolbox Sample Code 2003-02-06
HIGeometry Reference (HTML) (PDF)
Describes the C API that defines basic geometric objects for HIToolbox.
Graphics & Imaging, Human Interface Toolbox Reference 2007-06-11
High Level Toolbox Release Notes (10.4) (HTML)
Human Interface Toolbox Release Notes 2006-01-10
High Level Toolbox Release Notes (10.4.2) (HTML)
Human Interface Toolbox Release Notes 2006-01-10
High Level Toolbox Release Notes (10.4.3) (HTML)
Human Interface Toolbox Release Notes 2006-01-10
High Level Toolbox Release Notes (10.5) (HTML)
Describes new HIToolbox features and enhancements for Mac OS X v10.5.
Human Interface Toolbox Release Notes 2007-10-31
High Level Toolbox Release Notes (10.5.2) (HTML)
Describes HIToolbox enhancements for Mac OS X v10.5.2.
Human Interface Toolbox Release Notes 2008-03-11
HIObject Reference (HTML) (PDF)
Describes the C API for creating and manipulating human interface objects in Carbon applications.
Human Interface Toolbox, User Experience Reference 2005-08-11
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
HIObjectThreadController (HTML) (DMG) (ZIP)
Shows how threads can interact with the User Interface handled by the main thread of the application.
Human Interface Toolbox Sample Code 2005-08-10
HIScrollingTextBox (HTML) (DMG) (ZIP)
Offers replacement custom HIViews for the Scrolling TextBox control which does not work in compositing windows.
Human Interface Toolbox Sample Code 2003-11-06
HIShape Reference (HTML) (PDF)
Describes the Carbon API for manipulating HIShape objects.
Graphics & Imaging, Human Interface Toolbox, User Experience Reference 2004-06-28
HISimpleList (HTML) (DMG) (ZIP)
Illustrates how to create a simple list using the HIView APIs introduced in Mac OS X 10.2.
Human Interface Toolbox Sample Code 2006-03-03
HITextShowcase (HTML) (DMG) (ZIP)
Illustrates some of the different text-related controls, non-controls, and HIViews that are available in Mac OS X 10.3.
Human Interface Toolbox, Text & Fonts Sample Code 2003-10-27
HITextViewDemo (HTML) (DMG) (ZIP)
Overview of basic HITextView functionality, including Tiger's new font & spelling panel support.
Human Interface Toolbox, Text & Fonts Sample Code 2005-06-01
HITextViewShowcase (HTML) (DMG) (ZIP)
Shows how to create a HITextView using Interface Builder and using programming functions only.
Human Interface Toolbox, Text & Fonts Sample Code 2003-10-30
HIToolbar Programming Guide (HTML) (PDF)
Explains how to create toolbars in Carbon applications.
Human Interface Toolbox, User Experience Guides 2005-07-07
HIToolbar Reference (HTML) (PDF)
Describes the C API for creating and manipulating toolbars in Carbon applications.
Human Interface Toolbox, User Experience Reference 2005-09-08
HIToolboxSOU-Delegates (HTML) (DMG) (ZIP)
Shows how to use the HIObject Delegate API.
Human Interface Toolbox Sample Code 2006-08-04
HIToolboxSOU-MenuItemViews (HTML) (DMG) (ZIP)
Shows how to use the Menu Item View API.
Human Interface Toolbox Sample Code 2006-08-04
HIView APIs vs. Control Manager APIs (HTML)
TN2074: Provides some clarification on the similar APIs and similar behaviors found in the HIView and Control Managers.
Human Interface Toolbox Technical Notes 2003-10-29
HIView Programming Guide (HTML) (PDF)
Describes view-based controls and how to implement them in Carbon applications.
Human Interface Toolbox, User Experience Guides 2007-10-31
HIView Reference (HTML) (PDF)
Describes the C API for creating and manipulating view-based controls and menus in Carbon applications.
Human Interface Toolbox, User Experience Reference 2007-04-13
HIView-NSView (HTML) (DMG) (ZIP)
Demonstrates how to embed an NSView within an HIView in a Carbon window.
Design Guidelines, Human Interface Toolbox, User Experience Sample Code 2007-05-29
HIViewTest (HTML) (DMG) (ZIP)
An HIView with rudimentary drawing and hit testing.
Human Interface Toolbox Sample Code 2003-01-30
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
How can I handle smooth mouse wheel scrolling? (HTML)
QA1453: Details an undocumented Carbon Event which will be added to the public headers in a later DevTools release.
Events & Other Input, Human Interface Toolbox Technical Q&As 2005-11-29
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
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
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 do I use kMPCreateTaskSuspendedMask with MPCreateTask? (HTML)
QA1055: Describes how to start a task that has been suspended with the ability to resume it later.
Process Management, Runtime Architecture Technical Q&As 2001-07-02
How do I use PMSessionGetGraphicsContext to get a CGContextRef? (HTML) (日本語 HTML)
Deprecated - QA1216: Describes how to use PMSessionSetDocumentFormatGeneration and PMSessionGetGraphicsContext to get a CGContextRef for printing.
Graphics & Imaging, Printing Technical Q&As 2003-02-25
How do I use QuickDraw with CGDirectDisplay? (HTML)
QA1011: Explains how to draw to a CGDirectDisplay-captured display using QuickDraw.
Games, Graphics & Imaging Technical Q&As 2001-04-11
How PBDTGetAPPL Chooses Which Copy of an App to Launch (HTML) (日本語 HTML)
Deprecated - TB19: Explains how PBDTGetAppl() chooses which application copy to launch, and how to deal with the trash.
Human Interface Toolbox Technical Q&As 1996-05-14
How To Be a Good Multiple Users Citizen (HTML) (日本語 HTML)
TN1186: Documents the Mac OS 9 Multiple Users technology and gives some useful code snippets.
Design Guidelines Technical Notes 2000-06-01
How to measure CG text (HTML)
QA1051: Explains how to measure Core Graphics text.
Graphics & Imaging, Printing Technical Q&As 2007-08-02
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
How to use the OT modem script engine (HTML) (日本語 HTML)
Deprecated - NW50: Shows how to use the Open Transport modem script engine.
Networking Technical Q&As 1997-07-11
How to use URL Access with proxy servers (HTML)
Deprecated - QA1074: Explains how to use URL Access with proxy servers.
Networking Technical Q&As 2001-10-02
How to work around HIMovieViewCreate failing (HTML)
QA1417: Describes how to work around HIMovieViewCreate failing to initialize the view in QuickTime 7
QuickTime Technical Q&As 2008-03-11
HTML Rendering Library Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for drawing HTML text and images in a window. Replaced by the Web Kit.
Graphics & Imaging Reference 2006-07-13
HTMLSample (HTML) (DMG) (ZIP)
Deprecated - Illustrates one way to use the HTMLRenderingLib Library.
User Experience Sample Code 2003-01-30
HTMLUserPane (HTML) (DMG) (ZIP)
Deprecated - Shows how to display a HTMLRenderingLib object inside of a user pane control.
User Experience Sample Code 2003-01-30
ICLaunchURL, "file:///" URLs and Mac OS X (HTML)
QA1028: Describes problems with ICLaunchURL and "file:///" URLs on Mac OS X.
Process Management Technical Q&As 2001-04-20
icon cache demo (HTML) (DMG) (ZIP)
Demonstrates the use of an icon cache to limit the search for icon resource to one resource file.
Human Interface Toolbox, Performance, User Experience Sample Code 2003-01-30
Icon Play (HTML) (DMG) (ZIP)
Demonstrates the use of icon utilities and popup control cdef in a program using modal dialogs.
Human Interface Toolbox, User Experience Sample Code 2003-01-30
Icon Services and Utilities Reference (HTML) (PDF)
Describes the C API for manipulating and drawing icons in Carbon applications.
Human Interface Toolbox, User Experience Reference 2007-04-06
IconUtilCheck (HTML) (DMG) (ZIP)
Shows how to determine whether the Icon Utilities are available.
Human Interface Toolbox, User Experience Sample Code 2003-01-30
ictbSample (HTML) (DMG) (ZIP)
Deprecated - Shows an example of ictb resource.
User Experience Sample Code 2003-01-30
Image Capture Applications Programming Guide (HTML) (PDF)
Describes the interaction between applications programs and image capture devices such as cameras and scanners.
Graphics & Imaging Guides 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 Guides 2007-07-02
Image I/O Reference Collection (HTML) (PDF)
Describes the API for reading and writing image data.
Graphics & Imaging Reference 2007-04-09
Image Unit Tutorial (HTML) (PDF)
Describes how to write image processing kernels and package them for distribution.
Graphics & Imaging Guides 2009-05-06
ImageBrowserView (HTML) (DMG) (ZIP)
Implementing a simple HIView subclass
Human Interface Toolbox Sample Code 2005-06-01
ImageClient (HTML) (DMG) (ZIP)
Demonstrates how to use CFNetwork for synchronous and asynchronous operations, network diagnostics, proxy navigation, and authentication.
Networking Sample Code 2005-06-01
ImageMapView (HTML) (DMG) (ZIP)
Demonstrates how to add Accessibility to a complex custom HIView and the related parts of an application.
Accessibility, Human Interface Toolbox Sample Code 2005-10-17
Implementing a CVFillExtendedPixelsCallBack (HTML)
QA1440: Discusses how you implement a Core Video custom extended pixel fill callback function.
QuickTime Technical Q&As 2005-09-06
Improving ATSUI Text Drawing Performance (HTML)
QA1027: Talks about one way of improving ATSUI text drawing performance.
Graphics & Imaging, Text & Fonts Technical Q&As 2001-04-17
In Search of Missing Links (HTML) (日本語 HTML)
TN1127: Demonstrates how to write CFM glue code which can call classic 68K A-Trap routines.
Runtime Architecture Technical Notes 1998-05-01
Incorrect Inside Macintosh Volume V documentation (HTML)
Deprecated - QD15: Identifies incorrect documentation in Inside Macintosh Volume V regarding the formats of PnPixPat and BkPixPat opcodes.
Games, Graphics & Imaging, QuickTime Technical Q&As 1995-09-15
Ink Services Reference (HTML) (PDF)
Defines the C API for customizing handwriting recognition.
Events & Other Input Reference 2006-01-10
InkSample (HTML) (DMG) (ZIP)
Demonstrates some usage scenarios for the Ink.Framework APIs.
Text & Fonts Sample Code 2003-10-27
Installing input methods on Mac OS X (HTML)
QA1054: Describes how to install and use input methods on Mac OS X.
Human Interface Toolbox, Interapplication Communication, Text & Fonts Technical Q&As 2001-09-14
Interface Builder Services Reference (HTML) (PDF)
Describes the C API for unarchiving interface objects.
Tools, User Experience Reference 2004-02-17
Interface Builder User Guide (HTML) (PDF)
Conceptual information and tasks explaining how to use the Interface Builder application to design user interfaces.
Tools Guides 2008-11-19
The intermittent behavior of SetDialogItemText (HTML)
Deprecated - QA1082: Explains why SetDialogItemText may seem to not work correctly if you have embedding turned on.
Human Interface Toolbox Technical Q&As 2001-10-30
Internationalization Programming Topics (HTML) (PDF)
Explains how to support multiple languages in software.
Internationalization Guides 2009-01-06
Internet Config Reference (HTML) (PDF)
Describes the legacy technology for managing Internet preferences in Classic Mac OS.
Networking Reference 2003-05-01
Internet Connect Speed (HTML) (日本語 HTML)
QA1165: Describes how to get the modem connection speed from the System Configuration framework dynamic store.
Core Foundation Technical Q&As 2003-03-26
Is ColorSync thread safe? (HTML) (日本語 HTML)
QA1261: Discusses ColorSync thread-safety issues.
Graphics & Imaging Technical Q&As 2003-04-17
iSight - Configuring gain settings for IIDC cameras (HTML)
QA1421: Discusses how to configure features of IIDC cameras, specifically gain for the iSight
QuickTime Technical Q&As 2005-04-06
iTunesController (HTML) (DMG) (ZIP)
iTunesController allows you to control iTunes without having to bring it to the foreground.
Accessibility Sample Code 2006-02-23
JavaScriptCore Framework Reference (HTML)
Describes the API for evaluating JavaScript programs from within a C-based program
Internet & Web Reference 2008-04-08
kcapApp (HTML) (DMG) (ZIP)
Demonstrates drawing the key caps, given a set of modifiers and KCHR and KCAP resource IDs.
User Experience Sample Code 2003-01-30
Kerberos: Highly Secure Single Sign On Authentication in Mac OS X (HTML)
Learn how you can take advantage of Kerberos in your application.
Security Articles 2007-02-05
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
Keychain Manager Reference (HTML) (PDF)
Describes the legacy C API for managing passwords for multiple users and databases. Replaced by Keychain Services.
Security Reference 2005-07-07
Keychain Services Programming Guide (HTML) (PDF)
This document explains how to use Keychain Services to store and retrieve passwords.
Security Guides 2009-03-12
Keychain Services Reference (HTML) (PDF)
Describes the Keychain Services API, used to create, find, modify, and delete keychain items.
Security Reference 2008-11-19
KeyMapTest (HTML) (DMG) (ZIP)
Uses Pascal to display a KeyMap representation whenever keys are pressed.
User Experience Sample Code 2003-01-30
KillEveryOneButMe (HTML) (DMG) (ZIP)
Demonstrates how to terminate all other processes.
Process Management Sample Code 2005-08-24
Language Analysis Manager Reference (HTML) (PDF)
Describes the Carbon shared library that performs morphological analysis for Japanese text.
Internationalization Reference 2003-04-01
Launch Services Programming Guide (HTML) (PDF)
Explains how an application can open document files, other applications, and URLs.
File Management, 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.
File Management, Interapplication Communication Reference 2006-07-13
Launch Services Release Notes (HTML)
File Management Release Notes 2007-10-31
Launch Time Performance Guidelines (HTML) (PDF)
Guidelines for improving the launch performance of an application.
Performance Guides 2006-04-04
Leopard Technology Series for Developers: Leopard Developer Application Technologies Overview (HTML)
Learn how Leopard will help you create powerful and innovative features for your users.
Design Guidelines Articles 2006-12-07
Leopard Technology Series for Developers: Leopard Developer Tools Overview (HTML)
Learn how Leopard developer tools make it easier than ever to create exciting applications.
Tools Articles 2006-11-15
List Manager Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for managing and displaying elements in a scrollable list. Replaced by the Data Browser.
Human Interface Toolbox, User Experience Reference 2007-12-11
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
LittleArrowsShowcase (HTML) (DMG) (ZIP)
How to increment and decrement the LittleArrows value when the user clicks on the up and down buttons.
Human Interface Toolbox Sample Code 2006-11-09
Live Scroll (HTML) (DMG) (ZIP)
Deprecated - Demonstrates how to implementing live scrolling during the tracking of scroll bar thumbs.
User Experience Sample Code 2003-01-30
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
Locales Programming Guide (HTML) (PDF)
Explains how to use locales to retrieve, interpret, and display localized information in Core Foundation.
Internationalization Guides 2008-10-15
LocalServer (HTML) (DMG) (ZIP)
Deprecated - Sample demonstrates how a Classic process can communicate with a Mac OS X process using IP networking protocols.
Apple Applications, Events & Other Input, Networking, Runtime Architecture Sample Code 2003-01-30
Locating a Font's Home File (HTML) (日本語 HTML)
Deprecated - TB18: Lists the steps necessary to find the home file of a given font.
Text & Fonts Technical Q&As 1996-02-15
Locating Application Support Files under Mac OS X (HTML) (日本語 HTML)
TN2015: Describes different methods for an application to determine its location.
File Management, Process Management, Runtime Architecture Technical Notes 2001-03-27
Locking an Area Using PBLockRange (HTML) (日本語 HTML)
OPS09: Describes the behavior of PBLockRange.
File Management Technical Q&As 1996-05-14
Locking and Unlocking Handles (HTML) (日本語 HTML)
Deprecated - TN1122: Explains Memory Manager handles: locking, unlocking, and preserving a handle's state.
Data Management, Process Management, Resource Management, Runtime Architecture Technical Notes 1998-02-01