Jump To:
Leopard Reference Library
Graphics and imaging on Mac OS X consists of three main developer technologies: Quartz, an advanced drawing engine and windowing environment; OpenGL, an Apple implementation of this 3D graphics industry-standard API; and QuickTime, the cross-platform multimedia technology for handling video, sound, and text.

A guided introduction for developers new to Mac OS X graphics and imaging.   Essential information for developers working with graphics and imaging.   C and Objective-C API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sort by
Topic
Sort by
Resource Type
Sorted by
Date
NamingTableAccess (HTML) (DMG) (ZIP)
Digs out the contents of the NamingTable in a TrueType 'sfnt'.
Typography Sample Code 2003-01-14
NewCCursor (HTML) (DMG) (ZIP)
Deprecated - Shows how to create a black and white 'CURS' and a color 'crsr' cursor resource by hand.
Carbon Sample Code 2003-01-14
PDEProject (HTML) (DMG) (ZIP)
Deprecated - Demonstrates an application-hosted printing dialog extension (PDE) that displays a custom pane in the Print dialog.
Carbon, Printing Sample Code 2003-01-14
Play Video Sample (HTML) (DMG) (ZIP)
Deprecated - The sample makes use of the RequestVideo sample code API.
Carbon Sample Code 2003-01-14
QTtoCG (HTML) (DMG) (ZIP)
Shows how to create a CGImageRef with the proper ColorSync profile from a QuickTime image on disk.
Cocoa, Quartz, QuickTime Sample Code 2003-01-14
Quartz EB (HTML) (DMG) (ZIP)
WWDC 2001 Early Bird Quartz 2D tutorial of vector drawing and PDF import/export.
Cocoa, Quartz Sample Code 2003-01-14
StyleFlatteningSample (HTML) (DMG) (ZIP)
Shows how to use the ATSUFlatten and ATSUUnflatten APIs.
Typography Sample Code 2003-01-14
VertexPerformanceTest (HTML) (DMG) (ZIP)
A tool that measures triangle throughput and allows comparison of different methods.
OpenGL Sample Code 2003-01-14
Using Clip Region and Buffer Rectangles with OpenGL Carbon (HTML) (日本語 HTML)
QA1222: Shows the basics of using buffer rectangles and clip regions with AGL.
Carbon, Games, OpenGL Technical Q&As 2002-12-19
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.
Carbon, Cocoa, Games, OpenGL, Quartz Technical Q&As 2002-12-04
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.
Carbon, Cocoa, Games, Quartz Technical Q&As 2002-12-02
GetProcAdress and OpenGL Entry Points (HTML) (日本語 HTML)
QA1188: Technique for finding function pointers for OpenGL entry points in Cocoa and Carbon
Carbon, Games, OpenGL Technical Q&As 2002-11-25
Problems recording CopyBits into a PICT on Mac OS X 10.2 (HTML) (日本語 HTML)
QA1189: Identifies a problem with CopyBits and PICT on Mac OS X 10.2 and gives a simple workaround.
Carbon Technical Q&As 2002-11-19
Image Views (HTML) (PDF)
Explains how to use Cocoa image views.
Cocoa Guides 2002-11-12
QDSwapPort (HTML) (日本語 HTML)
QA1128: Explains when to use QDSwapPort.
Carbon Technical Q&As 2002-11-06
Using cmPathBased profile locations on Mac OS X (HTML) (日本語 HTML)
QA1203: Shows how to correctly specify cmPath-based profile locations on Mac OS X
ColorSync Technical Q&As 2002-11-06
Why does logging keep my Printer Module from working? (HTML) (日本語 HTML)
Deprecated - QA1182: Describes some problems with standard printf logging in a Printer Module on Jaguar.
Printing Technical Q&As 2002-11-06
Quartz 2D Interpolation (HTML) (日本語 HTML)
QA1186: Explains how to control Quartz 2D's image interpolation.
Carbon, Cocoa, Printing, Quartz Technical Q&As 2002-10-29
QuickDraw Text Anti-Aliasing using Quartz 2D (HTML) (日本語 HTML)
QA1193: Describes APIs added to Mac OS X to allow applications to draw QD text using CG anti-aliasing.
Carbon Technical Q&As 2002-10-29
Getting the name of a profile (HTML) (日本語 HTML)
QA1205: Shows how to programmatically get the name of a ColorSync profile.
ColorSync Technical Q&As 2002-10-25
Ticket Services Reference (HTML) (PDF)
Describes the C API used by printer modules and PDEs to communicate printing information to the system.
Carbon, Printing Reference 2002-10-23
Why don't all of my PDE localizations show up in all applications? (HTML) (日本語 HTML)
QA1185: Explains why some PDE localizations might not appear in all applications.
Printing Technical Q&As 2002-10-16
FontSync Reference (HTML) (PDF)
Describes the C API for content-based font identification and comparison.
Carbon, Typography Reference 2002-10-01
Preserving embedded ICC profiles when using QuickTime Graphics Importer/Exporters (HTML) (日本語 HTML)
QA1145: Shows how to preserve the embedded ICC profile when using the QuickTime Graphics Importer/Exporter routines
Carbon Technical Q&As 2002-09-04
ICC Profile copyright field (HTML) (日本語 HTML)
QA1136: Discusses how applications should honor the copyright field in the header of an ICC profile.
ColorSync Technical Q&As 2002-04-08
Current GDevice Dependencies (HTML) (日本語 HTML)
QA1115: Describes potential problems with creating windows or ports when the current GDevice isn't the main device.
Carbon, Games Technical Q&As 2002-02-13
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Hardware & Drivers Technical Q&As 2002-01-15
CGContextClosePath (HTML)
QA1046: Explains when you should call CGContextClosePath.
Carbon, Cocoa, Printing, Quartz Technical Q&As 2001-10-02
Saving the current Core Graphics Path (HTML)
QA1056: Explains that the Core Graphics save and restore GState APIs do not affect the path.
Carbon, Cocoa, Printing, Quartz Technical Q&As 2001-10-02
Carbon Full Screen Conundrums (HTML)
QA1068: Describes the available Mac OS X DrawSprocket services.
Games Technical Q&As 2001-08-20
The Mac OS X Font Manager (HTML) (日本語 HTML)
TN2024: Information on installing and accessing fonts programatically.
Typography Technical Notes 2001-07-11
CGContext Bounds (HTML)
QA1048: Explains how to determine the bounds of a CGContext.
Carbon, Printing, Quartz Technical Q&As 2001-07-02
CGContextAddLineToPoint, CGContextAddCurveToPoint, et. al. (HTML)
QA1049: Explains why the CGContextAddXYZ APIs don't draw anything immediately.
Carbon, Cocoa, Printing, Quartz Technical Q&As 2001-07-02
Drawing a Path Multiple Times (HTML)
QA1047: Explains that path drawing operations consume the path.
Carbon, Cocoa, Printing, Quartz Technical Q&As 2001-07-02
Turning Off Core Graphics Clipping (HTML)
QA1050: Explains how to clear the clipping path for a CGContext.
Carbon, Cocoa, Printing, Quartz Technical Q&As 2001-07-02
Unexpected CG state changes (HTML)
QA1045: Explains why the Core Graphics drawing state sometimes changes for no apparent reason.
Carbon, Cocoa, Printing, Quartz Technical Q&As 2001-07-02
Importing animated GIFs (HTML) (日本語 HTML)
TN2018: Describes how to tell if a GIF file or dataref contains more than one frame.
QuickTime Technical Notes 2001-04-17
Improving ATSUI Text Drawing Performance (HTML)
QA1027: Talks about one way of improving ATSUI text drawing performance.
Typography Technical Q&As 2001-04-17
How do I use QuickDraw with CGDirectDisplay? (HTML)
QA1011: Explains how to draw to a CGDirectDisplay-captured display using QuickDraw.
Carbon, Games, Quartz Technical Q&As 2001-04-11
SyncCGContextOriginWithPort (HTML)
QA1010: Describes how to use SyncCGContextOriginWithPort.
Quartz Technical Q&As 2001-04-11
Why are my Core Graphics calls drawing upside down? (HTML)
QA1009: Explains why CoreGraphics drawing comes out upside down relative to QuickDraw drawing.
Quartz Technical Q&As 2001-04-11
Creating Sub GWorlds using QTNewGWorldFromPtr (HTML)
QA1014: Using QTNewGWorldFromPtr to create sub GWorlds which reference the pixel data of other GWorlds.
QuickTime Technical Q&As 2001-03-20
Extracting DV Fields using QTNewGWorldFromPtr (HTML)
QA1017: Describes using QTNewGWorldFromPtr to access individual fields contained within a frame of DV source.
QuickTime Technical Q&As 2001-03-20
LockPixels and DisposeGWorld with QTNewGWorldFromPtr (HTML)
QA1007: Clarifies some issues surrounding pointer ownership when creating GWorlds with QTNewGWorldFromPtr
Carbon, QuickTime Technical Q&As 2001-02-26
CalcCMask and SeedCFill in Carbon (HTML) (日本語 HTML)
QD62: Explains how to use CalcCMask and SeedCFill in Carbon even though Carbon doesn't support OpenPort.
Carbon Technical Q&As 2000-11-08
GetPortBitMapForCopyBits (HTML) (日本語 HTML)
Deprecated - QD61: Describes the proper usage of GetPortBitMapForCopyBits.
Carbon Technical Q&As 2000-11-08
QDFlushPortBuffer (HTML) (日本語 HTML)
QD65: Describes a possible solution for window update problems under Carbon.
Carbon, Games Technical Q&As 2000-11-08
New ColorSync 3.0 APIs (HTML) (日本語 HTML)
TN1185: APIs application can use to take advantage of new features available in ColorSync 3.0.
ColorSync Technical Notes 2000-08-14
Legacy Devices (HTML)
HW84: Discusses why legacy devices with hard-wired I/O addresses may not work properly with Open Firmware.
Hardware & Drivers Technical Q&As 2000-03-20
When to use PCMCIA, PC Card, and CardBus (HTML)
HW77: Explains the differences between PCMCIA, PC Card, and CardBus.
Hardware & Drivers Technical Q&As 1999-11-15
Missing ColorSync Profiles (HTML) (日本語 HTML)
CS13: Describes ColorSync profiles, focusing on the desc tag of the profile and the results of incorrect tags.
ColorSync Technical Q&As 1999-05-03
What's New With ColorSync 2.6 (HTML) (日本語 HTML)
TN1160: Details the changes in ColorSync 2.6.
ColorSync Technical Notes 1999-04-01
Difference between using Restart or Shut Down in the Finder's Special menu in Open Firmware (HTML) (日本語 HTML)
HW47: Explains the differences between using Restart or Shut Down on Open Firmware
Hardware & Drivers Technical Q&As 1999-02-15
Parsing the PICT File Format (HTML) (日本語 HTML)
Deprecated - QD56: Explains where to find information on the PICT file format and warns against parsing a PICT file.
Carbon Technical Q&As 1998-02-10
Creating Gray Scaled Images > 8 bits (HTML) (日本語 HTML)
Deprecated - QD51: Shows how to create gray-scaled images at resolutions greater than 8 bits for display.
Carbon Technical Q&As 1997-11-17
Embedding ICC Profiles (HTML) (日本語 HTML)
CS06: Gives downloads for documents describing embedding ICC profiles in EPS, PICT, and TIFF files.
ColorSync Technical Q&As 1996-02-09
Successful Call to NCWNewColorWorld (HTML) (日本語 HTML)
CS08: Explains the return value of NCWNewColorWorld and the CMWorldRef parameter as a valid return value when successful.
ColorSync Technical Q&As 1996-02-09
Using Embedded EPS Profiles (HTML) (日本語 HTML)
CS09: Gives source on embedding ColorSync profiles in EPS as well as PICT and TIFF formats.
ColorSync Technical Q&As 1996-02-09
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.
Carbon Technical Q&As 1996-02-09
Using Temporary Memory with OpenPicture (HTML)
Deprecated - QD20: Provides several techniques of causing OpenPicture to allocate temporary memory for a picture handle.
Carbon Technical Q&As 1996-02-01
Converting RGB Colors to a Palette Index (HTML)
Deprecated - QD21: Explains how to convert RGB colors into the palette index created by an application.
Carbon Technical Q&As 1995-09-15
Error -151 and NewGWorld (HTML)
Deprecated - QD18: Explains what the error code -151 means when in NewGWorld.
Carbon Technical Q&As 1995-09-15
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.
Carbon Technical Q&As 1995-09-15
Problem Getting PICTS to Display in Correct Colors (HTML)
Deprecated - QD24: Using a custom color table to get PICTs to display with the right colors in an offscreen GWorld.
Carbon Technical Q&As 1995-09-15
Problem with PaintRgn on 256-color Screens (HTML)
Deprecated - QD23: PaintRgn with RGBForeColor and transfer mode addOver doesn't return color to original on 256-color-screens.
Carbon Technical Q&As 1995-09-15
Problems Creating a Mask for a Picture (HTML)
Deprecated - QD27: Demonstrates creating a mask where the mask is 0 for pure white pixels and 1 everywhere else.
Carbon Technical Q&As 1995-09-15
Spooling in or out of CompressPicture or CompressImage (HTML)
Deprecated - QD17: Recommends alternatives to spooling the results of CompressPicture or CompressImage to or from disk.
Carbon Technical Q&As 1995-09-15
Window Manager and EraseRect (HTML)
Deprecated - QD26: Why WindowManager causes a flicker using EraseRect and provides a solution for this problem.
Carbon Technical Q&As 1995-09-15
Special Profile Sizes in ColorSync Manager (HTML)
CS03: Answers several questions on special profile sizes in ColorSync Manager and other efficiency issues.
ColorSync Technical Q&As 1995-05-01