Front page

Latest news


    Mailing lists
    Bug tracking
    CVS Repository

    Feature list
    Release notes


Dev Branch

GLOW feature list

The GLOW 1.0 API provides an extensive set of capabilities for interactive applications using OpenGL. These features fall under the following categories:

  • Object-oriented C++ API wrapper for GLUT
  • Extensions to GLUT interfaces.
  • Powerful, extensible widget system.
  • Large widget library.
  • Source code compatible across platforms.

Below is a more detailed list of the many features of the GLOW user interface toolkit.

  • Object-oriented C++ API wrapper for GLUT
    • Create windows, subwindows and menus with a single line of code by constructing objects.
    • Operations on windows, subwindows and menus accomplished by method calls. (You do not need to juggle IDs.)
    • Events reported directly to objects via virtual methods. (You do not need to keep track of callbacks.)
    • Easy reference to fonts and colors via objects.
    • Clean deletion of objects by object destructors.
    • Typechecked sender-receiver object classes.
  • Extensions to GLUT interfaces.
    • Component hierarchy for organization and reuse of drawable objects.
    • Recursive activation and deactivation of components. Automatically affects event delivery.
    • Simulation of modal windows and non-resizable windows.
    • Utility components, including a 3D manipulator based on the arcball algorithm.
    • Addditional menu manipulation capabilities, including inserting and marking items.
    • Automatic computation of additional state, including font metrics, local window positions and menu status.
  • Powerful, extensible widget system.
    • Widgets may appear in any number of windows and subwindows.
    • High-level API creates widgets with a single line of code and automatically lays widgets out.
    • Low-level API allows precise control of widget placement and options.
    • Predefined message windows and text entry windows for quick creation of alerts and user input dialogs with a single line of code.
    • Hierarchical arrangement of widgets using panels and other containers.
    • Recursive visibility and activation for widgets.
    • Easy management of widget keyboard focus.
    • Widget events may be reported via virtual methods or receiver objects.
    • Widgets appear and behave the same across platforms.
    • Custom widgets may be written and fully integrated into the system.
  • Large widget library.
    • Push buttons
    • Check boxes, 3-state check boxes
    • Radio buttons, radio button groups
    • Menu buttons, popup menus
    • Sliders, including linear and logarithmic scales
    • Proportional scroll bars
    • Text labels
    • Editable text fields, protected text fields (for passwords, etc.)
    • Organization panels, separator rules
  • Source code compatible across platforms.
    • Written in ANSI/ISO compliant C++.
    • No platform-specific code. Supports write-once-compile-anywhere development.

Daniel Azuma (
Last updated 17 July 2000