1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_animations_XAnimate_idl__
24#define __com_sun_star_animations_XAnimate_idl__
25
26#ifndef __com_sun_star_animations_XAnimationNode_idl__
27#include <com/sun/star/animations/XAnimationNode.idl>
28#endif
29
30#ifndef __com_sun_star_animations_TimeFilterPair_idl__
31#include <com/sun/star/animations/TimeFilterPair.idl>
32#endif
33
34//=============================================================================
35
36 module com {  module sun {  module star {  module animations {
37
38//=============================================================================
39
40/** Interface for generic animation.
41
42	@see http://www.w3.org/TR/smil20/animation.html#edef-animate
43*/
44interface XAnimate : XAnimationNode
45{
46	/** This attribute specifies the target element to be animated.
47		<br>
48		See documentation of used animation engine for supported targets.
49	*/
50	[attribute] any Target;
51
52	/** This attribute specifies an optional subitem from the target element
53		that should be animated.
54		<br>
55		A value of zero should always be the default and animate the complete target.
56		<br>
57		See documentation of used animation engine for supported subitems.
58	*/
59	[attribute] short SubItem;
60
61	/** Specifies the target attribute.
62
63		@see http://www.w3.org/TR/smil20/animation.html#adef-attributeName
64	*/
65	[attribute] string AttributeName;
66
67	/** A sequence of one or more values, each of which must be a legal value for
68		the specified attribute.
69
70		@see http://www.w3.org/TR/smil20/animation.html#adef-values
71	*/
72	[attribute] sequence< any > Values;
73
74	/**
75	*/
76	[attribute] sequence< double > KeyTimes;
77
78	/**
79		@see AnimationValueType
80	*/
81	[attribute] short ValueType;
82
83	/** Specifies the interpolation mode for the animation.
84		<br>
85		If the target attribute does not support linear interpolation (e.g. for strings),
86		or if the values attribute has only one value, the CalcMode attribute is ignored
87		and discrete interpolation is used.
88
89		@see AnimationCalcMode;
90	*/
91	[attribute] short CalcMode;
92
93	/** Controls whether or not the animation is cumulative.
94
95		@see http://www.w3.org/TR/smil20/animation.html#adef-accumulate
96	*/
97	[attribute] boolean Accumulate;
98
99	/** Controls whether or not the animation is additive.
100
101		@see AnimationAdditiveMode
102		@see http://www.w3.org/TR/smil20/animation.html#adef-additive
103	*/
104	[attribute] short Additive;
105
106	/** Specifies the starting value of the animation.
107		<br>
108		Must be a legal value for the specified attribute.
109		Ignored if the <member>Values</member> attribute is specified.
110
111		@see http://www.w3.org/TR/smil20/animation.html#adef-from
112	*/
113	[attribute] any From;
114
115	/** Specifies the ending value of the animation.
116		<br>
117		Must be a legal value for the specified attribute.
118		Ignored if the <member>Values</member> attribute is specified.
119
120		@see http://www.w3.org/TR/smil20/animation.html#adef-to
121	*/
122	[attribute] any To;
123
124	/** Specifies a relative offset value for the animation.
125		<br>
126		Must be a legal value of a domain for which addition to the attributeType
127		domain is defined and which yields a value in the attributeType domain.
128		Ignored if the values attribute is specified.
129		Ignored if the <member>Values</member> attribute is specified.
130
131		@see http://www.w3.org/TR/smil20/animation.html#adef-by
132	*/
133	[attribute] any By;
134
135	/**	todo: timeFilter="0,0; 0.14,0.36; 0.43,0.73; 0.71,0.91; 1.0,1.0" ?
136	*/
137	[attribute] sequence< TimeFilterPair > TimeFilter;
138
139	/** if this string is set, its contents will be parsed as a formula.
140		All values are used as a parameter for this formula and the computet
141		result will be used.
142	*/
143	[attribute] string Formula;
144};
145
146//=============================================================================
147
148}; }; }; };
149
150#endif
151
152