diff options
author | Vladimir Glazounov <vg@openoffice.org> | 2005-03-10 11:31:06 +0000 |
---|---|---|
committer | Vladimir Glazounov <vg@openoffice.org> | 2005-03-10 11:31:06 +0000 |
commit | ae30c2632f6544d5e28225e1b28487517cdd60db (patch) | |
tree | dd27121939718d9f99abc4eaa83969b5c7c75f72 /offapi/com/sun/star/rendering/XAnimatedSprite.idl | |
parent | INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED (diff) | |
download | core-ae30c2632f6544d5e28225e1b28487517cdd60db.tar.gz core-ae30c2632f6544d5e28225e1b28487517cdd60db.zip |
INTEGRATION: CWS presfixes01 (1.1.2); FILE ADDED
2005/02/16 11:27:13 fs 1.1.2.1: moved from drafts.css.rendering to css.rendering
Diffstat (limited to 'offapi/com/sun/star/rendering/XAnimatedSprite.idl')
-rw-r--r-- | offapi/com/sun/star/rendering/XAnimatedSprite.idl | 230 |
1 files changed, 230 insertions, 0 deletions
diff --git a/offapi/com/sun/star/rendering/XAnimatedSprite.idl b/offapi/com/sun/star/rendering/XAnimatedSprite.idl new file mode 100644 index 000000000000..fcd7f15c176f --- /dev/null +++ b/offapi/com/sun/star/rendering/XAnimatedSprite.idl @@ -0,0 +1,230 @@ +/************************************************************************* + * + * $RCSfile: XAnimatedSprite.idl,v $ + * + * $Revision: 1.2 $ + * + * last change: $Author: vg $ $Date: 2005-03-10 12:31:06 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (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.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef __com_sun_star_rendering_XAnimatedSprite_idl__ +#define __com_sun_star_rendering_XAnimatedSprite_idl__ + +#ifndef __com_sun_star_uno_XInterface_idl__ +#include <com/sun/star/uno/XInterface.idl> +#endif +#ifndef __com_sun_star_lang_IllegalArgumentException_idl__ +#include <com/sun/star/lang/IllegalArgumentException.idl> +#endif +#ifndef __com_sun_star_geometry_RealPoint2D_idl__ +#include <com/sun/star/geometry/RealPoint2D.idl> +#endif +#ifndef __com_sun_star_rendering_ViewState_idl__ +#include <com/sun/star/rendering/ViewState.idl> +#endif +#ifndef __com_sun_star_rendering_RenderState_idl__ +#include <com/sun/star/rendering/RenderState.idl> +#endif +#ifndef __com_sun_star_rendering_XSprite_idl__ +#include <com/sun/star/rendering/XSprite.idl> +#endif + + +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 #110496# + */ +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 <member>XAnimation::render</member>'s + t parameter, or a full sequence of sprite bitmaps drawn). Once + an animation is running, the associated + <type>XSpriteCanvas</type> 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 <member>XAnimation::render</member>'s t + parameter, or a full sequence of sprite bitmaps drawn). + */ + void startAnimation( [in] double nSpeed ); + + //------------------------------------------------------------------------- + + /** Stop the animation sequence.<p> + + A subsequent <member>XAnimatedSprite::startAnimation</member> + will commence the sequence at the point where it was stopped + with here. Once an animation is stopped, the associated + <type>XSpriteCanvas</type> 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 <type>XSpriteCanvas</type> 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 <type>XSpriteCanvas</type> does not update changed + sprites automatically, but has to be told to do so via + <member>XSpriteCanvas::updateScreen()</member>.<p> + */ + void updateAnimation(); + + //------------------------------------------------------------------------- + + /** Changes the view state in place for this sprite's + animation.<p> + + The state given here is used when calling the + <member>XAnimation::render()</member> method, or when drawing + the sprite's bitmaps, respectively. There's no need to call + <member>XSpriteCanvas::updateAnimation()</member> after this + method, as it automatically rerenders, if necessary. Please + note that if an animation is not started, the associated + <type>XSpriteCanvas</type> does not update changed sprites + automatically, but has to be told to do so via + <member>XSpriteCanvas::updateScreen()</member>.<p> + + @param aViewState + The state given here is used when calling the + <member>XAnimation::render()</member> 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 <type>XSpriteCanvas</type> does not update changed + sprites automatically, but has to be told to do so via + <member>XSpriteCanvas::updateScreen()</member>.<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 implicitely call + <member>XSpriteCanvas::updateAnimation</member 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); +}; + +}; }; }; }; + +#endif |