QuickDraw
Color QuickDrawは、接続された各ビデオカード/モニタを表すGDevices、色を扱う新しいカラーGrafPort(CGrafPort)構造体、さらに1ピクセルあたり複数ビットの画像用にBitMapの代わりにPixMapなどの新しいデータ構造を導入している。ここで使われた互換性のためのハックの1つは、新しい構造体が古い構造体とまったく同じサイズで、ほとんどのデータメンバが同じ場所にあるが、BitMapフィールドの代わりにカラー構造体のハンドルとポインタが追加されている。rowBytesフィールドの上位 2 ビットは、GrafPort と CGrafPort を区別するためのフラグとして使用された(旧式の GrafPort では常に0だが、これはBitMapがこれらのビットを設定するほど広くなり得なかったためだ)。なぜなら、32ビットのPixMapの最大行幅はわずか4,095であり、高解像度のグラフィック作業では問題となったからだった。後の開発版(Carbon)ではこの制限はなくなったが、完全な後方互換性はなかった。Color QuickDrawでは、インデックス付きビデオデバイスの色の調停を管理するパレットマネージャも追加された。ほとんどのグラフィックスプリミティブの操作は変更されず(ただしカラーで動作)、あるいは白黒のAPIの新しいカラーバージョンが追加された。
当初、Color QuickDrawは1、2、4、8ビットのビデオカードでのみ動作可能であった。その後24ビットのビデオカードが登場し(いわゆるトゥルーカラー)、QuickDrawは再び更新され、1ピクセルあたり32ビット(実際には24ビット、未使用は8ビット)のカラーデータまでサポートするようになった(「32-Bit QuickDraw」)。しかし、アーキテクチャは既にこれを許容していたので、新しいAPIは必要なかった。
QuickDrawの最初のバージョンはビル・アトキンソンほぼ一人により書かれた。元々はLisa用の描画関数群としてLisaGrafという名前で開発されていたが、Macintoshにも搭載されることが決まりQuickDrawと改称された。
1979年にApple社員がXEROXの研究所PARCを見学した際、Altoで動くSmalltalkシステムを見せられた。当時のSmalltalk GUIでのウインドウは単純な矩形の組み合わせで描画され、また、他のウインドウに隠れて一部分しか見えていないウインドウの表示内容の更新もおこなわれていなかった。しかし、Altoのハードウェア機能(描画に必要なビット転送ルーチンであるBitBLTのマイクロコード化など)を介した比較的高速な描画を見て、不定形クリッピング描画が実現されていると誤った思い込みをしてしまったビル・アトキンソンは、その認識のまま遂に“リージョン”の描画や演算処理を比較的高速に扱えるLisaGrafやQuickDrawを完成させてしまった。後に、QuickDrawの功績により彼はAppleフェローの地位を与えられた。
QuickDrawは直線、矩形、正円及び楕円などの図形描画を当時のマシンとしては高速に行うだけでなく、Macintoshを特徴付けるウインドウの重ね合わせの際に必須の不定形クリッピング描画を可能とし、その後のソフトウエアに大きな影響を与えた。