All Topics  
QuickDraw

 

   Email Print
   Bookmark   Link






 

QuickDraw



 
 
Quickdraw
QuickDraw

QuickDraw is the 2D Computer graphics library and associated Application programming interface which is a core part of the classic Apple Macintosh Mac OS....
 also refers to equipment used for rock climbing
Rock Climbing

Rock climbing is a sport in which participants climb up or across natural Rock formations or man-made climbing wall with the goal of reaching the Summit of a formation or the endpoint of a pre-defined route....
.


QuickDraw is the 2D graphics
Computer graphics

Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
 library and associated Application Programming Interface (API)
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 which is a core part of the classic Apple Macintosh operating system
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
. It was initially written by Bill Atkinson
Bill Atkinson

Bill Atkinson is an American computer engineer and photographer. Atkinson worked at Apple Computer from 1978 to 1990. He received his undergraduate degree from the University of California, San Diego, where Apple Macintosh developer Jef Raskin was one of his professors....
 and Andy Hertzfeld
Andy Hertzfeld

Andy Hertzfeld was a key member of the original Apple Macintosh development team during the 1980s. After buying an Apple II in January 1978, he went to work for Apple Computer from August 1979 until March 1984, where he was a key designer of the Macintosh system software....
. QuickDraw still exists as part of the libraries of Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, but has been largely superseded by the more modern Quartz
Quartz (graphics layer)

Quartz specifically refers to a pair of Mac OS X technologies, each part of the Core Graphics framework: Quartz 2D and Quartz Compositor. It includes both a 2D renderer in Core Graphics and the composition engine that sends instructions to the graphics card....
 graphics system. In Mac OS X v10.4
Mac OS X v10.4

Mac OS X version 10.4 ?Tiger? was the fifth Software version of Mac OS X, Apple Inc. desktop and server operating system for Macintosh computers....
, QuickDraw has been officially deprecated
Deprecation

In computer software standards and documentation, the term deprecation is applied to software features that are superseded and should be avoided....
. In Mac OS X v10.5
Mac OS X v10.5

Mac OS X version 10.5 "Leopard" is the sixth Software version of Mac OS X, Apple Inc. desktop and server operating system for Apple Macintosh computers, and the successor to Mac OS X v10.4 "Tiger"....
 applications using QuickDraw can't make use of the added 64-bit support.

Principles of QuickDraw
QuickDraw was grounded in the Apple Lisa
Apple Lisa

The Apple Lisa was a personal computer designed at Apple Computer, Inc. during the early 1980s.The Lisa project was started at Apple in 1978 and evolved into a project to design a powerful personal computer with a graphical user interface that would be targeted toward business customers....
's LisaGraf of the early 1980s and was designed to fit well with the Pascal-based interfaces and development environments of the early Apple
Apple Computer

Apple Inc., formerly Apple Computer Inc., is an United States multinational corporation which designs and manufactures consumer electronics and software products....
 systems. In addition, QuickDraw is a raster graphics
Raster graphics

In computer graphics, a raster graphics image or bitmap, is a data structure representing a generally Rectangle grid of pixels, or points of color, viewable via a Computer display, paper, or other display medium....
 system, which defines the pixel
Pixel

In digital imaging, a pixel is the smallest item of information in an image. Pixels are normally arranged in a 2-dimensional grid, and are often represented using dots, squares, or rectangles....
 as its basic unit of graphical information.






Discussion
Ask a question about 'QuickDraw'
Start a new discussion about 'QuickDraw'
Answer questions from other users
Full Discussion Forum



Encyclopedia


Quickdraw
QuickDraw

QuickDraw is the 2D Computer graphics library and associated Application programming interface which is a core part of the classic Apple Macintosh Mac OS....
 also refers to equipment used for rock climbing
Rock Climbing

Rock climbing is a sport in which participants climb up or across natural Rock formations or man-made climbing wall with the goal of reaching the Summit of a formation or the endpoint of a pre-defined route....
.


QuickDraw is the 2D graphics
Computer graphics

Computer graphics are graphics created by computers and, more generally, the representation and manipulation of pictorial data by a computer....
 library and associated Application Programming Interface (API)
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 which is a core part of the classic Apple Macintosh operating system
Mac OS

Mac OS is the trademarked name for a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems....
. It was initially written by Bill Atkinson
Bill Atkinson

