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