1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: InterpolationMode.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_rendering_InterpolationMode_idl__
31 #define __com_sun_star_rendering_InterpolationMode_idl__
33 module com
{ module sun
{ module star
{ module rendering
{
35 /** These constants specify the interpolation type for animation
38 With this constants, one specifies the way of interpolation that
39 takes place between two consecutive frames of a discrete animation
44 constants InterpolationMode
46 /** Perform a nearest neighbor interpolation.<p>
48 That is, when interpolating between two values v0 and v1,
49 positioned at t0 and t1, take the one which has the closest t
52 const byte NEAREST_NEIGHBOR
=1;
54 //-------------------------------------------------------------------------
56 /** Perform a linear interpolation.<p>
58 That is, when interpolating at position t between two values
59 v0 and v1, positioned at t0 and t1, take the sum of v0
60 weighted with (t-t0) and v1 weighted with (t1-t).<p>
64 //-------------------------------------------------------------------------
66 /** Perform a cubic interpolation.<p>
68 That is, when interpolating at position t, take the four
69 closest data points v0, v1, v2, and v3, fit a cubic curve
70 through them, and take the interpolated value from this cubic
75 //-------------------------------------------------------------------------
77 /** Perform a cubic bezier spline interpolation.<p>
79 That is, when interpolating at position t, take the three
80 closest data points v0, v1, and v2, fit a cubic bezier spline
81 through them, and take the interpolated value from this cubic
84 const byte BEZIERSPLINE3
=4;
86 //-------------------------------------------------------------------------
88 /** Perform a quadric bezier spline interpolation.<p>
90 That is, when interpolating at position t, take the four
91 closest data points v0, v1, v2, and v3, fit a quadric bezier
92 spline through them, and take the interpolated value from this
95 const byte BEZIERSPLINE4
=5;