QuickDraw 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
OpenGl 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