class MAnimSpriteFunctions |
Sprite animation utility functions interface.
The interface includes functions for querying and manipulating a sprite.
You do NOT have to create an object of this type. The class is implemented by the window server, and provides utility functions to all CSpriteAnim derived classes via the CSpriteAnim::iSpriteFunctions pointer.
It is not intended for user derivation.
Public Member Functions | |
---|---|
void | Activate(TBool) |
TSpriteMember * | GetSpriteMember(TInt) |
void | SetPosition(const TPoint &) |
void | SizeChangedL() |
TBool | SpriteCanBeSeen() |
void | UpdateMember(TInt, const TRect &, TBool) |
Private Member Functions | |
---|---|
void | Reserved() |
void | Reserved2() |
void | Reserved3() |
void | Reserved4() |
void | Activate | ( | TBool | aActive | ) | [pure virtual] |
Turns a sprite on or off.
In effect this makes the sprite bitmap visible.
TBool aActive | ETrue to turn sprite on. EFalse to turn it off. |
TSpriteMember * | GetSpriteMember | ( | TInt | aMember | ) | const [pure virtual] |
Gets sprite member data.
Each member of the sprite is effectively a bitmap, which is displayed for a different amount of time.
A pointer to the sprite member.
TInt aMember | The index of the sprite member for which information is required. |
void | SetPosition | ( | const TPoint & | aPos | ) | [pure virtual] |
Set the sprite's position.
const TPoint & aPos | The new position of the sprite. |
void | SizeChangedL | ( | ) | [pure virtual] |
Finishes constructing the sprite.
It also sets the currently displayed sprite member to zero.
This function must be called after members change size.
TBool | SpriteCanBeSeen | ( | ) | const [pure virtual] |
Returns the visibility of the sprite.
A sprite can be seen if it is neither obscured by another window nor hidden.
ETrue if the sprite can be seen, EFalse otherwise.
void | UpdateMember | ( | TInt | aMember, |
const TRect & | aRect, | |||
TBool | aFullUpdate | |||
) | [pure virtual] |
Redraws part of a sprite. Updates a sprite on the screen, possibly after the bitmap for a particular sprite member has been changed.
Use the aRect parameter to specify the (small) part of the sprite which has been changed, then any flicker will only occur in this rectangle.
A full update used to be required if you had removed pixels from the mask, i.e. made pixels in the sprite transparent when they were not before. If drawing is additive, e.g. you are using a mask or the draw mode is EDrawModePEN, a partial update used to be possible. But current versions of the window-server always do full back to front rendering.
Note: if the sprite member aMember is not visible then there is no need for a change to the display, so the aRect and aFullUpdate parameters are ignored.