2
votes

Quartz 2D Opaque Data Types

The Quartz 2D API defines a variety of opaque data types in addition to graphics contexts. Because the API is part of the Core Graphics framework, the data types and the routines that operate on them use the CG prefix.

Quartz 2D creates objects from opaque data types that your application operates on to achieve a particular drawing output. Figure 1-3 shows the sorts of results you can achieve when you apply drawing operations to three of the objects provided by Quartz 2D. For example:

You can rotate and display a PDF page by creating a PDF page object, applying a rotation operation to the graphics context, and asking Quartz 2D to draw the page to a graphics context.

You can draw a pattern by creating a pattern object, defining the shape that makes up the pattern, and setting up Quartz 2D to use the pattern as paint when it draws to a graphics context.

You can fill an area with an axial or radial shading by creating a shading object, providing a function that determines the color at each point in the shading, and then asking Quartz 2D to use the shading as a fill color.

I am having trouble understanding this part of apple reference guide

and specifically the things i have bold, like what "them" is refereed to?

And please clarify about opaque data type generally , not in c or c++ terms.

Thanks in advance, Regards.

2

2 Answers

5
votes

The phrase opaque type simply means a type that contains or references data that you're not supposed to look at, or even be able to look at. For example, Quartz provides the CGContextRef type. Functions are provided for creating, obtaining, manipulating, and releasing a graphics context using an instance of CGContextRef, but you can't look inside a CGContextRef and see what's inside. You can't reasonably use or change a context without using the functions provided.