To draw graphics, programs call functions in GraphicsDesigner, a built-in function library. Programs can also monitor keyboard and mouse activity by processing messages from the general purpose message queue built into GraphicsDesigner.

GraphicsDesigner is the basis for all graphics, from simple line drawings to sophisticated graphical user interfaces. For example, GuiDesigner, the interactive GUI design tool built into the program development environment, is a program that calls GraphicsDesigner functions.

All GraphicsDesigner functions begin with Xgr , as in:

... etc ...

Graphics is displayed in graphics windows, each of which is a rectangular area on the display with a unique window number.

Programs can create any number of windows. To create a window, a program calls:

XgrCreateWindow ( @window, winType, x, y, w, h, &winFunc(), disp$ )

XgrCreateWindow() returns a unique window number to identify each window it creates, or 0 if for any reason no window was created.

window types
Windows can have attributes like a title bar, a resize border, a minimize button or maximize button, etc. A particular combination of the following window type attribute bits is called a window type:

$$WindowTopMost - stays above other windows
$$WindowNoSelect - window is not selected by mouse button events
$$WindowNoFrame - window has no resize frame
$$WindowResizeFrame - window has a resize frame
$$WindowTitleBar - window has a title bar to display a window name
$$WindowSystemMenu - window has a system menu button
$$WindowMinimizeBox - window has a minimize button
$$WindowMaximizeBox - window has a maximize button

Some window systems do not support individual selection of the window features shown above, so windows may display more or less features than requested.