summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/animations/XAnimationNode.idl
blob: ece28f1844ba16aaa1a4701f72303c04d80bd621 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 * 
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org 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 version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
#ifndef __com_sun_star_animations_XAnimationNode_idl__ 
#define __com_sun_star_animations_XAnimationNode_idl__ 

#ifndef __com_sun_star_container_XChild_idl__
#include <com/sun/star/container/XChild.idl>
#endif

#ifndef __com_sun_star_beans_NamedValue_idl__
#include <com/sun/star/beans/NamedValue.idl>
#endif

//============================================================================= 
 
 module com {  module sun {  module star {  module animations {  
 
//============================================================================= 

/**
*/
interface XAnimationNode : ::com::sun::star::container::XChild
{
    /**  a value from <const>AnimationNodeType</const>.

        @see http://www.w3.org/TR/smil20/smil-timing.html#adef-timeContainer
    */
    [readonly, attribute] short Type;

    /** a sequnece of values that define the begining of this element
        <br>
        <member>Begin</member> is
            <ul>
            <li><atom>double</atom> describes the element begin as an offset in seconds from an implicit syncbase.
                The definition of the implicit syncbase depends upon the element's parent time container.
                The offset is measured in parent simple time.</li>
            <li><type>Event</type> describes an event and an optional offset that determine the
                element begin. The element begin is defined relative to the time that the event
                is raised.</li>
            <li><const>Timing::INDEFINITE</const> the begin of the element will be determined by an
                external event to the element.</li>
            <li><type>sequence&lt;any&gt;</type> a sequence of values described above if more than
                one begin value is defined for this element.</li>
            <li><void/> if no begin behaviour is defined for this element.</li>
            </ul>

        @see http://www.w3.org/TR/smil20/smil-timing.html#adef-begin
    */
    [attribute] any Begin;

    /** defines the length of the simple duration.
        <br>
        <member>Duration</member> is
            <ul>
            <li><atom>double</atom> specifies the length of the simple duration in seconds.</li>
            <li><const>Timing::INDEFINITE</const> specifies the simple duration as indefinite.</li>
            <li><const>Timing::MEDIA</const> specifies the simple duration as the intrinsic media duration. This is only valid for elements that define media.</li>
            <li><void/> the simple duration for the element is defined to be the implicit duration of the element.</li>
            </ul>

        @see http://www.w3.org/TR/smil20/smil-timing.html#adef-dur
    */
    [attribute] any Duration;

    /** a sequnece of values that define the ending of this element
        <br>
        <member>End</member> is
            <ul>
            <li><atom>double</atom> describes the element end as an offset in seconds from an implicit syncbase.
                The definition of the implicit syncbase depends upon the element's parent time container.
                The offset is measured in parent simple time.</li>
            <li><type>Event</type> describes an event and an optional offset that determine the
                element end. The element end is defined relative to the time that the event
                is raised.</li>
            <li><const>Timing::INDEFINITE</const> the end of the element will be determined by an
                external event to the element.</li>
            <li><type>sequence&lt;any&gt;</type> a sequence of values described above if more than
                one begin value is defined for this element.</li>
            <li><void/> if no end behaviour is defined for this element.</li>
            </ul>

        @see http://www.w3.org/TR/smil20/smil-timing.html#adef-end
    */
    [attribute] any End;

    /** controls the implicit duration of time containers,
        as a function of the children.
        <br>
        The endsync attribute is only valid for
        par and excl time container elements, and media elements with timed
        children (e.g. animate or area elements).

        <member>EndSync</member> is
            eiter a <atom>short</atom> constant from <const>EndSync</const>,
            an interface reference to a child <type>XTimeContainer</type>
            or <void/>.
            
        @see http://www.w3.org/TR/smil20/smil-timing.html#adef-endsync
    */
    [attribute] any EndSync;

    /** the number of iterations of the simple duration.
        <br>
        <member>RepeatCount</member> is
            <ul>
            <li><atom>double</atom>
                this is a numeric value that specifies the number of iterations.
                It can include partial iterations expressed as fraction values.
                A fractional value describes a portion of the simple duration.
                Values must be greater than 0.</li>
            <li><const>Timing::INDEFINITE</const> the element is defined to repeat indefinitely
                (subject to the constraints of the parent time container).</li>
            <li><void/>
                no repeat count is defined for this element.</li>
            </ul>

        @see <const>EndSync</const>
        @see http://www.w3.org/TR/smil20/smil-timing.html#adef-repeatCount
    */
    [attribute] any RepeatCount;

    /** the total duration for repeat.
        <br>
        <member>RepeatDuration</member> is
            <ul>
            <li><atom>double</atom>
                specifies the duration in element active time
                to repeat the simple duration in seconds.</li>
            <li><const>Timing::INDEFINITE</const> the element is defined to repeat indefinitely
                (subject to the constraints of the parent time container).</li>
            <li><void/>
                No repeat duration is defined for this element. </li>
            </ul>

        @see http://www.w3.org/TR/smil20/smil-timing.html#adef-repeatDur
    */
    [attribute] any RepeatDuration;

    /** the attribute that specify the behaviour how an element
        should be extended beyond the active duration by freezing the final
        state of the element. 
        <br>
        <member>Fill</member> is
            a value from <const>AnimationFill</const>.

        @see <const>Fill</const>
        @see http://www.w3.org/TR/smil20/smil-timing.html#adef-fill
    */
    [attribute] short Fill;

    /** the default value for the fill behavior for this element and all
        descendents. 
        <br>
        <member>FillDefault</member> is
            <ul>
            <li>The values <const>AnimationFill::REMOVE</const>, <const>AnimationFill::FREEZE</const>,
            <const>AnimationFill::HOLD</const>, <const>AnimationFill::TRANSITION</const> and <const>AnimationFill::AUTO</const>
            specify that the element fill behavior is the respective value.</li>
            <li>The value <const>AnimationFill::INHERIT</const> specifies that the value of this attribute
            (and of the fill behavior) are inherited from the <member>FillDefault</member> value of the parent
            element. If there is no parent element, the value is <const>AnimationFill::AUTO</const>.</li>
            </ul>

        @see <const>Fill</const>
        @see http://www.w3.org/TR/smil20/smil-timing.html#adef-fillDefault
    */
    [attribute] short FillDefault;

    /**	defines the restart behaviour of this element.
        <br>
        <member>Restart</member> is
            a <atom>short</atom> value from <const>AnimationRestart</const>.
        
        @see <const>AnimationRestart</const>
        @see http://www.w3.org/TR/smil20/smil-timing.html#adef-restart
    */
    [attribute] short Restart;

    /**	defines the default restart behaviour for this element and all descendents.

        @returns
            a value from <const>Restart</const>.
        
        @see <const>AnimationRestart</const>
        @see http://www.w3.org/TR/smil20/smil-timing.html#adef-restartDefault
    */
    [attribute] short RestartDefault;

    /** defines the acceleration for this element.
        <br>
        Element time will accelerate from a rate of 0 at the beginning up
        to a run rate, over the course of the specified proportion of the
        simple duration.

        <member>Acceleration</member> is
            a value between 0 (no acceleration) and 1 (acceleration until end
            of the elements duration).

        @see http://www.w3.org/TR/smil20/smil-timemanip.html#adef-accelerate
    */
    [attribute] double Acceleration;

    /** defines the deceleration for this element.
        Element time will deceleration from a run rate to a rate of 0 at the
        ending, over the course of the specified proportion of the
        simple duration.

        <member>Decelerate</member> is
            a value between 0 (no deceleration) and 1 (deceleration from beginning
            of the elements duration).

        @see http://www.w3.org/TR/smil20/smil-timemanip.html#adef-decelerate
    */
    [attribute] double Decelerate;

    /** defines the auto reverse settings for this element.

        <member>AutoRevers</member> is
            <ul>
            <li><false/> if the animation is played normal.</li>
            <li><true/> if the animation is played forwards and then backwards. This doubles the duration</li>
            </ul>
        
        @see http://www.w3.org/TR/smil20/smil-timemanip.html#adef-autoReverse
    */
    [attribute] boolean AutoReverse;

    /**
    */
    [attribute] sequence< ::com::sun::star::beans::NamedValue > UserData;
};

//============================================================================= 
 
}; }; }; };  

#endif