1d1766043SAndrew Rist/**************************************************************
2cdf0e10cSrcweir *
3d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5d1766043SAndrew Rist * distributed with this work for additional information
6d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10d1766043SAndrew Rist *
11d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12d1766043SAndrew Rist *
13d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14d1766043SAndrew Rist * software distributed under the License is distributed on an
15d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17d1766043SAndrew Rist * specific language governing permissions and limitations
18d1766043SAndrew Rist * under the License.
19d1766043SAndrew Rist *
20d1766043SAndrew Rist *************************************************************/
21d1766043SAndrew Rist
22d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_rendering_InterpolationMode_idl__
24cdf0e10cSrcweir#define __com_sun_star_rendering_InterpolationMode_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweirmodule com { module sun { module star { module rendering {
27cdf0e10cSrcweir
28cdf0e10cSrcweir/** These constants specify the interpolation type for animation
29cdf0e10cSrcweir    frames.<p>
30cdf0e10cSrcweir
31cdf0e10cSrcweir    With this constants, one specifies the way of interpolation that
32cdf0e10cSrcweir    takes place between two consecutive frames of a discrete animation
33cdf0e10cSrcweir    sequence.
34cdf0e10cSrcweir
35*d695a2a0SJürgen Schmidt    @since OpenOffice 2.0
36cdf0e10cSrcweir */
37cdf0e10cSrcweirconstants InterpolationMode
38cdf0e10cSrcweir{
39cdf0e10cSrcweir    /** Perform a nearest neighbor interpolation.<p>
40cdf0e10cSrcweir
41cdf0e10cSrcweir    	That is, when interpolating between two values v0 and v1,
42cdf0e10cSrcweir    	positioned at t0 and t1, take the one which has the closest t
43cdf0e10cSrcweir    	coordinate.<p>
44cdf0e10cSrcweir     */
45cdf0e10cSrcweir	const byte NEAREST_NEIGHBOR=1;
46cdf0e10cSrcweir
47cdf0e10cSrcweir	//-------------------------------------------------------------------------
48cdf0e10cSrcweir
49cdf0e10cSrcweir    /** Perform a linear interpolation.<p>
50cdf0e10cSrcweir
51cdf0e10cSrcweir    	That is, when interpolating at position t between two values
52cdf0e10cSrcweir    	v0 and v1, positioned at t0 and t1, take the sum of v0
53cdf0e10cSrcweir    	weighted with (t-t0) and v1 weighted with (t1-t).<p>
54cdf0e10cSrcweir     */
55cdf0e10cSrcweir	const byte LINEAR=2;
56cdf0e10cSrcweir
57cdf0e10cSrcweir	//-------------------------------------------------------------------------
58cdf0e10cSrcweir
59cdf0e10cSrcweir    /** Perform a cubic interpolation.<p>
60cdf0e10cSrcweir
61cdf0e10cSrcweir    	That is, when interpolating at position t, take the four
62cdf0e10cSrcweir    	closest data points v0, v1, v2, and v3, fit a cubic curve
63cdf0e10cSrcweir    	through them, and take the interpolated value from this cubic
64cdf0e10cSrcweir    	curve.<p>
65cdf0e10cSrcweir     */
66cdf0e10cSrcweir	const byte CUBIC=3;
67cdf0e10cSrcweir
68cdf0e10cSrcweir	//-------------------------------------------------------------------------
69cdf0e10cSrcweir
70cdf0e10cSrcweir    /** Perform a cubic bezier spline interpolation.<p>
71cdf0e10cSrcweir
72cdf0e10cSrcweir    	That is, when interpolating at position t, take the three
73cdf0e10cSrcweir    	closest data points v0, v1, and v2, fit a cubic bezier spline
74cdf0e10cSrcweir    	through them, and take the interpolated value from this cubic
75cdf0e10cSrcweir    	curve.<p>
76cdf0e10cSrcweir     */
77cdf0e10cSrcweir	const byte BEZIERSPLINE3=4;
78cdf0e10cSrcweir
79cdf0e10cSrcweir	//-------------------------------------------------------------------------
80cdf0e10cSrcweir
81cdf0e10cSrcweir    /** Perform a quadric bezier spline interpolation.<p>
82cdf0e10cSrcweir
83cdf0e10cSrcweir    	That is, when interpolating at position t, take the four
84cdf0e10cSrcweir    	closest data points v0, v1, v2, and v3, fit a quadric bezier
85cdf0e10cSrcweir    	spline through them, and take the interpolated value from this
86cdf0e10cSrcweir    	quadric curve.<p>
87cdf0e10cSrcweir     */
88cdf0e10cSrcweir	const byte BEZIERSPLINE4=5;
89cdf0e10cSrcweir};
90cdf0e10cSrcweir
91cdf0e10cSrcweir}; }; }; };
92cdf0e10cSrcweir
93cdf0e10cSrcweir#endif
94