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
My custom item dismisses my Navigation Services dialog (HTML)
QA1381: Gives a workaround for dismissive clicks on items in the custom area of Navigation Services dialogs.
File Management, Human Interface Toolbox, User Experience Technical Q&As 2004-11-22
Sending an Email (HTML)
QA1084: Shows how to create an email in the user's prefered email application.
Interapplication Communication, Internet & Web, Networking Technical Q&As 2004-11-05
Private HITheme APIs in Mac OS X 10.2 should not be called (HTML)
QA1377: Explains why weak-linked API common runtime check is not good enough for the HITheme APIs.
Human Interface Toolbox Technical Q&As 2004-10-27
Sorting Like the Finder (HTML)
QA1159: Shows how to sort strings like the Finder's list view.
File Management, Text & Fonts Technical Q&As 2004-10-27
Preventing sleep (HTML)
QA1160: Explains how your application can prevent the system from sleeping.
Resource Management Technical Q&As 2004-10-22
Enabling the Navigation Services default behavior in its dialogs (HTML)
QA1384: Explains how to enable the default behavior of the Navigation Services dialogs.
File Management, Human Interface Toolbox Technical Q&As 2004-10-15
MLTE_CustomScrolling (HTML) (DMG) (ZIP)
Shows how to implement MLTE's custom scrolling functionality
Human Interface Toolbox, Text & Fonts Sample Code 2004-10-15
Fixing the Layout Binding of the Tab control User Panes (HTML)
QA1161: Describes the Tab control hierarchy and layouts of its panes and provides a fix to a common problem.
Human Interface Toolbox Technical Q&As 2004-10-14
Managing custom drawing code in a compositing world (HTML)
QA1162: Explains why any custom drawing code must be handled by the kEventControlDraw handler of a custom HIView
Human Interface Toolbox Technical Q&As 2004-10-14
Tiger Develop Overview Series: Working with Spotlight (HTML)
Learn to make the most of Spotlight's powerful search technologies within your own applications.
File Management Articles 2004-10-07
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
SetFontInfoForSelection incorrect prototype (HTML)
QA1375: Describes the incorrect prototyping of the SetFontInfoForSelection API and gives a workaround.
Events & Other Input, Human Interface Toolbox, Text & Fonts, User Experience Technical Q&As 2004-10-04
Adding a movie reference to a movie (HTML)
QA1376: Demonstrates how to add a reference for a movie to another movie
QuickTime Technical Q&As 2004-09-16
Movies - Saving movie playback hints (HTML)
QA1366: Explains how to save and load media play hints from Movie files.
QuickTime Technical Q&As 2004-09-14
Avoiding Pauses When Looping Audio files with QuickTime (HTML)
QA1371: Demonstrates how to avoid pauses when looping audio files with QuickTime
Audio Technical Q&As 2004-09-08
Secure Transport Reference (HTML) (PDF)
Describes the C API for creating a Secure Sockets Layer session over any transport layer.
Security Reference 2004-08-31
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, Printing Guides 2004-08-31
SpellingChecker CarbonCocoa Bundled (HTML) (DMG) (ZIP)
How to load and call a Cocoa bundle from a Carbon CFM or Mach-O application
Runtime Architecture Sample Code 2004-08-17
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
Universal Access: Computers That Everyone Can Use (HTML)
Learn how to make your applications usable by everyone, including those with disabilities.
Accessibility Articles 2004-08-02
Bonjour enforces the TXT record format in Panther (HTML)
QA1306: Explains how mDNSResponder enforces the proper TXT record format in Panther.
Networking Technical Q&As 2004-07-14
Updating the TXT record of a Bonjour service (HTML)
QA1302: Explains how to update a Bonjour TXT record while running on either Jaguar or Panther.
Networking Technical Q&As 2004-07-14
HIShape Reference (HTML) (PDF)
Describes the Carbon API for manipulating HIShape objects.
Graphics & Imaging, Human Interface Toolbox, User Experience Reference 2004-06-28
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, User Experience Guides 2004-06-28
The Benefits of HIToolbox: the Evolving Widget Set (HTML)
Learn how to get started working with HIView control types.
Human Interface Toolbox Articles 2004-06-14
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Audio Technical Notes 2004-06-14
Dynamically registering a bundled component (HTML)
QA1083: Describes how to dynamically register a Component which resides in an Application bundle.
Core Foundation, QuickTime Technical Q&As 2004-06-07
Discovering all advertised Bonjour service types (HTML)
QA1337: Explains how to discover all Bonjour service types being advertised on the local network.
Networking Technical Q&As 2004-06-01
Avoiding the -42 error with DiscRecording (HTML)
QA1292: Explains how to workaround the -42 error when using the DiscRecording API.
File Management Technical Q&As 2004-05-25
Directories Appear as Volume Aliases (HTML)
QA1351: Discusses how VFS plug-ins should handle device numbers to ensure compatibility with Carbon applications.
File Management Technical Q&As 2004-05-25
CFHostSample (HTML) (DMG) (ZIP)
Uses the CFHost API to do DNS hostname lookups and to determine host reachability.
Networking Sample Code 2004-04-20
DRDataBurnCarbonUI (HTML) (DMG) (ZIP)
DRDataBurnCarbonUI shows how to use the standard DiscRecording burn setup and progress panel from Carbon.
File Management Sample Code 2004-04-09
DREraseCarbonUI (HTML) (DMG) (ZIP)
DREraseCarbonUI shows how to use the DiscRecording erase setup and progress panel from Carbon.
File Management Sample Code 2004-04-09
GLCarbon1ContextPbuffer (HTML) (DMG) (ZIP)
Demostrates using OpenGL pixel buffers with a single shared context.
Graphics & Imaging Sample Code 2004-03-26
GLCarbonSharedPbuffer (HTML) (DMG) (ZIP)
Demostrates sharing a single OpenGL pixel buffer with multiple other contexts.
Graphics & Imaging Sample Code 2004-03-26
GLUTSurfaceTexture (HTML) (DMG) (ZIP)
Example of using the new glutSurfaceTexture.
Graphics & Imaging Sample Code 2004-03-26
Bonjour enforces the service type format in Panther (HTML)
QA1198: Explains why registering a Bonjour service might fail on Panther.
Networking Technical Q&As 2004-03-23
FSCopyObject (HTML) (DMG) (ZIP)
Copy engine for copying files and directories.
File Management Sample Code 2004-03-19
Using the Web Kit for Application Registration (HTML)
Learn how to use the Web Kit to handle your application's online registration.
User Experience Articles 2004-03-09
HFS Plus Volume Format (HTML) (日本語 HTML)
TN1150: Describes the physical layout of an HFS Plus volume.
File Management Technical Notes 2004-03-05
Use the Computer Name when registering your Bonjour service (HTML)
QA1228: Explains why you should use the Computer Name when advertising a Bonjour service.
Networking Technical Q&As 2004-03-05
Carbon Help Manager Reference (HTML) (PDF)
Describes the interface for displaying short onscreen hints in help tags.
User Experience Reference 2004-03-01
Scripting Interface Guidelines (HTML)
TN2106: Directions for providing a clean and consistent scripting interface for your application.
Scripting & Automation Technical Notes 2004-03-01
Creating Carbon Menus (HTML) (PDF)
Describes how to create menus in Carbon applications.
Human Interface Toolbox, User Experience Guides 2004-02-23
Interface Builder Services Reference (HTML) (PDF)
Describes the C API for unarchiving interface objects.
Tools, User Experience Reference 2004-02-17
Unarchiving Interface Objects With Interface Builder Services (HTML) (PDF)
Explains how to reconstitute user interface elements in Carbon applications.
User Experience Guides 2004-02-17
Mac OS X 10.3 Navigation Services Changes (HTML) (日本語 HTML)
TN2105: Explains Navigation Services changes in Mac OS X 10.3 Panther
Human Interface Toolbox Technical Notes 2004-01-30
AddNibToNav (HTML) (DMG) (ZIP)
Shows how to create a custom area, instantiated from a nib file, in a Navigation Services dialog.
File Management, Human Interface Toolbox Sample Code 2004-01-22
Understanding and Detecting OpenGL Functionality (HTML)
TN2080: Discusses OpenGL API design, and how to access the full power of hardware and software renderers.
Graphics & Imaging Technical Notes 2003-12-29
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, User Experience Guides 2003-12-10
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, User Experience Guides 2003-12-10
The Enhanced Print Apple Event (HTML)
TN2082: Describes an enhancement to the print Apple event that gives developers more control over scripted printing.
Printing Technical Notes 2003-12-09
MapLargeFile (HTML) (DMG) (ZIP)
Shows a technique for mapping files greater than 4GB into memory for faster access.
Resource Management Sample Code 2003-11-19
MungSaver (HTML) (DMG) (ZIP)
Demonstrates a simple Screen Saver module for Panther, using the Sequence Grabber DataProc mung technique.
User Experience Sample Code 2003-11-18
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
HIEmbedder (HTML) (DMG) (ZIP)
Shows how to write a custom embedding HIView which can scroll if set in an HIScrollView.
Human Interface Toolbox Sample Code 2003-11-13
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
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
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
Process (HTML) (DMG) (ZIP)
A simple demonstration of the Process Manager API.
Process Management Sample Code 2003-10-30
Downloading through a proxy server in Mac OS X (HTML)
QA1296: Explains when downloading through a proxy server will work, and when it will fail.
Networking Technical Q&As 2003-10-29
Environment Variables (HTML)
QA1255: Describes how a process gets its environment variables.
Runtime Architecture Technical Q&As 2003-10-29
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
URL Access vs. CFNetwork (HTML)
QA1291: Explains when to choose URL Access or CFNetwork when downloading files from within your application.
Networking Technical Q&As 2003-10-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, User Experience Technical Q&As 2003-10-28
AsyncPB (HTML) (DMG) (ZIP)
Deprecated - Describes how to chain File System calls from an interrupt handler like a Time Manager task.
File Management Sample Code 2003-10-27
CPUGestalt (HTML) (DMG) (ZIP)
Deprecated - Shows how to determine the processor type of the Macintosh you're running on.
Resource Management Sample Code 2003-10-27
HIDoubleSlider (HTML) (DMG) (ZIP)
Illustrates how to create a double slider using the Appearance and HIView functions introduced in Mac OS X 10.2.
Human Interface Toolbox Sample Code 2003-10-27
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
InkSample (HTML) (DMG) (ZIP)
Demonstrates some usage scenarios for the Ink.Framework APIs.
Text & Fonts Sample Code 2003-10-27
MoreIsBetter (HTML) (DMG) (ZIP)
Library providing indispensable wrapers and workarounds for many areas of Mac OS programming.
Audio, Core Foundation, Data Management, Events & Other Input, File Management, Graphics & Imaging, Human Interface Toolbox, Interapplication Communication, Internationalization, Networking, Porting, Process Management, Resource Management, Runtime Architecture, Security, Text & Fonts, User Experience Sample Code 2003-10-27
qtshell (HTML) (DMG) (ZIP)
Simple QuickTime and QuickTime VR viewer framework.
QuickTime Sample Code 2003-10-27
TextNameTool (HTML) (DMG) (ZIP)
A command line tool sample illustrating how to use various graphical facilities and services without a login.
Graphics & Imaging Sample Code 2003-10-27
YASTControl (HTML) (DMG) (ZIP)
An application illustrating how to use a user pane control to define MLTE based text fields.
User Experience Sample Code 2003-10-27
FloatingWindow (HTML) (DMG) (ZIP)
Demonstrates that floating windows are very easy to implement on Mac OS X using Nib files.
Human Interface Toolbox Sample Code 2003-10-24
MenuViews (HTML) (DMG) (ZIP)
Demonstrates a variety of interesting uses of HIView-based menus in Mac OS X 10.3.
Human Interface Toolbox Sample Code 2003-10-24
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
Switching from Code Warrior to Xcode (HTML)
Learn how to import your projects from CodeWarrior.
Porting, Tools Articles 2003-10-24
Tiler (HTML) (DMG) (ZIP)
Modify your applications tile icon within the Mac OS X dock by using both QuickDraw and Quartz
Human Interface Toolbox, User Experience Sample Code 2003-10-24
Bonjour TXT record rate limiting in Panther (HTML)
QA1293: Explains how mDNSResponder implements TXT record rate limiting in Panther.
Networking Technical Q&As 2003-10-23
Registering a Bonjour service multiple times (HTML)
QA1311: Explains why registering the same Bonjour service twice on the same machine doesn't cause a name conflict.
Networking Technical Q&As 2003-10-23
Third party VFS can't unmount on Mac OS X 10.3 (HTML)
QA1308: Describes changes in unmounting behavior for VFS plug-ins under Mac OS X 10.3 "Panther."
File Management Technical Q&As 2003-10-23
DrawSprocketTestOld (HTML) (DMG) (ZIP)
Deprecated - Demonstrates basic implementations of DrawSprocket Functions.
Games Sample Code 2003-10-14
FinderLaunch (HTML) (DMG) (ZIP)
Shows how to open documents by sending Apple Events to the Finder.
File Management, Interapplication Communication, User Experience Sample Code 2003-10-14
GlyphaIVOld (HTML) (DMG) (ZIP)
Deprecated - A basic game implementation in the spirit of Joust meant as demonstation of Sprocket usage.
Games, Graphics & Imaging Sample Code 2003-10-14
Palette and GWorld (HTML) (DMG) (ZIP)
Deprecated - Demonstrates the use of palette and color tables with GWorlds.
Graphics & Imaging Sample Code 2003-10-10
Tuning for G5: A Practical Guide (HTML) (日本語 HTML)
TN2086: Explains how to get started tuning your application for the new Macintosh G5 architecture.
Runtime Architecture Technical Notes 2003-10-01
Bonjour and wake from sleep (HTML)
QA1290: Explains why applications that use Bonjour should stay registered and continue browsing on sleep.
Networking Technical Q&As 2003-09-18
NSL and how it relates to Bonjour (HTML)
QA1299: Explains the relationship between NSL and Bonjour.
Networking Technical Q&As 2003-09-18
OpenGL Extensions Guide (HTML)
Information about OpenGL functionality supported in Mac OS X.
Graphics & Imaging Guides 2003-09-10
EmbededAppleScripts (HTML) (DMG) (ZIP)
Extending the functionality of your application by adding precompiled AppleScripts.
Interapplication Communication Sample Code 2003-09-04
PowerPC G5 Performance Primer (HTML) (日本語 HTML)
TN2087: Offers a high-level overview of how to maximize performance on G5 Macs.
Runtime Architecture Technical Notes 2003-09-03
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
Version Territory (HTML) (日本語 HTML)
TN1132: Clarifies the format of data in the NumVersion structure used in a version ( 'vers') resource.
Runtime Architecture Technical Notes 2003-08-25
ABGroup Reference for C (HTML) (PDF)
Describes the opaque type used to group Address Book records.
Apple Applications Reference 2003-08-20
ABMultiValue Reference for C (HTML) (PDF)
Describes the opaque type for accessing Address Book properties with multiple values.
Apple Applications Reference 2003-08-20
Non Mac OS X Bundled data-fork based Resources (HTML) (日本語 HTML)
QA1098: Mac OS X Bundled data-fork based Resources
Data Management, Design Guidelines, File Management, Process Management, Resource Management, Runtime Architecture Technical Q&As 2003-08-20
OTEndpointInfo (HTML) (DMG) (ZIP)
Deprecated - Demonstrates how to query an endpoint for its 'vital statistic' using OTGetEndpointInfo.
Networking Sample Code 2003-08-20
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
Printing Plug-in Interfaces Reference (HTML) (PDF)
Describes the various callback interfaces that Mac OS X printing plug-ins implement in Carbon.
Printing Reference 2003-07-31