Update ooo320-m1
[ooovba.git] / offapi / com / sun / star / rendering / XLinePolyPolygon2D.idl
blobeb628ceadd38183cae77aefc5ce6762876b5853d
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XLinePolyPolygon2D.idl,v $
10 * $Revision: 1.6 $
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_XLinePolyPolygon2D_idl__
31 #define __com_sun_star_rendering_XLinePolyPolygon2D_idl__
33 #ifndef __com_sun_star_uno_XInterface_idl__
34 #include <com/sun/star/uno/XInterface.idl>
35 #endif
36 #ifndef __com_sun_star_lang_IndexOutOfBoundsException_idl__
37 #include <com/sun/star/lang/IndexOutOfBoundsException.idl>
38 #endif
39 #ifndef __com_sun_star_geometry_RealPoint2D_idl__
40 #include <com/sun/star/geometry/RealPoint2D.idl>
41 #endif
42 #ifndef __com_sun_star_rendering_XPolyPolygon2D_idl__
43 #include <com/sun/star/rendering/XPolyPolygon2D.idl>
44 #endif
46 module com { module sun { module star { module rendering {
48 /** Specialized interface for a 2D poly-polygon containing only straight line segments.
50 @since OOo 2.0.0
52 interface XLinePolyPolygon2D : XPolyPolygon2D
54 /** Query subset of this poly-polygon, starting at the given
55 polygon and the given point within that polygon, and
56 containing the specified number of polygons and points in the
57 last polygon.
59 @param nPolygonIndex
60 The index number of the polygon to start with extracting
61 points. Set to 0 to start with the first polygon.
63 @param nNumberOfPolygons
64 The number of polygons, starting with nPolygonIndex, to
65 extract points from. Set to -1 to extract all polygons,
66 starting with nPolygonIndex (i.e. a total of
67 getNumberOfPolygons() - nPolygonIndex polygons is extracted).
69 @param nPointIndex
70 The index of the point within the first polygon (that with the
71 index number nPolygonIndex) to start extraction with. Set to 0
72 to start with the first point in this polygon.
74 @param nNumberOfPoints
75 The number of points in the last polygon of the extraction
76 sequence, to be extracted. Set to -1 to extract all points
77 from the last polygon.
79 sequence< sequence< ::com::sun::star::geometry::RealPoint2D > > getPoints( [in] long nPolygonIndex, [in] long nNumberOfPolygons, [in] long nPointIndex, [in] long nNumberOfPoints )
80 raises (com::sun::star::lang::IndexOutOfBoundsException);
82 //-------------------------------------------------------------------------
84 /** Set the specified sequence of points to the poly-polygon.
86 This method can either set the whole poly-polygon to the new
87 data, or insert the points at the given index
89 @param nPolygonIndex
90 The index of the polygon to start point insertion with. This
91 index must be in the range [0,numPolygons], and the insertion
92 will take place <em>before</em> this position (i.e. when
93 specifying 0 here, the given point sequence will precede all
94 existing polygons already within the poly-polygon). To append
95 to a poly-polygon, call setPoints() with
96 <member>XLinePolyPolygon2D::getNumberOfPolygons()</member>
97 as the polygon index. If nPolygonIndex is -1, the given
98 sequence of points <em>replaces</em> the poly-polygon content,
99 such that after this method completes, it contains exactly the
100 specified point data.
102 @throws <type>com::sun::star::lang::IndexOutOfBoundsException</type>
103 if one of the given values exceed the permissible range.
105 void setPoints( [in] sequence< sequence< ::com::sun::star::geometry::RealPoint2D > > points, [in] long nPolygonIndex )
106 raises (com::sun::star::lang::IndexOutOfBoundsException);
108 //-------------------------------------------------------------------------
110 /** Get a single point from the poly-polygon
112 ::com::sun::star::geometry::RealPoint2D getPoint( [in] long nPolygonIndex, [in] long nPointIndex )
113 raises (com::sun::star::lang::IndexOutOfBoundsException);
115 //-------------------------------------------------------------------------
117 /** Set a single point on the poly-polygon. The remaining points of
118 the poly-polygon will not be changed by this method.
120 void setPoint( [in] ::com::sun::star::geometry::RealPoint2D point, [in] long nPolygonIndex, [in] long nPointIndex )
121 raises (com::sun::star::lang::IndexOutOfBoundsException);
124 }; }; }; };
126 #endif