Bill Atkinson is an American computer engineer and photographer. Atkinson worked at Apple Computer from 1978 to 1990. He received his undergraduate degree from the University of California, San Diego, where Apple Macintosh developer Jef Raskin was one of his professors....
 and Andy Hertzfeld
Andy Hertzfeld

Andy Hertzfeld was a key member of the original Apple Macintosh development team during the 1980s. After buying an Apple II in January 1978, he went to work for Apple Computer from August 1979 until March 1984, where he was a key designer of the Macintosh system software....
. QuickDraw still exists as part of the libraries of Mac OS X
Mac OS X

Mac OS X is a line of computer operating systems developed, marketed, and sold by Apple Inc., and since 2002 has been included with all new Macintosh computer systems....
, but has been largely superseded by the more modern Quartz
Quartz (graphics layer)

Quartz specifically refers to a pair of Mac OS X technologies, each part of the Core Graphics framework: Quartz 2D and Quartz Compositor. It includes both a 2D renderer in Core Graphics and the composition engine that sends instructions to the graphics card....
 graphics system. In Mac OS X v10.4
Mac OS X v10.4

Mac OS X version 10.4 ?Tiger? was the fifth Software version of Mac OS X, Apple Inc. desktop and server operating system for Macintosh computers....
, QuickDraw has been officially deprecated
Deprecation

In computer software standards and documentation, the term deprecation is applied to software features that are superseded and should be avoided....
. In Mac OS X v10.5
Mac OS X v10.5

Mac OS X version 10.5 "Leopard" is the sixth Software version of Mac OS X, Apple Inc. desktop and server operating system for Apple Macintosh computers, and the successor to Mac OS X v10.4 "Tiger"....
 applications using QuickDraw can't make use of the added 64-bit support.

Principles of QuickDraw


QuickDraw was grounded in the Apple Lisa
Apple Lisa

The Apple Lisa was a personal computer designed at Apple Computer, Inc. during the early 1980s.The Lisa project was started at Apple in 1978 and evolved into a project to design a powerful personal computer with a graphical user interface that would be targeted toward business customers....
's LisaGraf of the early 1980s and was designed to fit well with the Pascal-based interfaces and development environments of the early Apple
Apple Computer

Apple Inc., formerly Apple Computer Inc., is an United States multinational corporation which designs and manufactures consumer electronics and software products....
 systems. In addition, QuickDraw is a raster graphics
Raster graphics

In computer graphics, a raster graphics image or bitmap, is a data structure representing a generally Rectangle grid of pixels, or points of color, viewable via a Computer display, paper, or other display medium....
 system, which defines the pixel
Pixel

In digital imaging, a pixel is the smallest item of information in an image. Pixels are normally arranged in a 2-dimensional grid, and are often represented using dots, squares, or rectangles....
 as its basic unit of graphical information. This is in contrast to vector graphics
Vector graphics

Vector graphics is the use of geometrical Primitive s such as point s, line , curves, and shapes or polygon, which are all based upon mathematical equations, to represent s in computer graphics....
 systems, where graphics primitives are defined in mathematical terms and rasterised as required to the display resolution. A raster system requires much less processing power however, and was the prevailing paradigm at the time that QuickDraw was developed.

QuickDraw defines a key data structure, the graphics port, or GrafPort. This is a logical drawing area where graphics can be drawn. The most obvious on-screen "object" corresponding to a grafport is a window, though so is the entire desktop view and off-screen ports can also exist.

The Grafport defines a coordinate system
Coordinate system

In mathematics and its applications, a coordinate system is a system for assigning an n-tuple of numbers or scalar to each Point in an n-dimensional space....
. In QuickDraw, this has a resolution of 16 bits, giving 65,536 unique vertical and horizontal locations. These are numbered from -32,767 on the extreme left (or top), to +32,768 on the extreme right (or bottom). A window is usually set up so that the top, left corner of its content area is located at 0,0 in the associated grafport. A window's content area does not include the window's frame, drop shadow
Drop shadow

In computer graphics, a drop shadow is a visual effect consisting of drawing that looks like the shadow of an object, giving the impression that the object is raised above the objects behind it....
 or title bar (if any).

QuickDraw coordinates refer to the infinitely thin lines between pixel
Pixel

In digital imaging, a pixel is the smallest item of information in an image. Pixels are normally arranged in a 2-dimensional grid, and are often represented using dots, squares, or rectangles....
 locations. An actual pixel is drawn in the space to the immediate right and below the coordinate. This eliminates graphical glitches caused by off-by-one errors.

