Version: 5.0

GUI: Racket Graphics Toolkit

Matthew Flatt,
Robert Bruce Findler,
and John Clements

This reference manual describes the GUI toolbox that is part of Racket and whose core is implemented by the GRacket executable.

The racket/gui/base library provides all of the class, interface, and procedure bindings defined in this manual. At run time, this library needs primitive graphics support that the GRacket executable provides; this library cannot run inside the Racket executable.

The racket/gui language combines all bindings of the racket language and the racket/gui/base modules.

    1 Overview

      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

    2 Reference

      2.1 Windowing Classes

      2.2 Windowing Functions

        2.2.1 Dialogs

        2.2.2 Eventspaces

        2.2.3 System Menus

        2.2.4 Miscellaneous

      2.3 Drawing Classes

      2.4 Drawing Functions

        2.4.1 Global Graphics

        2.4.2 PostScript

        2.4.3 Drawing Object Lists

        2.4.4 Fonts

      2.5 Editor Classes

      2.6 Editor Functions

      2.7 WXME Decoding

        2.7.1 Snip Class Mapping

          2.7.1.1 Nested Editors

          2.7.1.2 Images

        2.7.2 DrRacket Comment Boxes

        2.7.3 DrRacket XML Boxes

        2.7.4 DrRacket Racket Boxes

        2.7.5 DrRacket Text Boxes

        2.7.6 DrRacket Fractions

        2.7.7 DrRacket Teachpack Images

        2.7.8 DrRacket Test-Case Boxes

    3 Configuration

      3.1 Preferences

      3.2 Font Configuration

        3.2.1 Wildcards

        3.2.2 References

        3.2.3 Variables

        3.2.4 Wildcarding References

        3.2.5 Internal Preferences

        3.2.6 PostScript Fonts

    4 Dynamic Loading

    Bibliography

    Index