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.
Related concepts