RWsSpriteBase Class Reference

class RWsSpriteBase : public MWsClientClass

Sprite base class.

Unless stated otherwise, references to sprites in the documentation for this class also apply to pointer cursors.

RWsSprite RWsPointerCursor

Inherits from

Public Member Functions
IMPORT_C TInt Activate ()
IMPORT_C TInt AppendMember (const TSpriteMember &)
IMPORT_C void Close ()
IMPORT_C void UpdateMember ( TInt )
IMPORT_C TInt UpdateMember ( TInt , const TSpriteMember &)
Protected Member Functions
RWsSpriteBase ()
RWsSpriteBase ( RWsSession &)
Inherited Functions
MWsClientClass::AddToBitmapArray(const TInt)const
MWsClientClass::AsyncRequest(TRequestStatus &,TUint)const
MWsClientClass::CachedWindowSize(TSize &)const
MWsClientClass::DestroyWindowNativeSizeCacheEntry()
MWsClientClass::DestroyWindowSizeCacheEntry()
MWsClientClass::EnableWindowNativeSizeCacheL()
MWsClientClass::MWsClientClass()
MWsClientClass::MWsClientClass(RWsBuffer *)
MWsClientClass::MarkWindowSizeCacheDirty()
MWsClientClass::RefreshWindowSizeCache(const TSize &)const
MWsClientClass::SetWindowNativeSize(const TSize &)const
MWsClientClass::WindowNativeSize(TSize &)const
MWsClientClass::WindowNativeSizeCacheEnabled()const
MWsClientClass::WindowSizeCacheEnabled()const
MWsClientClass::Write(TUint)const
MWsClientClass::Write(const TAny *,TInt,TUint)const
MWsClientClass::Write(const TAny *,TInt,const TAny *,TInt,TUint)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
Inherited Attributes
MWsClientClass::iBuffer
MWsClientClass::iWsHandle

Constructor & Destructor Documentation

RWsSpriteBase()

IMPORT_C RWsSpriteBase ( ) [protected]

Protected constructor.

This prevents objects of this type being directly created.

RWsSpriteBase(RWsSession &)

IMPORT_C RWsSpriteBase ( RWsSession & aWs ) [protected]

Protected constructor with a window server session.

This prevents objects of this type being directly created.

Parameters

RWsSession & aWs The window server session owning the sprite.

Member Functions Documentation

Activate()

IMPORT_C TInt Activate ( )

Activates the sprite or pointer cursor.

Sprites are displayed on the screen when they are activated; pointer cursors are not displayed until they are set into a window using either RWindowTreeNode::SetCustomPointerCursor() or RWindowTreeNode::SetPointerCursor() .

This function should not be called until the sprite or pointer cursor has been fully initialised, and its sprite members have been added.

Before it can call this function, a sprite must be fully constructed using the RWsSprite::RWsSprite(RWsSession& aWs) and RWsSprite::Construct() functions, and must have at least one sprite member. Otherwise, a panic will occur. Similarly, a pointer cursor must have at least one sprite member and must call RWsPointerCursor::RWsPointerCursor ( RWsSession & aWs) and RWsPointerCursor::Construct() .

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

AppendMember(const TSpriteMember &)

IMPORT_C TInt AppendMember ( const TSpriteMember & aMemberData )

Adds a sprite member to a sprite or pointer cursor.

Sprite members are displayed by the sprite in the order in which they were added to the sprite. This function can be called before and after the sprite has been activated.

The position of the bitmap can be changed in relation to the sprite's origin using the iOffset member of aSpriteList.

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

Parameters

const TSpriteMember & aMemberData The sprite member to add.

Close()

IMPORT_C void Close ( )

Destroys the sprite or pointer cursor in the window server, and frees client-side resources used by the sprite.

Any application which constructs an RWsSprite or RWsPointerCursor should call this function when the sprite or cursor is no longer needed.

Note that this function does not free resources used by sprite members.

UpdateMember(TInt)

IMPORT_C void UpdateMember ( TInt aIndex )

Updates the displayed sprite, taking into account any change to the content of the bitmaps for the specified member.

The appearance of a sprite can be changed after it has been activated by drawing to the appropriate TSpriteMember::iBitmap member, and then calling this function. Alternatively, a new sprite member can be created, containing a new bitmap, and the sprite can be updated to contain this new member by calling the other UpdateMember() overload.

You should only use this function if you have changed the content of the bitmap or mask. If you have changed the size of the bitmap then you must use the other overload.

You only need to call this function if you want the content of the screen to update immediately. If you don't call this function then the appearance of a member will update automatically next time that member is drawn to the screen.

Parameters

TInt aIndex Index of the sprite member. Sprite members are indexed in the order they were added to the sprite, beginning with 0.

UpdateMember(TInt, const TSpriteMember &)

IMPORT_C TInt UpdateMember ( TInt aIndex,
const TSpriteMember & aMemberData
)

Replaces one of a sprite's members.

This allows the appearance of the sprite to be modified after it has been activated.

You must call this function if you have changed the size of a member. After calling it, the sprite starts showing member zero again.

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

Parameters

TInt aIndex Index of the sprite member. Sprite members are indexed in the order they were added to the sprite, beginning with 0.
const TSpriteMember & aMemberData New data for the sprite member.