Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <W32STD.H>

Class RBackedUpWindow

class RBackedUpWindow : public RDrawableWindow;

Description

Client-side handle to a drawable window with a backup bitmap.

A backed-up window is associated with a backup bitmap which retains the contents of the window. When an area of the window is invalidated, the window server uses the bitmap directly to update the window without requiring an application redraw. The backup bitmap is owned by the font and bitmap server and resides on the font and bitmap server's shared heap, which is accessible to all client programs: functions are provided to allow the client application to access this bitmap directly and perform updates to the window under application control.

Derivation

Members

Defined in RBackedUpWindow:

Inherited from MWsClientClass:

Inherited from RDrawableWindow:

Inherited from RWindowBase:

Inherited from RWindowTreeNode:


Construction and destruction


RBackedUpWindow()

IMPORT_C RBackedUpWindow();

Description

Default C++ constructor which creates a sessionless backed-up window handle.

Handles to server-side objects must be created in a session in order to be operational; this constructor is merely a convenience to allow the handle to be stored as a data member. See RWindowTreeNode::RWindowTreeNode() for details of how the complete setup of a handle field may be deferred until the window server session is known.


RBackedUpWindow(RWsSession &)

IMPORT_C RBackedUpWindow(RWsSession &aWs);

Description

Constructor which creates an uninitialised backed-up window handle within a session.

Parameters

RWsSession &aWs

The window server session that owns the window.

[Top]


Member functions


Construct(const RWindowTreeNode &,TDisplayMode,TUint32)

IMPORT_C TInt Construct(const RWindowTreeNode &parent, TDisplayMode aDisplayMode, TUint32 aHandle);

Description

Completes the construction of a backed up window.

This method should be called after the RBackedUpWindow::RBackedUpWindow(RWsSession &) constructor, and before any other functions are performed on the window. It creates a window in the window server corresponding to the RBackedUpWindow object, and allocates a bitmap with which to perform the window backup.

Unlike non backed up windows, the size of a backed up window is not inherited from its parent. The window will be created with an initial size of zero, but this can be altered. The display mode must be specified because it determines the amount of memory required to store the backup bitmap.

This function always causes a flush of the window server buffer.

Parameters

const RWindowTreeNode &parent

The window's parent.

TDisplayMode aDisplayMode

The display mode for the window.

TUint32 aHandle

The client's handle for the window. See RWindow::Construct(const RWindowTreeNode &,TUint32) for a description of the client handle.

Return value

TInt

KErrNone if successful, otherwise one of the system-wide error codes, the most likely of which is KErrNoMemory.

See also:


BitmapHandle()

IMPORT_C TInt BitmapHandle();

Description

Gets a handle to the backup bitmap.

This handle can then be passed to CFbsBitmap::Duplicate(TInt) to gain access to the bitmap. Once the bitmap has been obtained, it can be drawn to or read from by the application.

Notes: in most circumstances this function should be used only after RBackedUpWindow::MaintainBackup() has been called. Otherwise, the content of the backup bitmap will be unpredictable.

This function always causes a flush of the window server buffer.

Return value

TInt

The handle of the backup bitmap.


UpdateScreen()

IMPORT_C void UpdateScreen();

Description

Copies the backup bitmap's image to the on-screen bitmap.

This function should be used if the application draws directly to the backup bitmap. Any changes made to the backup bitmap will not be reflected on the screen until this function is called.


UpdateScreen(const TRegion &)

IMPORT_C void UpdateScreen(const TRegion &aRegion);

Description

Copies a part of the backup bitmap to the on-screen bitmap.

This function behaves in the same way as RBackedUpWindow::UpdateScreen(), but copies only the specified region of the backup bitmap to the window on screen.

This function always causes a flush of the window server buffer.

Parameters

const TRegion &aRegion

Area of the backup bitmap to copy.


UpdateBackupBitmap()

IMPORT_C void UpdateBackupBitmap();

Description

Copies to the backup bitmap any areas of the window which are not currently stored in the bitmap.

This method does not need to be called if the server has not been instructed to maintain the backup buffer constantly

See also:


MaintainBackup()

IMPORT_C void MaintainBackup();

Description

Tells the window server to start maintaining a backup bitmap with the entire window contents.

By default, the window only backs up the non-visible and shadowed part of the window. Calling this function makes drawing to the window much faster.

Once this function has been called, it cannot be reversed.