Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

API

SDK

Tips ‘n’ Tricks

Miscellaneous


:: com :: sun :: star :: rendering ::

interface XAnimatedSprite
Base Interfaces
XAnimatedSpriteXSprite

XSprite
(referenced interface's summary:)
Interface to control a sprite object.
Description
This interface can be used to control an animated sprite object.

This interface can be used to control an animated sprite object on an XSpriteCanvas. Sprites are moving, animated objects.

Since
OOo 2.0

Methods' Summary
startAnimation Start animation sequence of this sprite. 
stopAnimation Stop the animation sequence. 
resetAnimation Reset the animation sequence to start with the first frame. 
updateAnimation Issue an additional render call to this sprite's animation. 
setViewState Changes the view state in place for this sprite's animation. 
setAll Changes all of the sprite's attributes at one atomic instance. 
Methods' Details
startAnimation
void
startAnimation( [in] double  nSpeed );

Description
Start animation sequence of this sprite.

The speed of the animation is given in cycles per second (where a cycle is defined as one full animation run, i.e. the full [0,1] range of the XAnimation::render's t parameter, or a full sequence of sprite bitmaps drawn). Once an animation is running, the associated XSpriteCanvas handles screen updates automatically. That means, changes to position or alpha are reflected on screen automatically. Please note further that sprite visibility and animation are unrelated, i.e. a hidden sprite can have a running animation, which then displays in the middle of the animation sequence, when a show() is called later on.

Parameter nSpeed
The speed of the animation in cycles per second (where a cycle is defined as one full animation run, i.e. the full [0,1] range of the XAnimation::render's t parameter, or a full sequence of sprite bitmaps drawn).
stopAnimation
void
stopAnimation();

Description
Stop the animation sequence.

A subsequent XAnimatedSprite::startAnimation will commence the sequence at the point where it was stopped with here. Once an animation is stopped, the associated XSpriteCanvas does not update changed sprites anymore.

resetAnimation
void
resetAnimation();

Description
Reset the animation sequence to start with the first frame.

If the animation is currently running, the next frame that is drawn after this method has finished, will be the first one. Please note that if an animation is not started, the associated XSpriteCanvas does not update changed sprites automatically.

updateAnimation
void
updateAnimation();

Description
Issue an additional render call to this sprite's animation.

This method has no effect when called for a bitmap-sequence sprite. Please note that if an animation is not started, the associated XSpriteCanvas does not update changed sprites automatically, but has to be told to do so via XSpriteCanvas::updateScreen().

setViewState
void
setViewState( [in] ViewState  aViewState )
raises( ::com::sun::star::lang::IllegalArgumentException );

Description
Changes the view state in place for this sprite's animation.

The state given here is used when calling the XAnimation::render() method, or when drawing the sprite's bitmaps, respectively. There's no need to call XSpriteCanvas::updateAnimation() after this method, as it automatically rerenders, if necessary. Please note that if an animation is not started, the associated XSpriteCanvas does not update changed sprites automatically, but has to be told to do so via XSpriteCanvas::updateScreen().

Parameter aViewState
The state given here is used when calling the XAnimation::render() method, or when drawing the sprite's bitmaps, respectively.
Throws
com::sun::star::lang::IllegalArgumentException if the view transformation matrix is singular.
setAll
void
setAll( [in] ::com::sun::star::geometry::RealPoint2D  aNewPos,
[in] ViewState  aViewState,
[in] RenderState  aRenderState,
[in] double  nAlpha,
[in] boolean  bUpdateAnimation )
raises( ::com::sun::star::lang::IllegalArgumentException );

Description
Changes all of the sprite's attributes at one atomic instance.

This is useful at times where one does not want multiple redraws for every state change.

Please note that if an animation is not started, the associated XSpriteCanvas does not update changed sprites automatically, but has to be told to do so via XSpriteCanvas::updateScreen().

Parameter aNewPos
New left,top output position of the sprite. This position gets transformed by the view and render state.
Parameter aViewState
New view state of the sprite, and part of the transformation that is applied to aNewPos. The view transformation matrix must not be singular.
Parameter aRenderState
New render state of the sprite, and part of the transformation that is applied to aNewPos. The render transformation matrix must not be singular.
Parameter nAlpha
New alpha value of the sprite. This value must be within the [0,1] range.
Parameter bUpdateAnimation
Whether this method should implicitely call XSpriteCanvas::updateAnimation or not.
Throws
com::sun::star::lang::IllegalArgumentException if one of the passed parameters does not lie in the specified, permissible range.
Top of Page

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.