Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <W32STD.H>

Class RWsPointerCursor

class RWsPointerCursor : public RWsSpriteBase;

Description

Pointer cursor.

The pointer cursor is created in a similar way to a sprite. After creating it, one or more sprite members containing the bitmaps to be displayed are added.

After a pointer cursor has been created and activated, it does not become visible until the application calls RWindowTreeNode::SetPointerCursor(TInt) or RWindowTreeNode::SetCustomPointerCursor(const RWsPointerCursor &). The pointer cursor's origin automatically tracks the position of the pointing device, and the origin forms the pointer cursor's "hot spot", i.e., the point whose co-ordinates are sent to the client if a pointer event occurs. If the pointer cursor's bitmap needs to extend to the left or upwards from the pointer position, its sprite member should be given a negative offset in TSpriteMember::iOffset.

Note:

Pointer cursors are rarely used in pure pen architectures, but they are supported for mouse or tablet use.

Derivation

Members

Defined in RWsPointerCursor:

Inherited from MWsClientClass:

Inherited from RWsSpriteBase:


Construction and destruction


RWsPointerCursor()

IMPORT_C RWsPointerCursor();

Description

Default C++ constructor.

Use this constructor to allow classes that contain an RWsPointerCursor to be constructed before an RWsSession exists.

Note: do not use this version of the constructor on its own. Before an RWsPointerCursor object can be used, it must be constructed using the RWsPointerCursor(RWsSession) constructor. An example of this might be as follows:

RWsPointerCursor pointerCursor;
pointerCursor=RWsPointerCursor(iWsSession);

RWsPointerCursor(RWsSession &)

IMPORT_C RWsPointerCursor(RWsSession &aWs);

Description

Constructs a pointer cursor initialised with a window server session.

Initialisation must be completed using the RWsPointerCursor::Construct(TInt) function before the sprite can be activated using RWsSpriteBase::Activate().

Once initialisation is complete, the pointer cursor can be passed as an argument to RWsSession::SetSystemPointerCursor(const RWsPointerCursor &,TInt) or RWindowTreeNode::SetCustomPointerCursor(const RWsPointerCursor &).

Parameters

RWsSession &aWs

The window server session owning the pointer cursor.

[Top]


Member functions


Construct(TInt)

IMPORT_C TInt Construct(TInt aFlags);

Description

Completes pointer cursor construction.

This function must be called before the pointer cursor is activated.

It always causes a flush of the window server buffer.

Parameters

TInt aFlags

ESpriteFlash to flash the sprite on and off or 0 for a non-flashing cursor. Note that pointer cursors always behave as if ESpriteNoChildClip and ESpriteNoShadows are set.

Return value

TInt

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