Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <W32STD.H>

Class RWsSpriteBase

class RWsSpriteBase : public MWsClientClass;

Description

Sprite base class.

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

Derivation

Members

Defined in RWsSpriteBase:

Inherited from MWsClientClass:

See also:


Construction and destruction


RWsSpriteBase()

protected: IMPORT_C RWsSpriteBase();

Description

Protected constructor.

This prevents objects of this type being directly created.


RWsSpriteBase(RWsSession &)

protected: IMPORT_C RWsSpriteBase(RWsSession &aWs);

Description

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.

[Top]


Member functions


Activate()

IMPORT_C TInt Activate();

Description

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(const RWsPointerCursor &) or RWindowTreeNode::SetPointerCursor(TInt).

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 &) and RWsSprite::Construct(RWindowTreeNode &,const TPoint &,TInt) 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(TInt).

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

Return value

TInt

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


AppendMember(const TSpriteMember &)

IMPORT_C TInt AppendMember(const TSpriteMember &aMemberData);

Description

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.

Return value

TInt

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


UpdateMember(TInt)

IMPORT_C void UpdateMember(TInt aIndex);

Description

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 RWsSpriteBase::UpdateMember(TInt) 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);

Description

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.

Return value

TInt

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


Close()

IMPORT_C void Close();

Description

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.