1. What GWindows is.

GWindows is a framework for managing the user interface of a Glulx Inform program.

Specifically, GWindows allows the user to define a User Interface. A User Interface is a hierarchy of objects which represent the layout of the screen. Objects of the class GWindow correspond exactly to the windows which appear on the game screen.

The core of GWindows is three files, gwindefs.h, gwincls.h, and gwindows.h, which provide the fundamental window classes, and the underlying code to support and manage them. GWindows User Interfaces are structured to mirror the hierarchy of windows maintained by the Glk system, so there is a one-to-one correspondence between the objects in a User Interface and those created by Glk. Additionally, GWindows provides a large number of predefined widget-classes, to facilitate common or useful window designs.

In essence, GWindows allows you to create an object structure which describes the screen layout. It handles ensuring that the layout of the visible screen reflects this object structure. GWindows manages those things which are "closely bound" to windows, such as image drawing, textual input and output, updating the screen, setting style hints, and resizing the screen.