On the Macintosh, pixels are square and a grafport has a default resolution of 72 pixels per inch, chosen to match conventions established by the printing industry of having 72 points
Point (typography)

In typography, a point is the smallest Typographic unit of measure, being a subdivision of the larger Pica . It is commonly abbreviated as pt. The traditional printer's point, from the era of hot metal typesetting and Printing press, varied between 0.18 and 0.4 Milimeter depending on various definitions of the foot....
 to the inch.

QuickDraw also contains a number of scaling and mapping functions.

QuickDraw maintains a number of global variable
Global variable

In computer programming, a global variable is a variable that is accessible in every scope . Interaction mechanisms with global variables are called global environment mechanisms....
s per process, chief among these being the current port. This originally simplified the API, since all operations pertain to "the current port", but as the OS has developed, this use of global state has also made QuickDraw much harder to integrate with modern design approaches such as multi-threading, pre-emptive multitasking and so on. To address these problems, the Carbon
Carbon (API)

Carbon is one of Apple Inc.'s procedural Application programming interfaces for the Apple Macintosh operating system. It permits a good degree of forward and backward compatibility between source code written to run on the older and now dated Mac OS history , and the newer Mac OS X....
 API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
 (a bridge between Mac OS 9 and OS X) adds additional parameters to some of the routines, allowing for the (opaque) storage of thread information and a new (non-polled) event structure.

Graphics primitives


Everything seen on a classic Mac OS screen is drawn by QuickDraw, but the library itself is quite low level. The primitive objects it can draw are:

  • Lines
  • Rectangles
  • Rounded (and oval) cornered rectangles
  • Ovals (including circles)
  • Arcs (and wedges), both circular and oval
  • Polygons (arbitrary closed shapes built from a list of points joined by lines)
  • Regions (arbitrary sets of pixels)
  • Bitmap
    Bitmap

    In computer graphics, a bitmap or pixmap is a type of computer storage organization or used to store digital images. The term bitmap comes from the computer programming terminology, meaning just a map of bits, a spatially mapped bit array....
    s and Pixmaps
  • Text


Each of these objects (except text) may be drawn using a "pen", which can have any rectangular dimensions, pattern or colour. Note that, because the pen is rectangular and axis-aligned, diagonal lines will end up thicker than horizontal or vertical ones. Shapes may be drawn filled or framed, using any pattern or colour. A filled Arc forms a wedge. Text may be drawn in any installed font, in a variety of stylistic variations, and at any size and colour. Text is scaled in a variety of ways depending on how it is stored - TrueType
TrueType

TrueType is an outline font standardization originally developed by Apple Computer in the late 1980s as a competitor to Adobe Systems's Type 1 fonts used in PostScript....
 fonts will scale smoothly to any size, whereas bitmap fonts do not usually scale well.

An important feature of QuickDraw was support for transfer modes, which governed how a destination pixel value was related to its previous value and the colour of the object being drawn.

The set of attributes of the pen and text drawing are associated with the GrafPort.

Regions are a key data structure in QuickDraw. They define an arbitrary set of pixels, rather like a bitmap, but in a compressed form which can be very rapidly manipulated in complex ways. Regions can be combined (union), subtracted (difference), and XORed to form other Regions. They can be used within a GrafPort for clipping
Clipping

Clipping has several meanings:* Coin clipping, shaving off a small portion of precious metal for profit* Wing clipping, trimming a bird's primary flight feathers to disable flight...
, or drawn filled or framed like any other shape. A series of framed shapes and connected lines may be combined into a Region. A Region need not consist of a contiguous set of pixels - disconnected regions are possible and common. Although regions could allow powerful graphic manipulations they are limited by the current implementation that restricts the maximum region data storage size to a sixteen bit value and so are not practical as a general-purpose drawing composition tool and practical use at high resolution is also restricted. Regions underpin the rest of QuickDraw, permitting clipping to arbitrary shapes, essential for the implementation of multiple overlapping windows. Invented by Bill Atkinson, Regions were patented as a separate invention by Apple.

A region is specified (after initial creation) by an opening of the region, drawing various QuickDraw shapes, and closing the region. Hidden routines construct the region as the QuickDraw commands are executed. Bitmaps may also be converted to regions, and bitmaps may be made from regions by "painting" or "filling" the region into a graphics port.

