is an ApplicationProgrammingInterface
used on the Macintosh to draw text and graphics on a bitmapped display. It was initially coded by BillAtkinson
. Before QuickDraw
, personal computers usually used character generators to display text and therefore their graphic output was very limited. QuickDraw
took a totally different approach. Besides implementing basic functions to draw text in any size, lines, rectangles and circles, it also sports functions to draw typical GUI elements like menus, windows, and controls. The original Macintosh stored the QuickDraw
API in the well-known Macintosh ROM while later models with more RAM read the QuickDraw
API from disk. The Macintosh II introduced Color QuickDraw
together with powerful image manipulation tools.
It is worth noting that QuickDraw
never needed any hardware support by means of graphic accelerator cards. All operations were performed entirely by the main CPU running highly optimized program code. Opposite to that, Microsoft Windows' display system Gdi delegates a lot of operations to the graphic accelerator card which, in the early days, was very limiting. Recently, Microsoft introduced GdiPlus
which overcomes several of the limitations still present.
NeXT introduced DisplayPostscript
which allowed to render images completely device-independent. MacOsx
pushed that idea even further with QuarTz?
which uses DisplayPdf?
and other display techniques. QuartzExtreme?
(introduced in MacOsx
10.3 Panther) delegates graphic operations to the graphic accelerator card if it can execute the operation. This is similar to what GDI does with the difference that rendering in hardware is an additional bonus while it is not necessarily needed to render the desired image properly.
How Atkinson Realized The Importance of RoundRects? http://www.folklore.org/StoryView.py?story=Round_Rects_Are_Everywhere.txt