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).

Target audience: Application developers.

Displayable windows introduce several attributes and associated functions:

  • All windows have a rectangle that defines the area in which they are contained. Most windows fill all of this area, but you can set rounded corners or specify any arbitrary region for the window's area.

  • Whether the window is visible or not, controlled by the RWindowBase::SetVisible() function.

  • For pointer event control, see Pointer Handling.

The Window Server maintains the screen display taking into account the region, ordinal position and visibility requirements of all displayable windows.

Standard windows

The RWindow class is derived from RDrawableWindow. These windows require very little RAM and are therefore the most common type of window used by Symbian applications.

Provided drawing operations to an RWindow are performed as redraw drawing, the Window Server stores the sequence of drawing commands that represent the window contents in redraw stores. Then when the Window Server needs to repaint the window (because, for example, a dialog box popped up over it and has now closed) it simply replays the sequence of stored commands, rather than sending a redraw request to the client. This minimises the number of client-server transactions and means that windows are repainted as soon as the Window Server detects that they are needed.

Related concepts