1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
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.
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).
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.
26 ************************************************************************/
27 #ifndef __com_sun_star_rendering_XParametricPolyPolygon2D_idl__
28 #define __com_sun_star_rendering_XParametricPolyPolygon2D_idl__
30 #ifndef __com_sun_star_uno_XInterface_idl__
31 #include
<com
/sun
/star
/uno
/XInterface.idl
>
33 #ifndef __com_sun_star_lang_IllegalArgumentException_idl__
34 #include
<com
/sun
/star
/lang
/IllegalArgumentException.idl
>
36 #ifndef __com_sun_star_geometry_RealPoint2D_idl__
37 #include
<com
/sun
/star
/geometry
/RealPoint2D.idl
>
39 #ifndef __com_sun_star_rendering_XPolyPolygon2D_idl__
40 #include
<com
/sun
/star
/rendering
/XPolyPolygon2D.idl
>
42 #ifndef __com_sun_star_rendering_XColorSpace_idl__
43 #include
<com
/sun
/star
/rendering
/XColorSpace.idl
>
46 module com
{ module sun
{ module star
{ module rendering
{
48 /** Interface to a dynamic poly-polygon generator, that generates
49 poly-polygons depending on a given parameter value.<p>
51 The returned poly-polygon should normally be contained in the
52 [0,1]x[0,1] rectangle. At least that is the dimension expected at
53 other places. e.g. <type>Texture</type>.
55 interface XParametricPolyPolygon2D
: ::com
::sun
::star
::uno
::XInterface
57 /** Query the polygonal outline at the specified value.
59 The returned outline should be clipped to the [0,1]x[0,1]
63 Parameter value in the range [0,1]. During painting, this
64 range is sweeped through starting from 0. When using such a
65 parametric polypolygon for gradients, the area covered by the
66 returned XPolyPolygon2D should be monotonically decreasing
67 with t (unless singularities in e.g. the resulting gradient
70 XPolyPolygon2D getOutline
( [in] double t
)
71 raises
(com
::sun
::star
::lang
::IllegalArgumentException
);
73 //-------------------------------------------------------------------------
75 /** Query the color value for the polygonal area at the specified
79 Parameter value in the range [0,1]. During painting, this
80 range is swept through starting from 0.
82 sequence
<ColorComponent
> getColor
( [in] double t
)
83 raises
(com
::sun
::star
::lang
::IllegalArgumentException
);
85 //-------------------------------------------------------------------------
87 /** Query the color for a dedicated point in the plane.
90 The permissible parameter range for point is [0,1]x[0,1]
92 sequence
<ColorComponent
> getPointColor
( [in] ::com
::sun
::star
::geometry
::RealPoint2D point
)
93 raises
(com
::sun
::star
::lang
::IllegalArgumentException
);
95 //-------------------------------------------------------------------------
97 /** Query the color space employed by this object
99 @return the color space the colors generated by this object
100 are to be interpreted in.
102 XColorSpace getColorSpace
();