Quartz 2D is the native two-dimensional graphics rendering
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
for
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
and
iOS
Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
platforms, part of the
Core Graphics
In Apple's macOS operating system, Quartz is the Quartz 2D and Quartz Compositor part of the Core Graphics framework. Quartz includes both a 2D renderer in Core Graphics and the composition engine that sends instructions to the graphics card. ...
framework.
Overview
Quartz 2D is available to all macOS and iOS application environments and provides resolution-independent and device-independent rendering of bitmap graphics, text, and vectors both on-screen and in preparation for printing. Its responsibilities within the graphics layer include:
* Rendering text
* Displaying, manipulating, and rendering
PDF
Portable document format (PDF), standardized as ISO 32000, is a file format developed by Adobe Inc., Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, computer hardware, ...
documents
* Converting
PostScript
PostScript (PS) is a page description language and dynamically typed, stack-based programming language. It is most commonly used in the electronic publishing and desktop publishing realm, but as a Turing complete programming language, it c ...
data to PDF data, and vice versa
* Displaying, manipulating, and rendering bitmap images
* Providing color management via
ColorSync
ColorSync is Apple Inc.'s color management API for the Classic Mac OS and Mac OS X operating systems.
Version history
Apple developed the original 1.0 version of ColorSync as a Mac-only architecture, which made it into an operating syste ...
* Displaying the elements of the
Aqua
Aqua is the Latin word for water. As such, it is often used in many words which relate to water, such as aquatic life. In English, it may also refer to:
Arts
* Aqua (color), a greenish-blue color
Business
* Aqua (Chicago), an 82-story resid ...
user interface
Because Quartz 2D is one of several Quartz Technologies, the term "Quartz" by itself must be taken in context.
Drawing in Quartz 2D
Quartz 2D expands the drawing functions associated with
QuickDraw
QuickDraw was the 2D graphics library and associated application programming interface (API) which is a core part of classic Mac OS. It was initially written by Bill Atkinson and Andy Hertzfeld. QuickDraw still existed as part of the libraries ...
. The most notable difference is that Quartz 2D eliminates output device and resolution specificity.
The drawing model utilized by Quartz 2D is based on PDF specification 1.4. Drawing takes place using a
Cartesian coordinate system
In geometry, a Cartesian coordinate system (, ) in a plane (geometry), plane is a coordinate system that specifies each point (geometry), point uniquely by a pair of real numbers called ''coordinates'', which are the positive and negative number ...
, where text, vectors, or bitmap images are placed on a grid. However, drawing output is not sent directly to the output device. Quartz 2D uses graphics contexts, environments in which drawing takes place. Each graphics context defines how the drawing should be presented: in a window, sent to a printer, an OpenGL layer, or off-screen. Each context rasterizes the drawing at the desired resolution without altering the data that defines the drawing. Thus, contexts are the mechanism by which Quartz 2D employs resolution- and device-independence. For example, a window context may rasterize an object to the appropriate screen resolution to create actual graphics on the display. The same object can be sent to a printing context at a much higher resolution. This permits the same graphics commands to yield output on any device using the most appropriate resolution.
History
Quartz 2D is similar to
NeXT
NeXT, Inc. (later NeXT Computer, Inc. and NeXT Software, Inc.) was an American technology company headquartered in Redwood City, California that specialized in computer workstations for higher education and business markets, and later develope ...
's
Display PostScript
Display PostScript (or DPS) is a 2D graphics engine system for computers that uses the PostScript (PS) imaging model and language to generate on-screen graphics. PS was originally developed for computer printing, to which DPS adds a number of fe ...
in its use of contexts. It first appeared as the 2D graphics rendering library called Core Graphics Rendering; along with Core Graphics Services (Compositing), it was wrapped into the initial incarnation of Quartz. Quartz (and its renderer) were first demonstrated at WWDC in May 1999.
Presently, the name ''Quartz 2D'' more precisely defines the 2D rendering capabilities of Core Graphics (Quartz). With the release of Mac OS X 10.2, marketing attention focused on
Quartz Extreme, the composition layer, leaving the term "Quartz" to refer to the Core Graphics framework or just its 2D renderer. Presently, ''Quartz'' technologies can describe all of the rendering and compositing technologies introduced by macOS (including
Core Image
Core Image is a pixel-accurate, near-realtime, non-destructive image processing technology in Mac OS X. Implemented as part of the QuartzCore framework of Mac OS X 10.4 and later, Core Image provides a plugin-based architecture for applying filt ...
for example).
Prior to Mac OS X Tiger, QuickDraw rendering outperformed that of Quartz 2D. Mac OS X 10.4 rectified this, substantially increasing the standard rendering performance of Quartz 2D.
[Mac OS X 10.4 Tiger , Ars Technica](_blank)
/ref> Tiger also introduced Quartz 2D Extreme: optional graphics processor (GPU) acceleration for Quartz 2D, although it is not an officially supported feature. Quartz 2D Extreme is disabled by default in Mac OS X 10.4 because it may lead to video redraw issues or kernel panics. In Mac OS X Leopard, Quartz 2D Extreme was renamed QuartzGL.
See also
* Quartz (graphics layer)
In Apple's macOS operating system, Quartz is the Quartz 2D and Quartz Compositor part of the Core Graphics framework. Quartz includes both a 2D renderer in Core Graphics and the composition engine that sends instructions to the graphics card ...
* Quartz Compositor
Quartz Compositor is the display server (and at the same time the compositing window manager) in macOS. It is responsible for presenting and maintaining rasterized, rendered graphics from the rest of the Core Graphics framework and other ren ...
* QuickDraw
QuickDraw was the 2D graphics library and associated application programming interface (API) which is a core part of classic Mac OS. It was initially written by Bill Atkinson and Andy Hertzfeld. QuickDraw still existed as part of the libraries ...
* Display PostScript
Display PostScript (or DPS) is a 2D graphics engine system for computers that uses the PostScript (PS) imaging model and language to generate on-screen graphics. PS was originally developed for computer printing, to which DPS adds a number of fe ...
* Core Image
Core Image is a pixel-accurate, near-realtime, non-destructive image processing technology in Mac OS X. Implemented as part of the QuartzCore framework of Mac OS X 10.4 and later, Core Image provides a plugin-based architecture for applying filt ...
* Direct2D
Direct2D is a 2D vector graphics application programming interface (API) designed by Microsoft and implemented in Windows 10, Windows 8, Windows 7 and Windows Server 2008 R2, and also Windows Vista and Windows Server 2008 (with Platform Update ...
References
{{reflist
External links
Mac OS X – Features – Quartz Extreme
– from Apple
Introduction to Quartz 2D Programming Guide
– developer documentation from Apple
– developer documentation from O'Reilly's MacDevCenter
Graphics libraries
macOS APIs