The vast majority of Window Server applications exist so as to display graphics on the screen. This is done through windows to which the application draws. The Window Server shares the screen between all windows, taking into account each window’s region (its (x,y) coordinates) and ordinal position (how close to the front of the stack of windows it is).
Variant: Both (ScreenPlay and non-ScreenPlay). Target audience: Application developers.
All windows have an ordinal position and a parent whose behavior is defined by the base window class, RWindowTreeNode. This abstract class provides behavior for two quite distinct window types:
Displayable windows, whose abstract base class is RWindowBase. Displayable windows are divided into:
RBlankWindow blank windows, which can only be given a position, size and color
RDrawableWindow drawable windows to which graphics may be drawn.
Window group, RWindowGroup, a pseudo-window which can never be seen on screen, but which has an ordinal position and participates in parent/child and sibling relationships as all other windows.