Document Revision History

This table describes the changes to Quartz 2D Programming Guide.

DateNotes
2013-12-16Removed text chapter; use Core Text instead.
2012-09-19Corrected typos and minor technical issues.
2010-11-19Updated for OS X v10.6 and iOS 4.2.
2010-06-25Minor clarifications and editing.
2009-05-18Updated the font names in text examples to reflect fonts available on both iOS and OS X.
2008-06-04Updated for iOS SDK.
 

Added information about image formats to “Bitmap Image Information.”

 

Corrected typos.

2007-12-11Revised text chapter and added a glossary.
 

Added code that creates a dictionary and adds metadata to it. See Listing 13-4.

2007-07-02Updated for OS X v10.5.
 

Renamed the Shadings chapter to Gradients and revised it to include information on the use of the CGGradientRef opaque data type.

 

In “Data Management in Quartz 2D” and a link and information about Image I/O Programming Guide.

 

Updated the introduction with recent, relevant related documentation and added a description of the revised “Gradients” chapter.

 

Revised “Quartz 2D Opaque Data Types” to include CGGradientRef and provided links to information on CGImageSourceRef and CGImageDestinationRef opaque data types which are part of the Image I/O framework.

 

Updated Table 2-1 with additional pixel formats.

2007-01-08Fixed a number of minor technical issues.
 

Improved the wording in the first paragraph of “Gradients.”

 

Made a correction to the floating-point gray information in Table 2-1.

 

Corrected the declarations in Listing 14-5

2006-10-03Made minor technical improvements.
 

Added cross references to the reference documentation for the constants listed in Table 2-1.

 

Removed information on using a CGGLContextRef object because the use of a graphics context for OpenGL rendering is not reliable and is not recommended.

 

Added thread safety information to “Creating a PostScript Converter Object.”

2006-07-24Made minor technical improvements.
 

Changed Listing 2-6 so that is correctly frees the bitmap data.

 

Added cross references to “Creating an Image From Part of a Larger Image” and “Creating an Image from a Bitmap Graphics Context” that link to examples of creating graphics contexts.

2006-06-28Made minor changes to clarify a few concepts.
 

Revised Figure 12-2 and the text that describes it.

 

Revised Figure 1-2 and the text that describes it.

 

Revised information in “Python Bindings for Quartz 2D”.

 

Provided hyperlinks to the functions and methods discussed in “Data Management in Quartz 2D.”

 

Corrected a typographical error in Listing 2-2.

2006-02-07Corrected typographical error.
2006-01-10Made minor typographical and technical corrections.
2005-11-09Corrected several technical, typographical, and formatting errors.
 

Made changes to code in Listing 12-1.

 

Revised introductory paragraphs in “Transforms.”

 

Revised several sentences in “How Quartz 2D Draws Text.”

2005-07-07Corrected typos and added clarification about Quartz OpenGL graphics context.
2005-06-04Fixed typos and added a Python script name.
2005-04-29Updated for OS X v10.4.
 

Changed the title from Drawing With Quartz 2D to make it more consistent with the titles of similar documentation.

 

Revised the Introduction to reflect the new content.

 

Simplified the code in Figure 3-1.

 

Revised the introductions for “Color and Color Spaces,” “Transforms,” “Bitmap Images and Image Masks,” and “PDF Document Parsing.”

 

Made changes to code in “Code that uses layers to draw a flag” so that more appropriately-sized layers are used; substituted the function CGContextDrawLayerAtPoint for CGContextDrawLayerInRect.

 

Revised the section “Setting Blend Modes”; added figures that show actual output produced using blend modes.

 

Revised the section “Using Blend Modes with Images” and replaced the figures with better examples of drawing an image using different blend modes.

 

Added information about Core Image and Core Video in the opening paragraphs of “Overview of Quartz 2D.”

 

Introduced the notion of CGLayer objects in the section “Drawing Destinations: The Graphics Context.”

 

Added the new Tiger opaque objects to “Quartz 2D Opaque Data Types.”

 

Added blend mode to “Graphics States.” Added information about using blend modes to “Paths” and “Bitmap Images and Image Masks.”

 

Revised “Graphics Contexts” to show how to use HIView. Also added new figures to many sections and provided information on HIView coordinates as compared to Quartz coordinates.

 

Added Table 2-1 to show the supported color spaces and pixel formats.

 

Replaced Figure 2-4 to show an enlargement of aliased and antialiasing drawing and text.

 

Added “Ellipses” and revised discussions on “Painting a Path” and “Clipping to a Path” to reflect new Tiger content.

 

Changed “clipping region” to “clipping area” throughout the entire book.

 

Revised information on “Creating Color Spaces” to reflect Tiger content.

 

Added “Evaluating Affine Transforms” and “Getting the User to Device Space Transform.”

 

Revised the chapter formerly titled Data Providers and Data Consumers to contain information on image sources and image destinations, and how to move data between Quartz 2D and Core Image. Retitled the chapter “Data Management in Quartz 2D” to reflect the revised content.

 

Renamed the Bitmap Image chapter to “Bitmap Images and Image Masks” and substantially revised the content to reflect information about image sources, the new image creation functions, image masking function, and using blend modes to composite images.

 

Added the chapter “Core Graphics Layer Drawing.”

 

Added the chapter “PDF Document Parsing,” which contains some material from the old PDF Document chapter along with new material on scanners and content streams.

 

Added “Copying Font Variations” and “PostScript Fonts” to the Text chapter.

2004-06-28

Revised for Mac OS X v10.3.

2001-07-01

First version.