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: XParametricPolyPolygon2D.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_XParametricPolyPolygon2D_idl__
31 #define __com_sun_star_rendering_XParametricPolyPolygon2D_idl__
33 #ifndef __com_sun_star_uno_XInterface_idl__
34 #include
<com
/sun
/star
/uno
/XInterface.idl
>
36 #ifndef __com_sun_star_lang_IllegalArgumentException_idl__
37 #include
<com
/sun
/star
/lang
/IllegalArgumentException.idl
>
39 #ifndef __com_sun_star_geometry_RealPoint2D_idl__
40 #include
<com
/sun
/star
/geometry
/RealPoint2D.idl
>
42 #ifndef __com_sun_star_rendering_XPolyPolygon2D_idl__
43 #include
<com
/sun
/star
/rendering
/XPolyPolygon2D.idl
>
45 #ifndef __com_sun_star_rendering_XColorSpace_idl__
46 #include
<com
/sun
/star
/rendering
/XColorSpace.idl
>
49 module com
{ module sun
{ module star
{ module rendering
{
51 /** Interface to a dynamic poly-polygon generator, that generates
52 poly-polygons depending on a given parameter value.<p>
54 The returned poly-polygon should normally be contained in the
55 [0,1]x[0,1] rectangle. At least that is the dimension expected at
56 other places. e.g. <type>Texture</type>.
58 interface XParametricPolyPolygon2D
: ::com
::sun
::star
::uno
::XInterface
60 /** Query the polygonal outline at the specified value.
62 The returned outline should be clipped to the [0,1]x[0,1]
66 Parameter value in the range [0,1]. During painting, this
67 range is sweeped through starting from 0. When using such a
68 parametric polypolygon for gradients, the area covered by the
69 returned XPolyPolygon2D should be monotonically decreasing
70 with t (unless singularities in e.g. the resulting gradient
73 XPolyPolygon2D getOutline
( [in] double t
)
74 raises
(com
::sun
::star
::lang
::IllegalArgumentException
);
76 //-------------------------------------------------------------------------
78 /** Query the color value for the polygonal area at the specified
82 Parameter value in the range [0,1]. During painting, this
83 range is swept through starting from 0.
85 sequence
<ColorComponent
> getColor
( [in] double t
)
86 raises
(com
::sun
::star
::lang
::IllegalArgumentException
);
88 //-------------------------------------------------------------------------
90 /** Query the color for a dedicated point in the plane.
93 The permissible parameter range for point is [0,1]x[0,1]
95 sequence
<ColorComponent
> getPointColor
( [in] ::com
::sun
::star
::geometry
::RealPoint2D point
)
96 raises
(com
::sun
::star
::lang
::IllegalArgumentException
);
98 //-------------------------------------------------------------------------
100 /** Query the color space employed by this object
102 @return the color space the colors generated by this object
103 are to be interpreted in.
105 XColorSpace getColorSpace
();