xref: /aoo41x/main/offapi/com/sun/star/awt/XRegion.idl (revision cdf0e10c)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
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.
14 *
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).
20 *
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.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_awt_XRegion_idl__
28#define __com_sun_star_awt_XRegion_idl__
29
30#ifndef __com_sun_star_uno_XInterface_idl__
31#include <com/sun/star/uno/XInterface.idl>
32#endif
33
34#ifndef __com_sun_star_awt_Rectangle_idl__
35#include <com/sun/star/awt/Rectangle.idl>
36#endif
37
38
39//=============================================================================
40
41 module com {  module sun {  module star {  module awt {
42
43//=============================================================================
44
45/** manages multiple rectangles which make up a region.
46 */
47published interface XRegion: com::sun::star::uno::XInterface
48{
49	//-------------------------------------------------------------------------
50
51	/** returns the bounding box of the shape.
52	 */
53	Rectangle getBounds();
54
55	//-------------------------------------------------------------------------
56
57	/** makes this region an empty region.
58	 */
59	[oneway] void clear();
60
61	//-------------------------------------------------------------------------
62
63	/** moves this region by the specified horizontal and vertical delta.
64	 */
65	[oneway] void move( [in] long nHorzMove,
66			 [in] long nVertMove );
67
68	//-------------------------------------------------------------------------
69
70	/** adds the specified rectangle to this region.
71	 */
72	[oneway] void unionRectangle( [in] Rectangle Rect );
73
74	//-------------------------------------------------------------------------
75
76	/** intersects the specified rectangle with the current region.
77	 */
78	[oneway] void intersectRectangle( [in] Rectangle Region );
79
80	//-------------------------------------------------------------------------
81
82	/** removes the area of the specified rectangle from this region.
83	 */
84	[oneway] void excludeRectangle( [in] Rectangle Rect );
85
86	//-------------------------------------------------------------------------
87
88	/** applies an exclusive-or operation with the specified rectangle
89        to this region.
90	 */
91	[oneway] void xOrRectangle( [in] Rectangle Rect );
92
93	//-------------------------------------------------------------------------
94
95	/** adds the specified region to this region.
96	 */
97	[oneway] void unionRegion( [in] XRegion Region );
98
99	//-------------------------------------------------------------------------
100
101	/** intersects the specified region with the current region.
102	 */
103	[oneway] void intersectRegion( [in] XRegion Region );
104
105	//-------------------------------------------------------------------------
106
107	/** removes the area of the specified region from this region.
108	 */
109	[oneway] void excludeRegion( [in] XRegion Region );
110
111	//-------------------------------------------------------------------------
112
113	/** applies an exclusive-or operation with the specified region
114        to this region.
115	 */
116	[oneway] void xOrRegion( [in] XRegion Region );
117
118	//-------------------------------------------------------------------------
119
120	/** returns all rectangles which are making up this region.
121	 */
122	sequence<Rectangle> getRectangles();
123
124};
125
126//=============================================================================
127
128}; }; }; };
129
130#endif
131