RBackedUpWindow Class Reference

#include <w32std.h>

class RBackedUpWindow : public RDrawableWindow, public RDrawableWindow
Public Member Functions
RBackedUpWindow()
RBackedUpWindow(RWsSession &)
IMPORT_C TIntBitmapHandle()
IMPORT_C TIntConstruct(const RWindowTreeNode &, TDisplayMode, TUint32)
IMPORT_C voidMaintainBackup()
IMPORT_C voidUpdateBackupBitmap()
IMPORT_C voidUpdateScreen()
IMPORT_C voidUpdateScreen(const TRegion &)
Inherited Attributes
MWsClientClass::iBuffer
MWsClientClass::iWsHandle
Inherited Enumerations
RWindowBase:TCaptureFlags
RWindowTreeNode:TFadeControl
Inherited Functions
MWsClientClass::AddToBitmapArray(const TInt)const
MWsClientClass::AsyncRequest(TRequestStatus &,TUint)const
MWsClientClass::CachedWindowSize(TSize &)const
MWsClientClass::DestroyWindowSizeCacheEntry()
MWsClientClass::MWsClientClass()
MWsClientClass::MWsClientClass(RWsBuffer *)
MWsClientClass::MarkWindowSizeCacheDirty()
MWsClientClass::RefreshWindowSizeCache(const TSize &)const
MWsClientClass::WindowSizeCacheEnabled()const
MWsClientClass::Write(TUint)const
MWsClientClass::Write(const TAny *,TInt,TInt,TUint)const
MWsClientClass::Write(const TAny *,TInt,TUint,const TIpcArgs *)const
MWsClientClass::Write(const TAny *,TInt,const TAny *,TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteInt(TInt,TUint)const
MWsClientClass::WritePoint(const TPoint &,TUint)const
MWsClientClass::WriteRect(const TRect &,TUint)const
MWsClientClass::WriteReply(TUint,const TIpcArgs *)const
MWsClientClass::WriteReply(const TAny *,TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReply(const TAny *,TInt,const TAny *,TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReplyByProvidingRemoteReadAccess(const TAny *,TInt,const TReadDescriptorType &,TUint)const
MWsClientClass::WriteReplyInt(TInt,TUint,const TIpcArgs *)const
MWsClientClass::WriteReplyIntP(TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TAny *,TInt,const TAny *,TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TAny *,TInt,const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteReplyP(const TWriteDescriptorType &,TUint)const
MWsClientClass::WriteSize(const TSize &,TUint)const
MWsClientClass::WsHandle()const
RDrawableWindow::GetDrawRect()const
RDrawableWindow::RDrawableWindow()
RDrawableWindow::RDrawableWindow(RWsSession &)
RDrawableWindow::Scroll(const TPoint &)
RDrawableWindow::Scroll(const TPoint &,const TRect &)
RDrawableWindow::Scroll(const TRect &,const TPoint &)
RDrawableWindow::Scroll(const TRect &,const TPoint &,const TRect &)
RDrawableWindow::SetDrawRect(const TRect &)
RWindowBase::AbsPosition()const
RWindowBase::Activate()
RWindowBase::AddKeyRect(const TRect &,TInt,TBool)
RWindowBase::AllocPointerMoveBuffer(TInt,TUint)
RWindowBase::CancelPointerRepeatEventRequest()
RWindowBase::CancelPointerRepeatEventRequest(const TUint8)
RWindowBase::ClaimPointerGrab(TBool)
RWindowBase::ClaimPointerGrab(const TUint8,const TBool)
RWindowBase::DisablePointerMoveBuffer()
RWindowBase::DiscardPointerMoveBuffer()
RWindowBase::DisplayMode()const
RWindowBase::EnableAdvancedPointers()
RWindowBase::EnableBackup(TUint)
RWindowBase::EnablePointerMoveBuffer()
RWindowBase::FadeBehind(TBool)
RWindowBase::FixNativeOrientation()
RWindowBase::FreePointerMoveBuffer()
RWindowBase::GetBackgroundSurface(TSurfaceConfiguration &)const
RWindowBase::GetPointerCapturePriority()const
RWindowBase::InquireOffset(const RWindowTreeNode &)const
RWindowBase::IsFaded()const
RWindowBase::IsNonFading()const
RWindowBase::KeyColor()const
RWindowBase::MoveToGroup(TInt)
RWindowBase::OverrideEffects(TInt,const TFileName &,const TFileName &,const TFileName &,TBitFlags)
RWindowBase::PasswordWindow(TPasswordMode)
RWindowBase::PointerFilter(TUint32,TUint32)
RWindowBase::Position()const
RWindowBase::RWindowBase()
RWindowBase::RWindowBase(RWsSession &)
RWindowBase::RemoveAllKeyRects()
RWindowBase::RemoveBackgroundSurface(TBool)
RWindowBase::RequestPointerRepeatEvent(TTimeIntervalMicroSeconds32,const TRect &)
RWindowBase::RequestPointerRepeatEvent(TTimeIntervalMicroSeconds32,const TRect &,const TUint8)
RWindowBase::RetrievePointerMoveBuffer(TDes8 &)const
RWindowBase::SendEffectCommand(TInt,const TDesC8 &)
RWindowBase::SetBackgroundSurface(const TSurfaceConfiguration &,TBool)
RWindowBase::SetBackgroundSurface(const TSurfaceId &)
RWindowBase::SetCornerType(TCornerType,TInt)
RWindowBase::SetExtentErr(const TPoint &,const TSize &)
RWindowBase::SetPointerAcceptanceRegion(const TRegion &)
RWindowBase::SetPointerCapture(TInt)
RWindowBase::SetPointerCapturePriority(TInt)
RWindowBase::SetPointerGrab(TBool)
RWindowBase::SetPosition(const TPoint &)
RWindowBase::SetPurpose(TInt)
RWindowBase::SetRequiredDisplayMode(TDisplayMode)
RWindowBase::SetShadowDisabled(TBool)
RWindowBase::SetShadowHeight(TInt)
RWindowBase::SetShape(const TRegion &)
RWindowBase::SetSizeErr(const TSize &)
RWindowBase::SetSurfaceTransparency(TBool)
RWindowBase::SetVisible(TBool)
RWindowBase::Size()const
RWindowBase::SizeForEgl()const
RWindowBase::construct(const RWindowTreeNode &,TUint32,TInt,TDisplayMode)
RWindowTreeNode::Child()const
RWindowTreeNode::ClearPointerCursor()
RWindowTreeNode::ClientHandle()const
RWindowTreeNode::Close()
RWindowTreeNode::Destroy()
RWindowTreeNode::DisableErrorMessages()
RWindowTreeNode::DisableFocusChangeEvents()
RWindowTreeNode::DisableGroupChangeEvents()
RWindowTreeNode::DisableGroupListChangeEvents()
RWindowTreeNode::DisableModifierChangedEvents()
RWindowTreeNode::DisableOnEvents()
RWindowTreeNode::DisableVisibilityChangeEvents()
RWindowTreeNode::EnableErrorMessages(TEventControl)
RWindowTreeNode::EnableFocusChangeEvents()
RWindowTreeNode::EnableGroupChangeEvents()
RWindowTreeNode::EnableGroupListChangeEvents()
RWindowTreeNode::EnableModifierChangedEvents(TUint,TEventControl)
RWindowTreeNode::EnableOnEvents(TEventControl)
RWindowTreeNode::EnableVisibilityChangeEvents()
RWindowTreeNode::FullOrdinalPosition()const
RWindowTreeNode::NextSibling()const
RWindowTreeNode::OrdinalPosition()const
RWindowTreeNode::OrdinalPriority()const
RWindowTreeNode::Parent()const
RWindowTreeNode::PrevSibling()const
RWindowTreeNode::RWindowTreeNode()
RWindowTreeNode::RWindowTreeNode(RWsSession &)
RWindowTreeNode::ScreenNumber()const
RWindowTreeNode::Session()const
RWindowTreeNode::SetCustomPointerCursor(const RWsPointerCursor &)
RWindowTreeNode::SetFaded(TBool,TFadeControl)
RWindowTreeNode::SetFaded(TBool,TFadeControl,TUint8,TUint8)
RWindowTreeNode::SetNonFading(TBool)
RWindowTreeNode::SetOrdinalPosition(TInt)
RWindowTreeNode::SetOrdinalPosition(TInt,TInt)
RWindowTreeNode::SetPointerCursor(TInt)
RWindowTreeNode::WindowGroupId()const
RWindowTreeNode::__DbgTest(TAny *)const
RWindowTreeNode::__DbgTestInvariant()const

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

Deprecated

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.

Deprecated

Constructor & Destructor Documentation

RBackedUpWindow ( )

IMPORT_CRBackedUpWindow()

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_CRBackedUpWindow(RWsSession &aWs)

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

Parameters
aWsThe window server session that owns the window.

Member Function Documentation

BitmapHandle ( )

IMPORT_C TIntBitmapHandle()const

Gets a handle to the backup bitmap.

This handle can then be passed to CFbsBitmap::Duplicate() 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 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
The handle of the backup bitmap.

Construct ( const RWindowTreeNode &, TDisplayMode, TUint32 )

IMPORT_C TIntConstruct(const RWindowTreeNode &parent,
TDisplayModeaDisplayMode,
TUint32aHandle
)

Completes the construction of a backed up window.

This method should be called after the 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 subsequently be altered.

The window will have the same display mode as the system display mode.

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

See also: RWindowBase::SetSizeErr() RWindowBase::SetExtentErr() RWindow::Construct()

Parameters
parentThe window's parent.
aDisplayModeIgnored. The window will always be created with the system display mode.
aHandleThe client's handle for the window. See RWindow::Construct() for a description of the client handle.
Return Value
KErrNone if successful, otherwise one of the system-wide error codes, the most likely of which is KErrNoMemory.

MaintainBackup ( )

IMPORT_C voidMaintainBackup()

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.

UpdateBackupBitmap ( )

IMPORT_C voidUpdateBackupBitmap()

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

UpdateScreen ( )

IMPORT_C voidUpdateScreen()

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 voidUpdateScreen(const TRegion &aRegion)

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

This function behaves in the same way as 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
aRegionArea of the backup bitmap to copy.