1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_animations_XAnimate_idl__
28#define __com_sun_star_animations_XAnimate_idl__
29
30#ifndef __com_sun_star_animations_XAnimationNode_idl__
31#include <com/sun/star/animations/XAnimationNode.idl>
32#endif
33
34#ifndef __com_sun_star_animations_TimeFilterPair_idl__
35#include <com/sun/star/animations/TimeFilterPair.idl>
36#endif
37
38//=============================================================================
39
40 module com {  module sun {  module star {  module animations {
41
42//=============================================================================
43
44/** Interface for generic animation.
45
46	@see http://www.w3.org/TR/smil20/animation.html#edef-animate
47*/
48interface XAnimate : XAnimationNode
49{
50	/** This attribute specifies the target element to be animated.
51		<br>
52		See documentation of used animation engine for supported targets.
53	*/
54	[attribute] any Target;
55
56	/** This attribute specifies an optional subitem from the target element
57		that should be animated.
58		<br>
59		A value of zero should always be the default and animate the complete target.
60		<br>
61		See documentation of used animation engine for supported subitems.
62	*/
63	[attribute] short SubItem;
64
65	/** Specifies the target attribute.
66
67		@see http://www.w3.org/TR/smil20/animation.html#adef-attributeName
68	*/
69	[attribute] string AttributeName;
70
71	/** A sequence of one or more values, each of which must be a legal value for
72		the specified attribute.
73
74		@see http://www.w3.org/TR/smil20/animation.html#adef-values
75	*/
76	[attribute] sequence< any > Values;
77
78	/**
79	*/
80	[attribute] sequence< double > KeyTimes;
81
82	/**
83		@see AnimationValueType
84	*/
85	[attribute] short ValueType;
86
87	/** Specifies the interpolation mode for the animation.
88		<br>
89		If the target attribute does not support linear interpolation (e.g. for strings),
90		or if the values attribute has only one value, the CalcMode attribute is ignored
91		and discrete interpolation is used.
92
93		@see AnimationCalcMode;
94	*/
95	[attribute] short CalcMode;
96
97	/** Controls whether or not the animation is cumulative.
98
99		@see http://www.w3.org/TR/smil20/animation.html#adef-accumulate
100	*/
101	[attribute] boolean Accumulate;
102
103	/** Controls whether or not the animation is additive.
104
105		@see AnimationAdditiveMode
106		@see http://www.w3.org/TR/smil20/animation.html#adef-additive
107	*/
108	[attribute] short Additive;
109
110	/** Specifies the starting value of the animation.
111		<br>
112		Must be a legal value for the specified attribute.
113		Ignored if the <member>Values</member> attribute is specified.
114
115		@see http://www.w3.org/TR/smil20/animation.html#adef-from
116	*/
117	[attribute] any From;
118
119	/** Specifies the ending value of the animation.
120		<br>
121		Must be a legal value for the specified attribute.
122		Ignored if the <member>Values</member> attribute is specified.
123
124		@see http://www.w3.org/TR/smil20/animation.html#adef-to
125	*/
126	[attribute] any To;
127
128	/** Specifies a relative offset value for the animation.
129		<br>
130		Must be a legal value of a domain for which addition to the attributeType
131		domain is defined and which yields a value in the attributeType domain.
132		Ignored if the values attribute is specified.
133		Ignored if the <member>Values</member> attribute is specified.
134
135		@see http://www.w3.org/TR/smil20/animation.html#adef-by
136	*/
137	[attribute] any By;
138
139	/**	todo: timeFilter="0,0; 0.14,0.36; 0.43,0.73; 0.71,0.91; 1.0,1.0" ?
140	*/
141	[attribute] sequence< TimeFilterPair > TimeFilter;
142
143	/** if this string is set, its contents will be parsed as a formula.
144		All values are used as a parameter for this formula and the computet
145		result will be used.
146	*/
147	[attribute] string Formula;
148};
149
150//=============================================================================
151
152}; }; }; };
153
154#endif
155
156