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
ComboBoxPrefs (HTML) (DMG) (ZIP)
Use CFPrefs to store URLs to images for use in a browser style combo box.
Graphics & Imaging, Human Interface Toolbox Sample Code 2005-10-04
DisplayURL (HTML) (DMG) (ZIP)
Parses a passed in path URL into its various components displaying server information.
File Management Sample Code 2005-10-04
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, User Experience Technical Q&As 2005-10-04
Taking Advantage of the Accelerate Framework (HTML)
Learn how your application can run on PowerPC- or Intel-based Macs without processor-specific customization.
Performance Articles 2005-10-03
Scoping Your Transition Projects (HTML)
Learn how to transition to Intel-based Macs.
Intel-Based Macs, Porting Articles 2005-09-27
Multilingual Text Engine Frequently Asked Questions (HTML) (日本語 HTML)
TN2026: A list of frequently asked questions for the Multilingual Text Engine (MLTE).
Human Interface Toolbox, Internationalization, Text & Fonts Technical Notes 2005-09-12
AltiVec/SSE Migration Guide (HTML) (PDF)
Explains how to convert PowerPC AltiVec code to Intel SSE code.
Intel-Based Macs Guides 2005-09-08
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
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
Registering custom pixel formats with QuickTime and Core Video (HTML)
QA1401: Discusses how to register custom pixel formats with QuickTime & Core Video with QuickTime 7.
QuickTime Technical Q&As 2005-09-06
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, Porting Articles 2005-08-26
DialogsToHIViews (HTML) (DMG) (ZIP)
Shows how to convert from an old-style resource-based dialog to a modern nib-based window with HIViews.
Human Interface Toolbox Sample Code 2005-08-24
KillEveryOneButMe (HTML) (DMG) (ZIP)
Demonstrates how to terminate all other processes.
Process Management Sample Code 2005-08-24
WindowFun (HTML) (DMG) (ZIP)
Create window layers and groups. Drawing transparent lines. How to display the "Poof" the toolbar uses.
Human Interface Toolbox, User Experience Sample Code 2005-08-24
BrideOfMungGrab (HTML) (DMG) (ZIP)
Demonstrates the use of overlay windows and CG to draw text on captured video.
QuickTime Sample Code 2005-08-12
Core Foundation Design Concepts (HTML) (PDF)
Explains the fundamental design concepts that underlie all Core Foundation programming interfaces.
Core Foundation Guides 2005-08-11
Dates and Times Programming Guide for Core Foundation (HTML) (PDF)
Explains how to manage Core Foundation dates and times.
Core Foundation, Data Management, Internationalization Guides 2005-08-11
HIArchive Programming Guide (HTML) (PDF)
Describes how to store data objects using HIArchive. Also includes information to make custom HIObjects archivable.
Human Interface Toolbox, Interapplication Communication, User Experience Guides 2005-08-11
HIArchive Reference (HTML) (PDF)
Describes the C API for storing and retrieving data in HIArchives.
Human Interface Toolbox, Interapplication Communication, User Experience Reference 2005-08-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
QuickTime Overview (HTML) (PDF)
Introduces the main concepts and services of QuickTime.
QuickTime Guides 2005-08-11
CarbonTransparentWindow (HTML) (DMG) (ZIP)
Shows how to handle window transparency for compositing, non-compositing, and custom HIView-based Carbon windows.
Human Interface Toolbox Sample Code 2005-08-10
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
MemoryBasedBundle (HTML) (DMG) (ZIP)
Shows how to execute Mach-O code from memory, much like GetMemFragment in CFM.
Runtime Architecture Sample Code 2005-08-10
PasteboardPeeker (HTML) (DMG) (ZIP)
Using pasteboards for Copy and Paste, Drag and Drop, service support and filter services.
Interapplication Communication, Text & Fonts Sample Code 2005-08-10
QuickTimeMovieControl (HTML) (DMG) (ZIP)
Demonstrates how to easily add QuickTime media playback to an application
QuickTime Sample Code 2005-08-10
ScrollAndZoom (HTML) (DMG) (ZIP)
An illustration of the use of the Context Transformation Matrix (CTM) for zooming and scrolling a HIView.
Human Interface Toolbox Sample Code 2005-08-10
SimpleVideoOut (HTML) (DMG) (ZIP)
Demonstrates how QuickTime Video Output Components can be used to play video out to hardware.
QuickTime Sample Code 2005-08-10
SpellingChecker-CocoaCarbon (HTML) (DMG) (ZIP)
Demonstrates how to call NSSpellChecker cocoa routines from a Carbon application.
Design Guidelines, Runtime Architecture Sample Code 2005-08-10
TypeServicesForUnicode (HTML) (DMG) (ZIP)
Shows how to use various ATSUI functions and features going from simple to very complex.
Human Interface Toolbox, Text & Fonts Sample Code 2005-08-10
DropDraw (HTML) (DMG) (ZIP)
Demonstrates automatic ColorSync color-matching when drawing with QuickTime graphics importers in Panther
QuickTime Sample Code 2005-08-01
BackgroundExporter (HTML) (DMG) (ZIP)
Demonstrates techniques which can be used to export QuickTime movies in a separate export process.
QuickTime Sample Code 2005-07-22
Building Universal QuickTime Components for Mac OS X (HTML) (日本語 HTML)
TN2012: Discusses the changes necessary to build Universal Mach-O QuickTime Components for Mac OS X.
QuickTime Technical Notes 2005-07-21
SimpleHIMovieViewPlayer (HTML) (DMG) (ZIP)
Demonstrates how to use HIMovieView to play QuickTime Movies.
QuickTime Sample Code 2005-07-15
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
Memory Allocation Recommendations on Mac OS X (HTML)
TN2130: Recommends the best ways to allocate memory on Mac OS X.
Performance Technical Notes 2005-07-12
Simplifying Data Handling with Uniform Type Identifiers (HTML)
Learn to use UTIs to take advantage of key Mac OS X technologies in your application.
Data Management, File Management, Interapplication Communication Articles 2005-07-12
Carbon Event Manager Programming Guide (HTML) (PDF)
Essential information for implementing Carbon events.
Events & Other Input Guides 2005-07-07
Code Fragment Manager Reference (HTML) (PDF)
Describes the C API for loading and preparing PEF binaries.
Runtime Architecture Reference 2005-07-07
Code Speed Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance and efficiency of code.
Performance Guides 2005-07-07
Color Management Overview (HTML) (PDF)
Introduces basic concepts and defines color spaces.
Graphics & Imaging Guides 2005-07-07
Creating Printing Presets for iPhoto (HTML) (PDF)
Rules for creating and installing printer-specific collections of settings. Includes a sample file.
Apple Applications, Printing Guides 2005-07-07
File-System Performance Guidelines (HTML) (PDF)
Guidelines for improving the performance of file-related code.
Performance Guides 2005-07-07
Handling Carbon Windows and Controls (HTML) (PDF)
A guidebook for implementing windows and controls in Carbon applications.
Human Interface Toolbox, User Experience Guides 2005-07-07
HIToolbar Programming Guide (HTML) (PDF)
Explains how to create toolbars in Carbon applications.
Human Interface Toolbox, User Experience Guides 2005-07-07
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
Open Transport Reference (HTML) (PDF)
Describes the Carbon compatibility library for accessing TCP/IP networks at the transport level.
Networking Reference 2005-07-07
Pasteboard Manager Programming Guide (HTML) (PDF)
Describes how to create and manage pasteboards in Carbon applications.
Interapplication Communication Guides 2005-07-07
Programming With the Text Encoding Conversion Manager (HTML) (PDF)
Explains character encodings, Unicode conversion, and custom converter plug-ins. Lists encoding variants.
Internationalization, Text & Fonts Guides 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, Internationalization, Text & Fonts Guides 2005-07-07
Text Encoding Conversion Manager Reference (HTML) (PDF)
Describes the C API for transferring text across other platforms or over the Internet.
Internationalization, Text & Fonts Reference 2005-07-07
Using PostScript Printer Description Files (HTML) (PDF)
Information for printer vendors. Includes installing files, PPD/PDE binding, and grouping features.
Printing Guides 2005-07-07
Problems getting Bonjour TXT record information (HTML)
QA1389: Explains why you might have problems retrieving TXT record information from a CFNetServiceRef or NSNetService.
Networking Technical Q&As 2005-07-06
Frequently Asked Text Services Manager (TSM) Questions (HTML)
TN2128: Regroups a collection of Text Services Manager (TSM) questions frequently asked by Input Method Developers
Events & Other Input, Text & Fonts Technical Notes 2005-06-24
Carbon Drawer problem in Mac OS X v10.4 and v10.4.1 (HTML)
QA1435: Workaround for a drawer problem present in Mac OS X v10.4 but fixed in v10.4.2
Human Interface Toolbox Technical Q&As 2005-06-21
Porting Multithreaded Applications from Win32 to Mac OS X (HTML)
Learn how Mac OS X handles multithreading, before porting your Win32 application.
Performance, Porting, Process Management Articles 2005-06-20
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, User Experience Technical Q&As 2005-06-17
FSFileOperation (HTML) (DMG) (ZIP)
This sample shows how to use the FSFileOperation API which supports copying and moving filesystem objects.
File Management Sample Code 2005-06-06
SDKExample (HTML) (DMG) (ZIP)
Shows how to weak-link against the Carbon framework in various SDKs to adopt new OS features in a single executable.
Porting, Runtime Architecture, Tools Sample Code 2005-06-06
ColorSync Manager Reference (HTML) (PDF)
Describes the C API for ColorSync, the platform-independent color management system in Mac OS X.
Graphics & Imaging Reference 2005-06-04
MDQuery Reference (HTML) (PDF)
Describes a metadata query.
File Management Reference 2005-06-04
Weak Linking To Spotlight (HTML)
QA1422: Describes a problem with weak linking to Spotlight (the Metadata framework), and its solution.
File Management Technical Q&As 2005-06-03
Custom_HIView_Tutorial (HTML) (DMG) (ZIP)
Tutorial presenting a step-by-step custom HIView development. All steps are documented and provided as standalone projects.
Human Interface Toolbox Sample Code 2005-06-01
FSCreateFileAndOpenForkUnicode (HTML) (DMG) (ZIP)
Demonstartes the use of FSCreateFileAndOpenForkUnicode to create a file with restricted access on disk and a read/write access path.
File Management Sample Code 2005-06-01
FSRemoveInheritedACEs (HTML) (DMG) (ZIP)
Demonstrates manipulating access control lists of existing file system objects using the File Manager.
File Management Sample Code 2005-06-01
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
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
MouseTracking (HTML) (DMG) (ZIP)
Sample code used in the WWDC 2005 Hands-On session 215 "Moving from QD to Quartz"
Graphics & Imaging Sample Code 2005-06-01
QuartzLines (HTML) (DMG) (ZIP)
Drawing Lines using Quartz's CGPath & CGContextStrokeLineSegments functions.
Graphics & Imaging Sample Code 2005-06-01
MoreFilesX (HTML) (DMG) (ZIP)
Deprecated - Shows various File Manager operations through a collection of high-level routines using HFS Plus APIs.
File Management Sample Code 2005-05-13
ProfileSystem (HTML) (DMG) (ZIP)
Shows how to obtain the same information that System Profiler displays.
Core Foundation Sample Code 2005-05-05
ABRecord C Reference (HTML) (PDF)
Describes the opaque type that represents a generic Address Book record.
Apple Applications Reference 2005-04-29
Carbon Resolution Independence Release Notes (HTML)
Graphics & Imaging Release Notes 2005-04-29
MDImporter Reference (HTML) (PDF)
Describes the plug-in architecture and callbacks required by a document metadata importer.
File Management Reference 2005-04-29
MDSchema Reference (HTML) (PDF)
Describes a metadata schema.
File Management Reference 2005-04-29
Resolution Independent UI Release Notes (HTML)
Graphics & Imaging Release Notes 2005-04-29
SearchKit Release Notes (HTML)
User Experience Release Notes 2005-04-29
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
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
Crash in ABAddPropertiesAndTypes (HTML)
QA1404: How to correctly add custom Address Book properties using ABAddPropertiesAndTypes
Apple Applications Technical Q&As 2005-04-04
Help Book Caching During Software Development (HTML)
QA1409: Development situations that can potentially confuse Help Viewer
Tools Technical Q&As 2005-03-30
Defining and Using the kTransformFocused IconTransformType (HTML)
QA1414: Documents a new IconTransformType, available in Panther and later, which draws a focus ring around an icon.
Human Interface Toolbox Technical Q&As 2005-03-29
CarbonSketch (HTML) (DMG) (ZIP)
Core Graphics only example of a Sketch application implemented with HIToolbox. Shows 1x1-CGBitmapContext for hit-testing, printing.
Graphics & Imaging Sample Code 2005-03-23
Tiger Developer Overview Series: Developing with Core Image (HTML)
Learn how Core Image can help you take your graphics development to the next level.
Graphics & Imaging Articles 2005-03-09
Movie Export Component - How to ensure Final Cut Pro recognizes your exporter (HTML)
QA1415: Explains how to make sure Final Cut Pro will recognizes a custom QuickTime movie export component.
QuickTime Technical Q&As 2005-03-08
QuartzShapes (HTML) (DMG) (ZIP)
Example Quartz functions that implement equivalents to the QuickDraw PaintArc, FrameArc, PaintOval, FrameOval, PaintRect, and FrameRect
Graphics & Imaging Sample Code 2005-03-08
Plug-ins (HTML) (PDF)
Explains how to use the plug-in architecture provided by Core Foundation.
Core Foundation, Process Management, Runtime Architecture Guides 2005-03-03
XML-RPC and SOAP Programming Guide (HTML) (PDF)
Explains how to make remote procedure calls from applications or from AppleScript scripts.
Interapplication Communication, Internet & Web, Scripting & Automation Guides 2005-03-03
Movie Export - Always fill in the MovieExportGetDataParams dataSize field (HTML)
QA1304: Outlines the importance of correctly filling in the MovieExportGetDataParams dataSize field when exporting from procedures.
QuickTime Technical Q&As 2005-02-25
Storing file references in CFPreferences (HTML)
QA1350: Storing file references in CFPreferences
Runtime Architecture Technical Q&As 2005-02-23
Using language-tagged QuickTime UserData text APIs with CFStrings (HTML)
QA1410: Describes how to use language-tagged QuickTime UserData text APIs with CFStrings and TextEncodings.
Core Foundation, QuickTime Technical Q&As 2005-02-11
CFBundleIdentifier and user application access (HTML)
QA1373: Describes the role of CFBundleIdentifier in limiting a user's application access.
Design Guidelines, Security Technical Q&As 2005-02-08
DockBrowser (HTML) (DMG) (ZIP)
Demonstrates how to use CFNetServices to take advantage of Bonjour service discovery and name resolution.
Performance Sample Code 2005-02-08
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
Context Sharing Tips (HTML) (日本語 HTML)
QA1248: How to correctly share OpenGL contexts and what the limits on this sharing are.
Games, Graphics & Imaging Technical Q&As 2005-02-07
OpenGL Release Highlights - Mac OS X 10.3 Panther (HTML)
TN2131: Contains a list of bugs along with a short description on a release-by-release basis
Games, Graphics & Imaging Technical Notes 2005-02-04
Turn up the Volume with Audio Units (HTML)
Learn to build a sample volume unit, test it, and integrate it into GarageBand.
Audio Articles 2005-01-31
Resolves may return an IPv6 address in Panther (HTML)
QA1298: Explains why you get an IP address of 0.0.0.0 when resolving a Bonjour service.
Networking Technical Q&As 2005-01-10
Sequence Grabber - Determining the capture resolution of an IIDC device (HTML)
QA1403: Discusses how to determine the resolution of a captured image from an IIDC device
QuickTime Technical Q&As 2005-01-06