|  | /************************************************************** | 
|  | * | 
|  | * 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 | 
|  | * | 
|  | * Unless required by applicable law or agreed to in writing, | 
|  | * software distributed under the License is distributed on an | 
|  | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
|  | * KIND, either express or implied.  See the License for the | 
|  | * specific language governing permissions and limitations | 
|  | * under the License. | 
|  | * | 
|  | *************************************************************/ | 
|  |  | 
|  |  | 
|  | #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 OpenOffice 2.0 | 
|  | */ | 
|  | published 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 <type>com::sun::star::lang::IllegalArgumentException</type> | 
|  | 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 <type>com::sun::star::lang::IllegalArgumentException</type> | 
|  | 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 |