The internal structure of a region, other than the storage length and its bounding rectangle, is opaque - there are no Apple-published documents available, though the mechanism is outlined in the patent. Regions are implemented using both vertical and horizontal compression
Data compression

In computer science and information theory, data compression or source coding is the process of encoding information using fewer bits than an code representation would use through use of specific encoding schemes....
. A region is stored as a series of horizontal scan lines ("rasters
Raster graphics

In computer graphics, a raster graphics image or bitmap, is a data structure representing a generally Rectangle grid of pixels, or points of color, viewable via a Computer display, paper, or other display medium....
"), each of which contains a vertical coordinate followed by a list of horizontal inversion coordinates. Each inversion point can be thought of as toggling inclusion in the region for all the points after it: the first point turns the region on, the second turns it off, and so on. Further compression is achieved by storing each line differentially: each line contains only the differences from the previous line rather than a full set of inversion points. Finally, identical adjacent scan lines are efficiently encoded by simply skipping them. In this way, a commonly used region, the rounded corner rectangle, is efficiently encoded, and complex operations such as region composition and image clipping may be done without requiring either extensive processor cycles or large amounts of memory. (The original systems executing QuickDraw code used processors operating at 8 megahertz clock rates and systems had but 128 kilobytes of writable memory.)

Because regions are bound to a specific orientation, a ninety degree rotation of a region would require both detailed reverse engineering
Reverse engineering

Reverse engineering is the process of discovering the technological principles of a device, object or system through analysis of its structure, function and operation....
 of the structure and extensive coding. A general rotation is impractical when compared to rotating the original source boundary description and simply creating a new region. However, the API includes conversion routines to and from BitMaps. (Bitmaps may also be rotated using well known methods, but with various degrees of image degradation depending upon angle chosen, the storage and processor cycles available to the operation, and the complexity of the algorithm.)

Apple has recently (in the Carbon API
Carbon (API)

Carbon is one of Apple Inc.'s procedural Application programming interfaces for the Apple Macintosh operating system. It permits a good degree of forward and backward compatibility between source code written to run on the older and now dated Mac OS history , and the newer Mac OS X....
) defined regions as an opaque structure under some program compilation options.

Higher level operations


Any series of graphics calls to QuickDraw can be recorded in a structure called a Picture. This can then be saved in memory and "played back" at any time, reproducing the graphics sequence. At playback time the picture may be placed at new coordinates or scaled. A picture can be saved to disk in which form it defines the Apple PICT
PICT

PICT is a computer graphics file format introduced on the original Apple Macintosh computer as its standard metafile format. It allows the interchange of graphics , and some limited text support, between Mac applications, and was the native graphics format of QuickDraw....
 format.

An entire BitMap (or PixMap, when referring to colour images) may be copied from one grafport to another, with scaling and clipping. Known as blitting
Bit blit

BitBlt or the synonymous term Blit is a computer graphics operation in which several bitmaps are combined into one using a "raster operator"....
, or CopyBits, after the name of the function, this operation is the basis for most animation and sprite-like effects on the Mac.

QuickDraw provides a similar blitting function which is designed to implement scrolling within a grafport - the image in the port can be shifted to a new location without scaling (but with clipping if desired).

Each graphics primitive operation is vectored through the StdProcs, a series of function pointer
Function pointer

A function pointer is a type of pointer in C , C++, D programming language, and other C-like programming languages. When Dereference operator, a function pointer invokes a subroutine, passing it zero or more arguments just like a normal function....
s stored in the GrafPort. This limited polymorphism
Polymorphism in object-oriented programming

In simple terms, polymorphism is the ability of one type, A, to appear as and be used like another type, B. In strongly typed languages, this usually means that type A somehow derives from type B, or type A implements an interface that represents type B....
 permits individual operations to be overridden or replaced by custom functions, allowing printer
Computer printer

File:Lexmark X5100 Series.jpgIn computing, a printer is a peripheral which produces a hard copy of documents stored in computer file form, usually on physical print media such as paper or Transparency ....
 drivers to intercept graphics commands and translate them to suitable printer operations. In this way, QuickDraw can be rendered using PostScript
PostScript

PostScript is a dynamically typed concatenative programming language programming language created by John Warnock and Charles Geschke in 1982. PostScript is best known for its use as a page description language in the electronic and desktop publishing areas....
, a fact that enabled the Macintosh to practically invent desktop publishing
Desktop publishing

Desktop publishing combines a personal computer and WYSIWYG page layout software to create publication documents on a computer for either Publishing or small scale local Multifunction printer output and distribution....
.

Similar to a subclass
Inheritance (computer science)

In object-oriented programming, inheritance is a way to form new class es using classes that have already been defined. The inheritance concept was invented in 1967 for Simula....
, the Window data structure began with the associated GrafPort, thus basically making windows exchangeable with any GrafPort. While convenient, this could be a source of programming errors.

History


QuickDraw started life as LisaGraf, as part of the Apple Lisa
Apple Lisa

The Apple Lisa was a personal computer designed at Apple Computer, Inc. during the early 1980s.The Lisa project was started at Apple in 1978 and evolved into a project to design a powerful personal computer with a graphical user interface that would be targeted toward business customers....
 development. For the Macintosh it was initially simplified, but then later extended. Originally, QuickDraw GrafPorts only supported a bit depth of 1, that is one bit per pixel, or black and white. This suited the built-in screen of the early Macintosh, with its fixed size of 512 x 342 pixels. Limited colour was supported using a crude planar
Planar

In computer graphics, planar is the method of representing pixel colours with several bitplanes of Random Access Memory. Each bit in a bitplane is related to one pixel on the screen....
 model, allowing QuickDraw to drive some types of dot-matrix printer that used multi-coloured ribbons, but very few applications supported this feature.

In 1987, the Macintosh II
Macintosh II

The Apple Macintosh II was the first personal computer model of the Macintosh II series in the Apple Macintosh line. Retailing for US$3,898 base price , the Macintosh II was the first "modular" Macintosh model, so called because it came in a horizontal desktop case like many PCs of the time....
 was developed and launched, which was designed as a more conventional three-box design - CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
, monitor
Computer display

A visual display unit, often called simply a monitor or display, is a piece of electrical equipment which displays images generated from the video output of devices such as computers, without producing a permanent record....
 and keyboard all separate. Because the monitor was separate, and larger than the original Mac, the video
Video

Video is the technology of electronics Videography, recording, processing, storing, transmitting, and reconstructing a sequence of still images representing Scene in motion....
 architecture had to necessarily change. In addition, the Mac II took the Macintosh from black-and-white to full color. Apple also decided at this time to support a seamless desktop spanning multiple monitors, an industry first. Thus Color QuickDraw, a significant extension of the original QuickDraw, was created. The original architecture lacked much provision for expandability, but using a series of inspired hacks, the Apple developers managed to make the addition of color and the new video architecture virtually seamless to both developers and end users.

Color QuickDraw introduced new data structures - GDevices to represent each attached video card/monitor, and a new colour GrafPort (CGrafPort) structure to handle colour, as well as PixMaps instead of BitMaps for multiple bits-per-pixel images. One of the inspired hacks for compatibility used here was that the new structure was exactly the same size as the old one, with most data members in the same place, but with additional handles and pointers to color structures in place of the BitMap fields. The upper two bits of the rowBytes field were pressed into use as flags to distinguish a GrafPort from a CGrafPort (they were always zero on old-style GrafPorts because a BitMap could never feasibly be so wide as to ever set these bits). The use of these two high bits would come back to haunt QuickDraw later, as it forced a maximum row width of just 4,096 on 32-bit PixMaps, which became problematic for high-resolution graphics work. Later development (Carbon) eliminated this limitation but was not fully backward compatible. A Palette Manager was also added in Color QuickDraw which managed the arbitration of colours on indexed video devices. Most graphics primitives operations remained either unchanged (but would operate in color), or else new colour versions of the black and white APIs were added.

Initially, Color QuickDraw was only capable of operating with 1, 2, 4 and 8-bit video cards, which were all that was available at the time. Soon after however, 24-bit video cards appeared (so-called true colour), and QuickDraw was updated again to support up to 32 bits per pixel (in reality, 24 bits, with 8 unused) of color data ("32-Bit QuickDraw"). The architecture always allowed for this however, so no new APIs were necessary. The colour data structures themselves allowed a colour depth of 1, 2, 4, 8, 15 and 24 bits, yielding 1, 4, 16, 256, 32,768 and 16,777,216 colours respectively, or 4, 16 and 256 scales of grey. QuickDraw took care of managing the resampling of colours to the available colour depths of the actual video hardware, or transfer between offscreen image buffers, including optionally dither
Dither

Dither is an intentionally applied form of noise, used to randomize quantization error, thereby preventing large-scale patterns such as contouring that are more objectionable than uncorrelated noise....
ing images down to a lower depth to improve image quality. A set of colour sampling utilities were also added so that programmers could generate optimal colour palettes for use with indexed video devices.

The architecture of QuickDraw had always allowed the creation of GrafPorts and their associated BitMaps or PixMaps "offscreen", where graphics could be composed in memory without it being visible immediately on the screen. Pixels could be transferred between these offscreen ports and the screen using the QuickDraw blitting function CopyBits. Such offscreen compositing is the workhorse for games and graphics-intensive applications. However, until the advent of 32-Bit QuickDraw, such offscreen worlds had to be created and set up by hand by the programmer within his application, and involving as it did three or more separate and fairly complex data structures (CGrafPort, PixMap and GDevice, and for indexed devices, the colour look-up table and its inverse), could be error prone. With 32-Bit QuickDraw, OS support for handling this was added, with the "Offscreen Graphics World" or GWorld. The video buffer (PixMap) of a GWorld could be stored in main memory, or when available in unused parts of video ram where copying to the screen could be optimized for speed by avoiding the need to transfer a large amount of pixel data across the main memory bus.

With the advent of QuickTime
QuickTime

QuickTime is a multimedia framework developed by Apple Inc., capable of handling various formats of digital video, media clips, sound, text, animation, music, and QuickTime VRs....
, QuickDraw gained the ability to deal with compressed raster data, such as JPEG
JPEG

In computing, JPEG is a commonly used method of for photographic images. The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality....
. The QuickTime Image Compression Manager integrated closely with QuickDraw: in particular, image decompression calls were full-fledged QuickDraw drawing calls, and if a picture was being recorded, the compressed data would be saved as part of the picture, for display when the picture was later drawn. The Image Compression Manager also added integration with ColorSync
ColorSync

ColorSync is Apple Inc's color management API for the Mac OS and Mac OS X....
 colour matching.

After this, apart from back-end changes to optimize for new processor architectures (PowerPC
PowerPC

PowerPC is a RISC instruction set architecture created by the 1991 Apple Inc.?IBM?Motorola alliance, known as AIM alliance. Originally intended for personal computers, PowerPC CPUs have since become popular embedded system and high-performance processors....
), QuickDraw remained largely unchanged throughout the rest of the life of the classic Mac OS. QuickDraw GX
QuickDraw GX

QuickDraw GX was a replacement for the QuickDraw 2D computer graphics and Printing Manager inside the "classic" Mac OS. Although GX was based on the same general geometry and dimensions of the original QD engine, the underlying drawing platform became a resolution-independent object oriented retained mode system, making it much easier for pr...
 and QuickDraw 3D
QuickDraw 3D

QuickDraw 3D, or QD3D for short, is a 3D graphics API developed by Apple Inc. starting in 1995, originally for their Apple Macintosh computers, but delivered as a cross-platform system....
 shared the QuickDraw name and were able to interoperate with QuickDraw PixMap and picture data structures, but were otherwise completely separate in functionality.

With Mac OS X, QuickDraw became part of the Carbon API
Application programming interface

An application programming interface is a set of subroutine, data structures, class and/or Protocol provided by library and/or operating system Service s in order to support the building of applications....
. With the release of Mac OS X 10.4, QuickDraw was officially deprecated. Apple's technology overview for the pre-release Mac OS X 10.5 mentions that Mac OS X 10.5 will include resolution independence
Resolution independence

In computing, resolution independence is the concept that elements on a computer screen can be drawn at sizes independent from the pixels.Apple has included some support for resolution independence in recent versions of Mac OS X, which can be demonstrated with the developer tools Quartz Debug, which includes a feature which allows the user...
, and that to look "as good as possible" applications using QuickDraw will need to replace QuickDraw calls with Quartz.

See also

  • Bresenham's line algorithm
    Bresenham's line algorithm

    The Bresenham line algorithm is an algorithm that determines which points in an n-dimensional raster should be plotted in order to form a close approximation to a straight line between two given points....


External links

  • - original QuickDraw documentation from developer.apple.com
  • - modern QuickDraw documentation from developer.apple.com
  • - list of QuickDraw resources from developer.apple.com
  • , May 1981, story about creating QuickDraw