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