/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
* Licensed to the Apache Software Foundation ( ASF ) under one or more
* contributor license agreements . See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership . The ASF licenses this file to you under the Apache
* License , Version 2 . 0 ( the " License " ) ; you may not use this file
* except in compliance with the License . You may obtain a copy of
* the License at http : //www.apache.org/licenses/LICENSE-2.0 .
*/
module com { module sun { module star { module rendering {
/** This interface can be used to control an animated sprite object.<p>
This interface can be used to control an animated sprite object on
an XSpriteCanvas . Sprites are moving , animated objects . < p >
@ since OOo 2 . 0
*/
interface XAnimatedSprite : XSprite
{
/** Start animation sequence of this sprite.<p>
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 . < p >
@ param 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 ) .
*/
void startAnimation( [in] double nSpeed );
/** Stop the animation sequence.<p>
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 . < p >
*/
void stopAnimation();
/** Reset the animation sequence to start with the first frame.<p>
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 . < p >
*/
void resetAnimation();
/** Issue an additional render call to this sprite's
animation . < p >
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 ( ) . < p >
*/
void updateAnimation();
/** Changes the view state in place for this sprite's
animation . < p >
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 ( ) . < p >
@ param 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 .
*/
void setViewState( [in] ViewState aViewState )
raises (com::sun::star::lang::IllegalArgumentException);
/** Changes all of the sprite's attributes at one atomic
instance . < p >
This is useful at times where one does not want multiple
redraws for every state change . < p >
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 ( ) . < p >
@ param aNewPos
New left , top output position of the sprite . This position gets
transformed by the view and render state .
@ param 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 .
@ param 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 .
@ param nAlpha
New alpha value of the sprite . This value must be within the
[ 0 , 1 ] range .
@ param bUpdateAnimation
Whether this method should implicitly 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 .
*/
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);
};
}; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Messung V0.5 in Prozent C=97 H=100 G=98
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-10-05)
¤
*© Formatika GbR, Deutschland