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&lt;any&gt;</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&lt;any&gt;</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