RWsSpriteBase Class Reference

#include <w32std.h>

class RWsSpriteBase : public MWsClientClass

Inherits from

Public Member Functions
IMPORT_C TIntActivate()
IMPORT_C TIntAppendMember(const TSpriteMember &)
IMPORT_C voidClose()
IMPORT_C voidUpdateMember(TInt)
IMPORT_C TIntUpdateMember(TInt, const TSpriteMember &)
Protected Member Functions
RWsSpriteBase()
RWsSpriteBase(RWsSession &)
Inherited Attributes
MWsClientClass::iBuffer
MWsClientClass::iWsHandle
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

Detailed Description

Sprite base class.

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

See also: RWsSprite RWsPointerCursor

Constructor & Destructor Documentation

RWsSpriteBase ( )

IMPORT_CRWsSpriteBase()[protected]

Protected constructor.

This prevents objects of this type being directly created.

RWsSpriteBase ( RWsSession & )

IMPORT_CRWsSpriteBase(RWsSession &aWs)[protected]

Protected constructor with a window server session.

This prevents objects of this type being directly created.

ParameterDescription
aWsThe window server session owning the sprite.

Member Function Documentation

Activate ( )

IMPORT_C TIntActivate()

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.

panic
If no member is present, a panic will occur.

Returns: KErrNone if successful, otherwise one of the system-wide error codes.

AppendMember ( const TSpriteMember & )

IMPORT_C TIntAppendMember(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.

ParameterDescription
aMemberDataThe sprite member to add.

Returns: KErrNone if successful, otherwise one of the system-wide error codes.

Close ( )

IMPORT_C voidClose()

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

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.

ParameterDescription
aIndexIndex 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 TIntUpdateMember(TIntaIndex,
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.

ParameterDescription
aIndexIndex of the sprite member. Sprite members are indexed in the order they were added to the sprite, beginning with 0.
aMemberDataNew data for the sprite member.

Returns: KErrNone if successful, otherwise one of the system-wide error codes.