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