xref: /trunk/main/offapi/com/sun/star/rendering/InterpolationMode.idl (revision 1ecadb572e7010ff3b3382ad9bf179dbc6efadbb)
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