blob: a807000f3871ffb93f4199cfe4ba86a59b5fcf7f [file] [log] [blame]
/**************************************************************
*
* 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_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 {
//=============================================================================
/**
*/
published 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