1 Overview

For documentation purposes, the graphics toolbox is organized into three parts:

These three parts roughly represent layers of increasing sophistication. Simple GUI programs access only the windowing toolbox directly, more complex programs use both the windowing and drawing toolboxes, and large-scale applications rely on all three toolboxes.

    1.1 Windowing

      1.1.1 Core Windowing Classes

      1.1.2 Geometry Management

        1.1.2.1 Containees

        1.1.2.2 Containers

        1.1.2.3 Defining New Types of Containers

      1.1.3 Mouse and Keyboard Events

      1.1.4 Event Dispatching and Eventspaces

        1.1.4.1 Event Types and Priorities

        1.1.4.2 Eventspaces and Threads

        1.1.4.3 Creating and Setting the Eventspace

        1.1.4.4 Exceptions and Continuation Jumps

    1.2 Drawing

    1.3 Editor

      1.3.1 Editor Structure and Terminology

        1.3.1.1 Administrators

        1.3.1.2 Styles

      1.3.2 File Format

        1.3.2.1 Encoding Snips

          1.3.2.1.1 Snip Classes

          1.3.2.1.2 Editor Data

        1.3.2.2 Global Data: Headers and Footers

      1.3.3 End of Line Ambiguity

      1.3.4 Flattened Text

      1.3.5 Caret Ownership

      1.3.6 Cut and Paste Time Stamps

      1.3.7 Clickbacks

      1.3.8 Internal Editor Locks

      1.3.9 Editors and Threads