1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_awt_XRegion_idl__ 24#define __com_sun_star_awt_XRegion_idl__ 25 26#ifndef __com_sun_star_uno_XInterface_idl__ 27#include <com/sun/star/uno/XInterface.idl> 28#endif 29 30#ifndef __com_sun_star_awt_Rectangle_idl__ 31#include <com/sun/star/awt/Rectangle.idl> 32#endif 33 34 35//============================================================================= 36 37 module com { module sun { module star { module awt { 38 39//============================================================================= 40 41/** manages multiple rectangles which make up a region. 42 */ 43published interface XRegion: com::sun::star::uno::XInterface 44{ 45 //------------------------------------------------------------------------- 46 47 /** returns the bounding box of the shape. 48 */ 49 Rectangle getBounds(); 50 51 //------------------------------------------------------------------------- 52 53 /** makes this region an empty region. 54 */ 55 [oneway] void clear(); 56 57 //------------------------------------------------------------------------- 58 59 /** moves this region by the specified horizontal and vertical delta. 60 */ 61 [oneway] void move( [in] long nHorzMove, 62 [in] long nVertMove ); 63 64 //------------------------------------------------------------------------- 65 66 /** adds the specified rectangle to this region. 67 */ 68 [oneway] void unionRectangle( [in] Rectangle Rect ); 69 70 //------------------------------------------------------------------------- 71 72 /** intersects the specified rectangle with the current region. 73 */ 74 [oneway] void intersectRectangle( [in] Rectangle Region ); 75 76 //------------------------------------------------------------------------- 77 78 /** removes the area of the specified rectangle from this region. 79 */ 80 [oneway] void excludeRectangle( [in] Rectangle Rect ); 81 82 //------------------------------------------------------------------------- 83 84 /** applies an exclusive-or operation with the specified rectangle 85 to this region. 86 */ 87 [oneway] void xOrRectangle( [in] Rectangle Rect ); 88 89 //------------------------------------------------------------------------- 90 91 /** adds the specified region to this region. 92 */ 93 [oneway] void unionRegion( [in] XRegion Region ); 94 95 //------------------------------------------------------------------------- 96 97 /** intersects the specified region with the current region. 98 */ 99 [oneway] void intersectRegion( [in] XRegion Region ); 100 101 //------------------------------------------------------------------------- 102 103 /** removes the area of the specified region from this region. 104 */ 105 [oneway] void excludeRegion( [in] XRegion Region ); 106 107 //------------------------------------------------------------------------- 108 109 /** applies an exclusive-or operation with the specified region 110 to this region. 111 */ 112 [oneway] void xOrRegion( [in] XRegion Region ); 113 114 //------------------------------------------------------------------------- 115 116 /** returns all rectangles which are making up this region. 117 */ 118 sequence<Rectangle> getRectangles(); 119 120}; 121 122//============================================================================= 123 124}; }; }; }; 125 126#endif 127