Windows
This section provides information about the various types of windows
and some related concepts.
Variant: Both (ScreenPlay and non-ScreenPlay). Target audience:
Application developers.
- Windows Overview
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).
- Window Groups and Applications
A window group is the basic unit of an application.
- Displayable Windows
TheRWindowBase class is the abstract base class for all windows that can be displayed. These windows further subdivide into two types: windows that can be drawn to (RDrawableWindow abstract class), and blank windows (RBlankWindow class).
- Window Hierarchy
In a running application, all window instances are arranged in a hierarchy, in which each window has a parent. The Window Server has a window not owned by the client, called the "root" window which is the parent of all the group windows.
- Ordinal Position
All windows in the Window Server have an ordinal position which describes their z-order—that is, their ordering from nearest the viewer to furthest away from the viewer. Each window’s ordinal position is relative to its parent window and is unique among its siblings.
- Window Group Priority
In addition to having an ordinal position, all windows have a priority, which is 0 by default. A window's priority can be changed in order to allow it to override the normal z-order determined by ordinal position. Although this can be done for any type of window, in practice it is generally only window groups that have their priorities changed, and this is normally carried out by special applications such as the shell.
- (x,y) Co-ordinate System
The co-ordinate origin of a window is its top left corner. Positive co-ordinate values indicate positions to the right and down from the origin. Negative values are also valid, and indicate co-ordinates outside the window's extent.
- Transparent Windows
This topic introduces the window transparency feature, which you can use to create semi-transparent UI content over other UI content. In ScreenPlay you can also use transparent windows to create semi-transparent UI content over external content, such as video and OpenGL ES. For example, in ScreenPlay you can display a semi-transparent dialog box over an OpenGL ES game. Transparent windows are implemented using alpha compositing, which means that the transparency information is embedded within the drawing commands.