1*b1cdbd2cSJim Jagielski/************************************************************** 2*b1cdbd2cSJim Jagielski * 3*b1cdbd2cSJim Jagielski * Licensed to the Apache Software Foundation (ASF) under one 4*b1cdbd2cSJim Jagielski * or more contributor license agreements. See the NOTICE file 5*b1cdbd2cSJim Jagielski * distributed with this work for additional information 6*b1cdbd2cSJim Jagielski * regarding copyright ownership. The ASF licenses this file 7*b1cdbd2cSJim Jagielski * to you under the Apache License, Version 2.0 (the 8*b1cdbd2cSJim Jagielski * "License"); you may not use this file except in compliance 9*b1cdbd2cSJim Jagielski * with the License. You may obtain a copy of the License at 10*b1cdbd2cSJim Jagielski * 11*b1cdbd2cSJim Jagielski * http://www.apache.org/licenses/LICENSE-2.0 12*b1cdbd2cSJim Jagielski * 13*b1cdbd2cSJim Jagielski * Unless required by applicable law or agreed to in writing, 14*b1cdbd2cSJim Jagielski * software distributed under the License is distributed on an 15*b1cdbd2cSJim Jagielski * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16*b1cdbd2cSJim Jagielski * KIND, either express or implied. See the License for the 17*b1cdbd2cSJim Jagielski * specific language governing permissions and limitations 18*b1cdbd2cSJim Jagielski * under the License. 19*b1cdbd2cSJim Jagielski * 20*b1cdbd2cSJim Jagielski *************************************************************/ 21*b1cdbd2cSJim Jagielski 22*b1cdbd2cSJim Jagielski 23*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_animations_XAnimationNode_idl__ 24*b1cdbd2cSJim Jagielski#define __com_sun_star_animations_XAnimationNode_idl__ 25*b1cdbd2cSJim Jagielski 26*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_container_XChild_idl__ 27*b1cdbd2cSJim Jagielski#include <com/sun/star/container/XChild.idl> 28*b1cdbd2cSJim Jagielski#endif 29*b1cdbd2cSJim Jagielski 30*b1cdbd2cSJim Jagielski#ifndef __com_sun_star_beans_NamedValue_idl__ 31*b1cdbd2cSJim Jagielski#include <com/sun/star/beans/NamedValue.idl> 32*b1cdbd2cSJim Jagielski#endif 33*b1cdbd2cSJim Jagielski 34*b1cdbd2cSJim Jagielski//============================================================================= 35*b1cdbd2cSJim Jagielski 36*b1cdbd2cSJim Jagielski module com { module sun { module star { module animations { 37*b1cdbd2cSJim Jagielski 38*b1cdbd2cSJim Jagielski//============================================================================= 39*b1cdbd2cSJim Jagielski 40*b1cdbd2cSJim Jagielski/** 41*b1cdbd2cSJim Jagielski*/ 42*b1cdbd2cSJim Jagielskipublished interface XAnimationNode : ::com::sun::star::container::XChild 43*b1cdbd2cSJim Jagielski{ 44*b1cdbd2cSJim Jagielski /** a value from <const>AnimationNodeType</const>. 45*b1cdbd2cSJim Jagielski 46*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timing.html#adef-timeContainer 47*b1cdbd2cSJim Jagielski */ 48*b1cdbd2cSJim Jagielski [readonly, attribute] short Type; 49*b1cdbd2cSJim Jagielski 50*b1cdbd2cSJim Jagielski /** a sequnece of values that define the begining of this element 51*b1cdbd2cSJim Jagielski <br> 52*b1cdbd2cSJim Jagielski <member>Begin</member> is 53*b1cdbd2cSJim Jagielski <ul> 54*b1cdbd2cSJim Jagielski <li><atom>double</atom> describes the element begin as an offset in seconds from an implicit syncbase. 55*b1cdbd2cSJim Jagielski The definition of the implicit syncbase depends upon the element's parent time container. 56*b1cdbd2cSJim Jagielski The offset is measured in parent simple time.</li> 57*b1cdbd2cSJim Jagielski <li><type>Event</type> describes an event and an optional offset that determine the 58*b1cdbd2cSJim Jagielski element begin. The element begin is defined relative to the time that the event 59*b1cdbd2cSJim Jagielski is raised.</li> 60*b1cdbd2cSJim Jagielski <li><const>Timing::INDEFINITE</const> the begin of the element will be determined by an 61*b1cdbd2cSJim Jagielski external event to the element.</li> 62*b1cdbd2cSJim Jagielski <li><type>sequence<any></type> a sequence of values described above if more than 63*b1cdbd2cSJim Jagielski one begin value is defined for this element.</li> 64*b1cdbd2cSJim Jagielski <li><void/> if no begin behaviour is defined for this element.</li> 65*b1cdbd2cSJim Jagielski </ul> 66*b1cdbd2cSJim Jagielski 67*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timing.html#adef-begin 68*b1cdbd2cSJim Jagielski */ 69*b1cdbd2cSJim Jagielski [attribute] any Begin; 70*b1cdbd2cSJim Jagielski 71*b1cdbd2cSJim Jagielski /** defines the length of the simple duration. 72*b1cdbd2cSJim Jagielski <br> 73*b1cdbd2cSJim Jagielski <member>Duration</member> is 74*b1cdbd2cSJim Jagielski <ul> 75*b1cdbd2cSJim Jagielski <li><atom>double</atom> specifies the length of the simple duration in seconds.</li> 76*b1cdbd2cSJim Jagielski <li><const>Timing::INDEFINITE</const> specifies the simple duration as indefinite.</li> 77*b1cdbd2cSJim Jagielski <li><const>Timing::MEDIA</const> specifies the simple duration as the intrinsic media duration. This is only valid for elements that define media.</li> 78*b1cdbd2cSJim Jagielski <li><void/> the simple duration for the element is defined to be the implicit duration of the element.</li> 79*b1cdbd2cSJim Jagielski </ul> 80*b1cdbd2cSJim Jagielski 81*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timing.html#adef-dur 82*b1cdbd2cSJim Jagielski */ 83*b1cdbd2cSJim Jagielski [attribute] any Duration; 84*b1cdbd2cSJim Jagielski 85*b1cdbd2cSJim Jagielski /** a sequnece of values that define the ending of this element 86*b1cdbd2cSJim Jagielski <br> 87*b1cdbd2cSJim Jagielski <member>End</member> is 88*b1cdbd2cSJim Jagielski <ul> 89*b1cdbd2cSJim Jagielski <li><atom>double</atom> describes the element end as an offset in seconds from an implicit syncbase. 90*b1cdbd2cSJim Jagielski The definition of the implicit syncbase depends upon the element's parent time container. 91*b1cdbd2cSJim Jagielski The offset is measured in parent simple time.</li> 92*b1cdbd2cSJim Jagielski <li><type>Event</type> describes an event and an optional offset that determine the 93*b1cdbd2cSJim Jagielski element end. The element end is defined relative to the time that the event 94*b1cdbd2cSJim Jagielski is raised.</li> 95*b1cdbd2cSJim Jagielski <li><const>Timing::INDEFINITE</const> the end of the element will be determined by an 96*b1cdbd2cSJim Jagielski external event to the element.</li> 97*b1cdbd2cSJim Jagielski <li><type>sequence<any></type> a sequence of values described above if more than 98*b1cdbd2cSJim Jagielski one begin value is defined for this element.</li> 99*b1cdbd2cSJim Jagielski <li><void/> if no end behaviour is defined for this element.</li> 100*b1cdbd2cSJim Jagielski </ul> 101*b1cdbd2cSJim Jagielski 102*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timing.html#adef-end 103*b1cdbd2cSJim Jagielski */ 104*b1cdbd2cSJim Jagielski [attribute] any End; 105*b1cdbd2cSJim Jagielski 106*b1cdbd2cSJim Jagielski /** controls the implicit duration of time containers, 107*b1cdbd2cSJim Jagielski as a function of the children. 108*b1cdbd2cSJim Jagielski <br> 109*b1cdbd2cSJim Jagielski The endsync attribute is only valid for 110*b1cdbd2cSJim Jagielski par and excl time container elements, and media elements with timed 111*b1cdbd2cSJim Jagielski children (e.g. animate or area elements). 112*b1cdbd2cSJim Jagielski 113*b1cdbd2cSJim Jagielski <member>EndSync</member> is 114*b1cdbd2cSJim Jagielski eiter a <atom>short</atom> constant from <const>EndSync</const>, 115*b1cdbd2cSJim Jagielski an interface reference to a child <type>XTimeContainer</type> 116*b1cdbd2cSJim Jagielski or <void/>. 117*b1cdbd2cSJim Jagielski 118*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timing.html#adef-endsync 119*b1cdbd2cSJim Jagielski */ 120*b1cdbd2cSJim Jagielski [attribute] any EndSync; 121*b1cdbd2cSJim Jagielski 122*b1cdbd2cSJim Jagielski /** the number of iterations of the simple duration. 123*b1cdbd2cSJim Jagielski <br> 124*b1cdbd2cSJim Jagielski <member>RepeatCount</member> is 125*b1cdbd2cSJim Jagielski <ul> 126*b1cdbd2cSJim Jagielski <li><atom>double</atom> 127*b1cdbd2cSJim Jagielski this is a numeric value that specifies the number of iterations. 128*b1cdbd2cSJim Jagielski It can include partial iterations expressed as fraction values. 129*b1cdbd2cSJim Jagielski A fractional value describes a portion of the simple duration. 130*b1cdbd2cSJim Jagielski Values must be greater than 0.</li> 131*b1cdbd2cSJim Jagielski <li><const>Timing::INDEFINITE</const> the element is defined to repeat indefinitely 132*b1cdbd2cSJim Jagielski (subject to the constraints of the parent time container).</li> 133*b1cdbd2cSJim Jagielski <li><void/> 134*b1cdbd2cSJim Jagielski no repeat count is defined for this element.</li> 135*b1cdbd2cSJim Jagielski </ul> 136*b1cdbd2cSJim Jagielski 137*b1cdbd2cSJim Jagielski @see <const>EndSync</const> 138*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timing.html#adef-repeatCount 139*b1cdbd2cSJim Jagielski */ 140*b1cdbd2cSJim Jagielski [attribute] any RepeatCount; 141*b1cdbd2cSJim Jagielski 142*b1cdbd2cSJim Jagielski /** the total duration for repeat. 143*b1cdbd2cSJim Jagielski <br> 144*b1cdbd2cSJim Jagielski <member>RepeatDuration</member> is 145*b1cdbd2cSJim Jagielski <ul> 146*b1cdbd2cSJim Jagielski <li><atom>double</atom> 147*b1cdbd2cSJim Jagielski specifies the duration in element active time 148*b1cdbd2cSJim Jagielski to repeat the simple duration in seconds.</li> 149*b1cdbd2cSJim Jagielski <li><const>Timing::INDEFINITE</const> the element is defined to repeat indefinitely 150*b1cdbd2cSJim Jagielski (subject to the constraints of the parent time container).</li> 151*b1cdbd2cSJim Jagielski <li><void/> 152*b1cdbd2cSJim Jagielski No repeat duration is defined for this element. </li> 153*b1cdbd2cSJim Jagielski </ul> 154*b1cdbd2cSJim Jagielski 155*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timing.html#adef-repeatDur 156*b1cdbd2cSJim Jagielski */ 157*b1cdbd2cSJim Jagielski [attribute] any RepeatDuration; 158*b1cdbd2cSJim Jagielski 159*b1cdbd2cSJim Jagielski /** the attribute that specify the behaviour how an element 160*b1cdbd2cSJim Jagielski should be extended beyond the active duration by freezing the final 161*b1cdbd2cSJim Jagielski state of the element. 162*b1cdbd2cSJim Jagielski <br> 163*b1cdbd2cSJim Jagielski <member>Fill</member> is 164*b1cdbd2cSJim Jagielski a value from <const>AnimationFill</const>. 165*b1cdbd2cSJim Jagielski 166*b1cdbd2cSJim Jagielski @see <const>Fill</const> 167*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timing.html#adef-fill 168*b1cdbd2cSJim Jagielski */ 169*b1cdbd2cSJim Jagielski [attribute] short Fill; 170*b1cdbd2cSJim Jagielski 171*b1cdbd2cSJim Jagielski /** the default value for the fill behavior for this element and all 172*b1cdbd2cSJim Jagielski descendents. 173*b1cdbd2cSJim Jagielski <br> 174*b1cdbd2cSJim Jagielski <member>FillDefault</member> is 175*b1cdbd2cSJim Jagielski <ul> 176*b1cdbd2cSJim Jagielski <li>The values <const>AnimationFill::REMOVE</const>, <const>AnimationFill::FREEZE</const>, 177*b1cdbd2cSJim Jagielski <const>AnimationFill::HOLD</const>, <const>AnimationFill::TRANSITION</const> and <const>AnimationFill::AUTO</const> 178*b1cdbd2cSJim Jagielski specify that the element fill behavior is the respective value.</li> 179*b1cdbd2cSJim Jagielski <li>The value <const>AnimationFill::INHERIT</const> specifies that the value of this attribute 180*b1cdbd2cSJim Jagielski (and of the fill behavior) are inherited from the <member>FillDefault</member> value of the parent 181*b1cdbd2cSJim Jagielski element. If there is no parent element, the value is <const>AnimationFill::AUTO</const>.</li> 182*b1cdbd2cSJim Jagielski </ul> 183*b1cdbd2cSJim Jagielski 184*b1cdbd2cSJim Jagielski @see <const>Fill</const> 185*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timing.html#adef-fillDefault 186*b1cdbd2cSJim Jagielski */ 187*b1cdbd2cSJim Jagielski [attribute] short FillDefault; 188*b1cdbd2cSJim Jagielski 189*b1cdbd2cSJim Jagielski /** defines the restart behaviour of this element. 190*b1cdbd2cSJim Jagielski <br> 191*b1cdbd2cSJim Jagielski <member>Restart</member> is 192*b1cdbd2cSJim Jagielski a <atom>short</atom> value from <const>AnimationRestart</const>. 193*b1cdbd2cSJim Jagielski 194*b1cdbd2cSJim Jagielski @see <const>AnimationRestart</const> 195*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timing.html#adef-restart 196*b1cdbd2cSJim Jagielski */ 197*b1cdbd2cSJim Jagielski [attribute] short Restart; 198*b1cdbd2cSJim Jagielski 199*b1cdbd2cSJim Jagielski /** defines the default restart behaviour for this element and all descendents. 200*b1cdbd2cSJim Jagielski 201*b1cdbd2cSJim Jagielski @returns 202*b1cdbd2cSJim Jagielski a value from <const>Restart</const>. 203*b1cdbd2cSJim Jagielski 204*b1cdbd2cSJim Jagielski @see <const>AnimationRestart</const> 205*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timing.html#adef-restartDefault 206*b1cdbd2cSJim Jagielski */ 207*b1cdbd2cSJim Jagielski [attribute] short RestartDefault; 208*b1cdbd2cSJim Jagielski 209*b1cdbd2cSJim Jagielski /** defines the acceleration for this element. 210*b1cdbd2cSJim Jagielski <br> 211*b1cdbd2cSJim Jagielski Element time will accelerate from a rate of 0 at the beginning up 212*b1cdbd2cSJim Jagielski to a run rate, over the course of the specified proportion of the 213*b1cdbd2cSJim Jagielski simple duration. 214*b1cdbd2cSJim Jagielski 215*b1cdbd2cSJim Jagielski <member>Acceleration</member> is 216*b1cdbd2cSJim Jagielski a value between 0 (no acceleration) and 1 (acceleration until end 217*b1cdbd2cSJim Jagielski of the elements duration). 218*b1cdbd2cSJim Jagielski 219*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timemanip.html#adef-accelerate 220*b1cdbd2cSJim Jagielski */ 221*b1cdbd2cSJim Jagielski [attribute] double Acceleration; 222*b1cdbd2cSJim Jagielski 223*b1cdbd2cSJim Jagielski /** defines the deceleration for this element. 224*b1cdbd2cSJim Jagielski Element time will deceleration from a run rate to a rate of 0 at the 225*b1cdbd2cSJim Jagielski ending, over the course of the specified proportion of the 226*b1cdbd2cSJim Jagielski simple duration. 227*b1cdbd2cSJim Jagielski 228*b1cdbd2cSJim Jagielski <member>Decelerate</member> is 229*b1cdbd2cSJim Jagielski a value between 0 (no deceleration) and 1 (deceleration from beginning 230*b1cdbd2cSJim Jagielski of the elements duration). 231*b1cdbd2cSJim Jagielski 232*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timemanip.html#adef-decelerate 233*b1cdbd2cSJim Jagielski */ 234*b1cdbd2cSJim Jagielski [attribute] double Decelerate; 235*b1cdbd2cSJim Jagielski 236*b1cdbd2cSJim Jagielski /** defines the auto reverse settings for this element. 237*b1cdbd2cSJim Jagielski 238*b1cdbd2cSJim Jagielski <member>AutoRevers</member> is 239*b1cdbd2cSJim Jagielski <ul> 240*b1cdbd2cSJim Jagielski <li><false/> if the animation is played normal.</li> 241*b1cdbd2cSJim Jagielski <li><true/> if the animation is played forwards and then backwards. This doubles the duration</li> 242*b1cdbd2cSJim Jagielski </ul> 243*b1cdbd2cSJim Jagielski 244*b1cdbd2cSJim Jagielski @see http://www.w3.org/TR/smil20/smil-timemanip.html#adef-autoReverse 245*b1cdbd2cSJim Jagielski */ 246*b1cdbd2cSJim Jagielski [attribute] boolean AutoReverse; 247*b1cdbd2cSJim Jagielski 248*b1cdbd2cSJim Jagielski /** 249*b1cdbd2cSJim Jagielski */ 250*b1cdbd2cSJim Jagielski [attribute] sequence< ::com::sun::star::beans::NamedValue > UserData; 251*b1cdbd2cSJim Jagielski}; 252*b1cdbd2cSJim Jagielski 253*b1cdbd2cSJim Jagielski//============================================================================= 254*b1cdbd2cSJim Jagielski 255*b1cdbd2cSJim Jagielski}; }; }; }; 256*b1cdbd2cSJim Jagielski 257*b1cdbd2cSJim Jagielski#endif 258