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_rendering_InterpolationMode_idl__
24#define __com_sun_star_rendering_InterpolationMode_idl__
25
26module com { module sun { module star { module rendering {
27
28/** These constants specify the interpolation type for animation
29    frames.<p>
30
31    With this constants, one specifies the way of interpolation that
32    takes place between two consecutive frames of a discrete animation
33    sequence.
34
35    @since OpenOffice 2.0
36 */
37constants InterpolationMode
38{
39    /** Perform a nearest neighbor interpolation.<p>
40
41    	That is, when interpolating between two values v0 and v1,
42    	positioned at t0 and t1, take the one which has the closest t
43    	coordinate.<p>
44     */
45	const byte NEAREST_NEIGHBOR=1;
46
47	//-------------------------------------------------------------------------
48
49    /** Perform a linear interpolation.<p>
50
51    	That is, when interpolating at position t between two values
52    	v0 and v1, positioned at t0 and t1, take the sum of v0
53    	weighted with (t-t0) and v1 weighted with (t1-t).<p>
54     */
55	const byte LINEAR=2;
56
57	//-------------------------------------------------------------------------
58
59    /** Perform a cubic interpolation.<p>
60
61    	That is, when interpolating at position t, take the four
62    	closest data points v0, v1, v2, and v3, fit a cubic curve
63    	through them, and take the interpolated value from this cubic
64    	curve.<p>
65     */
66	const byte CUBIC=3;
67
68	//-------------------------------------------------------------------------
69
70    /** Perform a cubic bezier spline interpolation.<p>
71
72    	That is, when interpolating at position t, take the three
73    	closest data points v0, v1, and v2, fit a cubic bezier spline
74    	through them, and take the interpolated value from this cubic
75    	curve.<p>
76     */
77	const byte BEZIERSPLINE3=4;
78
79	//-------------------------------------------------------------------------
80
81    /** Perform a quadric bezier spline interpolation.<p>
82
83    	That is, when interpolating at position t, take the four
84    	closest data points v0, v1, v2, and v3, fit a quadric bezier
85    	spline through them, and take the interpolated value from this
86    	quadric curve.<p>
87     */
88	const byte BEZIERSPLINE4=5;
89};
90
91}; }; }; };
92
93#endif
94