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
SSLSample (HTML) (DMG) (ZIP)
Contains examples showing how to use SecureTransport.
Security Sample Code 2003-01-14
Standard Sound Dialog Component (HTML)
Describes the QuickTime component that lets the user make audio parameter settings.
Audio Guides 2002-09-17
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
Static linking of user binaries on Mac OS X (HTML) (日本語 HTML)
QA1118: Explains why static linking of user binaries is not supported on Mac OS X, and possible workarounds.
Runtime Architecture Technical Q&As 2002-02-07
stdFilterHacking (HTML) (DMG) (ZIP)
Demonstrates problems and workarounds for/with the Standard Dialog Filter.
User Experience Sample Code 2003-01-30
StickiesExample (HTML) (DMG) (ZIP)
Contains sample code and tools used by Sync Services Tutorial to demonstrate debugging syncing applications.
Apple Applications, Syncing, User Experience Sample Code 2006-08-08
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
Storing file references in CFPreferences (HTML)
QA1350: Storing file references in CFPreferences
Runtime Architecture Technical Q&As 2005-02-23
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, Data Management, Internationalization, Text & Fonts Guides 2008-03-11
StyleFlatteningSample (HTML) (DMG) (ZIP)
Shows how to use the ATSUFlatten and ATSUUnflatten APIs.
Text & Fonts Sample Code 2003-01-14
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
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
Suppressing the "unexpectedly quit" alert (HTML)
QA1288: Describes how to suppress the "unexpectedly quit" alert.
User Experience Technical Q&As 2008-03-11
Switching from Code Warrior to Xcode (HTML)
Learn how to import your projects from CodeWarrior.
Porting, Tools Articles 2003-10-24
Synchronizing Sounds to Video (HTML) (日本語 HTML)
Deprecated - SND19: Enabling regular sound callbacks under Mac OS 9 and Sound Manager 4.0.
Audio Technical Q&As 1999-10-05
Synchronous SysBeep (HTML) (日本語 HTML)
Deprecated - SND18: Obtaining a synchronous SysBeep with Sound Manager 3.1.
Audio Technical Q&As 1999-10-05
Synchronous TCP OTConnect Client Call Completes Before Server Responds (HTML) (日本語 HTML)
Deprecated - NW24: Explains why an OTConnect call will complete before the server responds.
Networking Technical Q&As 1996-05-14
T_DATA_REQ vs M_DATA TPI Message Blocks (HTML) (日本語 HTML)
NW42: Explains why OT passes data to a TPI module using M_DATA message blocks instead of M_PROTO+T_DATA_REQ.
Networking Technical Q&As 1996-10-25
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
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
Targeting DebuggingCarbonLib asserts (HTML)
Deprecated - QA1033: Describes how to focus DebuggingCarbonLib asserts to a single application.
Runtime Architecture Technical Q&As 2001-05-04
TCP Option Sizes (HTML)
Deprecated - NW27: Tells where to get more information on TCP Option sizes and setting TCP Options.
Networking Technical Q&As 1996-05-14
TCP/IP Option Sizes (HTML) (日本語 HTML)
NW62: Enumerates the TCP/IP options and their sizes for Open Transport.
Networking, Porting Technical Q&As 1999-04-26
TE Over Background (HTML) (DMG) (ZIP)
Deprecated - A textEdit that shows old text editing over a colored background
Design Guidelines, Graphics & Imaging Sample Code 2003-07-22
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
Text Encodings in VFS (HTML) (日本語 HTML)
QA1173: How to handle text encodings correctly when writing a file system (VFS) plug-in for Mac OS X.
File Management Technical Q&As 2003-02-10
Text Input Source Services Reference (HTML) (PDF)
Describes the API for operating on text input sources, such as keyboards, character palettes, and ink input.
Internationalization, Text & Fonts Reference 2007-06-07
Text Services Manager Reference (HTML) (PDF)
Describes the C API for communicating between client applications and provider modules.
Events & Other Input, Text & Fonts Reference 2005-11-09
Text Utilities Reference (HTML) (PDF)
Describes the C API for operating on strings (formatting, sorting, converting, comparing).
Text & Fonts Reference 2007-05-29
TextEdit Reference (HTML) (PDF)
Deprecated - Describes the deprecated technology replaced by the Multilingual Text Engine (MLTE).
Text & Fonts Reference 2006-07-13
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
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
Thread Manager Reference (HTML) (PDF)
Describes the C API for creating cooperatively scheduled threads in Carbon applications.
Process Management Reference 2007-04-04
Thread-safe programming in QuickTime (HTML)
TN2125: Discusses how to use QuickTime from background threads for applications and component developers.
Design Guidelines, QuickTime Technical Notes 2007-09-14
Threading Architectures (HTML) (日本語 HTML)
TN2028: Describes the various threading APIs on Mac OS 9 and Mac OS X.
Process Management, Runtime Architecture Technical Notes 2001-08-08
Threading Programming Guide (HTML) (PDF)
Explains how to use threads in Cocoa applications.
Performance, Process Management Guides 2008-02-08
TickerView (HTML) (DMG) (ZIP)
HIView subclass which implements a scrolling, live stock ticker.
Human Interface Toolbox Sample Code 2003-01-30
Ticket Services Reference (HTML) (PDF)
Describes the C API used by printer modules and PDEs to communicate printing information to the system.
Printing Reference 2002-10-23
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
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
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
Time Manager Reference (HTML) (PDF)
Describes the C API for scheduling routines for execution at a later time.
Resource Management Reference 2006-03-08
TimeZone.Daylight (HTML) (DMG) (ZIP)
Deprecated - Shows how to read the current location and time zone that is set in Date & Time.
Text & Fonts Sample Code 2003-01-14
Translation Manager Reference (HTML) (PDF)
Describes the C API for handling data and documents between applications, including applications from another operating system.
File Management Reference 2006-07-12
TremoloUnit (HTML) (DMG) (ZIP)
Audio unit sample demonstrating how to build an effect unit with a generic view.
Audio Sample Code 2006-10-26
TubeTest (HTML) (DMG) (ZIP)
Deprecated - The program is a simple demonstration of how to use the Palette Manager in a color program.
Design Guidelines, Graphics & Imaging, User Experience Sample Code 2003-03-12
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
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
Turning Off Core Graphics Clipping (HTML)
QA1050: Explains how to clear the clipping path for a CGContext.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
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
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
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
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, Internationalization, Text & Fonts Guides 2002-12-11
Unexpected CG state changes (HTML)
QA1045: Explains why the Core Graphics drawing state sometimes changes for no apparent reason.
Graphics & Imaging, Printing Technical Q&As 2001-07-02
Unicode Utilities Reference (HTML) (PDF)
Describes the C API that allows applications and input methods to operate on Unicode text.
Internationalization, Text & Fonts Reference 2006-01-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, User Experience Technical Q&As 2005-06-17
Uniform Type Identifiers Overview (HTML) (PDF)
Describes uniform type identifiers and how to use them.
Data Management, File Management, Interapplication Communication Guides 2008-04-08
Uniquely Identifying a Macintosh Computer (HTML) (日本語 HTML)
TN1103: How to identify a specific Macintosh computer.
Security Technical Notes 2006-04-25
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
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, Porting Guides 2009-02-04
Update: Borrowed AFP Sessions (HTML) (日本語 HTML)
TN1106: Shows how to borrow the session reference number of an AFP volume mounted by the Macintosh File System.
Networking Technical Notes 2000-08-14
Updating OpenGL Contexts (HTML) (日本語 HTML)
QA1209: When and why to update an OpenGL context in response to system and user actions.
Games, Graphics & Imaging Technical Q&As 2003-06-19
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
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
URL Access and the Missing Progress Dialog (HTML) (日本語 HTML)
Deprecated - QA1140: Explains a known bug in URL Access related to progress dialogs.
Networking Technical Q&As 2002-09-23
URL Access Manager Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for transferring data to and from a URL from within an application. Replaced by CFNetwork.
File Management, Internet & Web, Networking Reference 2006-07-13
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
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
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
Using Clip Region and Buffer Rectangles with OpenGL Carbon (HTML) (日本語 HTML)
QA1222: Shows the basics of using buffer rectangles and clip regions with AGL.
Games, Graphics & Imaging Technical Q&As 2002-12-19
Using cmPathBased profile locations on Mac OS X (HTML) (日本語 HTML)
QA1203: Shows how to correctly specify cmPath-based profile locations on Mac OS X
Graphics & Imaging Technical Q&As 2002-11-06
Using collection classes safely with multithreaded applications (HTML) (日本語 HTML)
TN2059: Describes some problems with and workarounds for using mutable collection classes in multithreaded applications.
Process Management Technical Notes 2002-09-10
Using Ink Services in Your Application (HTML) (PDF)
Explains how Ink Services works and how to customize handwriting recognition.
Events & Other Input, Text & Fonts Guides 2003-07-24
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
Using Launch Services for discovering document binding and launching applications (HTML) (日本語 HTML)
TN2017: Interface to starting applications, opening documents either with a specific application, or using the default application.
File Management, Process Management Technical Notes 2001-04-17
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 PostScript Printer Description Files (HTML) (PDF)
Information for printer vendors. Includes installing files, PPD/PDE binding, and grouping features.
Printing Guides 2005-07-07
Using qd and QDGlobals (HTML) (日本語 HTML)
Deprecated - QD40: Why a sample program compiled with SC may give the link error: undefined entry qd. Provides a solution.
Graphics & Imaging, User Experience Technical Q&As 1996-02-09
Using QTPixelBufferContextCreate with NewMovieFromProperties (HTML)
QA1443: Discusses using a QuickTime pixel buffer visual context and NewMovieFromProperties to output frames to pixel buffers.
QuickTime Technical Q&As 2008-08-08
Using Secure Event Input Fairly (HTML)
TN2150: Describes the proper use of EnableSecureEventInput.
Events & Other Input, Security Technical Notes 2007-06-08
Using Temporary Memory with OpenPicture (HTML)
Deprecated - QD20: Provides several techniques of causing OpenPicture to allocate temporary memory for a picture handle.
Games, Graphics & Imaging, Performance, User Experience Technical Q&As 1996-02-01
Using the 3DMixer Audio Unit (HTML)
TN2112: Discusses how to use Core Audio's 3DMixer version 2.0
Audio Technical Notes 2004-06-14
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.
File Management, Human Interface Toolbox, User Experience Technical Notes 1996-12-01
Using the Japanese Analysis Engine and Access Method (HTML) (PDF)
Describes dictionary access and the environments used by the Japanese Analysis Engine.
Internationalization Guides 2003-05-01
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
Using the Web Services Core Framework and CFNetwork to Access Remote SOAP Services (HTML)
Learn how to access remote SOAP-based web services that require HTTP Basic or Digest authentication.
Internet & Web, Networking Articles 2007-03-07
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
vDSP Complex Vector Conversion Reference (HTML) (PDF)
Describes functions that convert complex vectors between interleaved and split forms.
Performance Reference 2007-06-15
vDSP Correlation, Convolution, and Filtering Reference (HTML) (PDF)
Describes an interface for performing correlation, convolution, and filtering operations on real or complex signals.
Performance Reference 2009-01-06
vDSP Matrix Operations Reference (HTML) (PDF)
Describes an interface for matrix arithmetic operations.
Performance Reference 2009-01-06
vDSP One-Dimensional Fast Fourier Transforms Reference (HTML) (PDF)
Describes an interface for performing one-dimensional fast Fourier transforms on an input signal.
Performance Reference 2009-01-06
vDSP Single-Vector Operations Reference (HTML) (PDF)
This document describes the C API for performing common routines on a single vector in vDSP.
Performance Reference 2009-01-07
vDSP Two-Dimensional Fast Fourier Transforms Reference (HTML) (PDF)
Improved function discussions and corrections.
Performance Reference 2008-11-19
vDSP Vector Scalar Arithmetic Operations Reference (HTML) (PDF)
Describes vDSP functions that perform arithmetic operations combining a scalar with each element of a vector.
Performance Reference 2007-06-15
vDSP Vector-To-Scalar Operations Reference (HTML) (PDF)
Describes functions that receive a vector as input and compute scalars as output.
Performance Reference 2009-01-06
vDSP Vector-to-Vector Arithmetic Operations Reference (HTML) (PDF)
Describes functions that receive a vector as input and return a vector as output.
Performance Reference 2009-01-06
VelEng FFT (HTML) (DMG) (ZIP)
G4 Velocity Engine implementation of Fast Fourier Transform (FFT) and associated convolution/correlation routines.
Tools Sample Code 2003-01-14
The 'vers' Resource and Your Place in the World (HTML)
TX14: Setting the correct country code in the 'vers' resource to reflect the application's localization.
Resource Management Technical Q&As 2000-05-01
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
Version Territory (HTML)
Deprecated - OV12: Please see Technical Note 1132 - Version Territory.
Design Guidelines, File Management Technical Notes 1988-04-01