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_drawing_Shape_idl__ 28#define __com_sun_star_drawing_Shape_idl__ 29 30#ifndef __com_sun_star_document_LinkTarget_idl__ 31#include <com/sun/star/document/LinkTarget.idl> 32#endif 33 34#ifndef __com_sun_star_drawing_XShape_idl__ 35#include <com/sun/star/drawing/XShape.idl> 36#endif 37 38#ifndef __com_sun_star_lang_XComponent_idl__ 39#include <com/sun/star/lang/XComponent.idl> 40#endif 41 42#ifndef __com_sun_star_style_XStyle_idl__ 43#include <com/sun/star/style/XStyle.idl> 44#endif 45 46#ifndef __com_sun_star_drawing_HomogenMatrix3_idl__ 47#include <com/sun/star/drawing/HomogenMatrix3.idl> 48#endif 49 50#ifndef __com_sun_star_drawing_XGluePointsSupplier_idl__ 51#include <com/sun/star/drawing/XGluePointsSupplier.idl> 52#endif 53 54#ifndef __com_sun_star_container_XNameContainer_idl__ 55#include <com/sun/star/container/XNameContainer.idl> 56#endif 57 58#ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__ 59#include <com/sun/star/beans/XTolerantMultiPropertySet.idl> 60#endif 61 62//============================================================================= 63 64 module com { module sun { module star { module drawing { 65 66//============================================================================= 67 68/** This abstract service specifies the general characteristics of all 69 <type>Shape</type>s. 70 71 @see XShape 72 @see com::sun::star::lang::XComponent 73 @see com::sun::star::text::XText 74 @see ShapeDescriptor 75 */ 76published service Shape 77{ 78 //------------------------------------------------------------------------- 79 80 /** handles all the properties of this instance. 81 */ 82 interface com::sun::star::beans::XPropertySet; 83 84 //------------------------------------------------------------------------- 85 86 /** This gives you the size and position of this <type>Shape</type> 87 and lets you change it. You can use <member>getShapeType</member> 88 to determine what kind of shape this is. 89 */ 90 interface com::sun::star::drawing::XShape; 91 92 //------------------------------------------------------------------------- 93 94 /** is used for lifetime control of this <type>Shape</type>. 95 */ 96 interface com::sun::star::lang::XComponent; 97 98 //------------------------------------------------------------------------- 99 100 /** The <type>XShapeDescriptor</type> tells you what kind of 101 <type>Shape</type> this instance is. 102 */ 103 interface com::sun::star::drawing::XShapeDescriptor; 104 105 //------------------------------------------------------------------------- 106 107 /** This interfaces gives access to an optional container of glue points. 108 To have unique ids you should query the returned interface for 109 <type scope="com::sun::star::container">XIdentifierContainer</type>. 110 */ 111 [optional] interface com::sun::star::drawing::XGluePointsSupplier; 112 113 //------------------------------------------------------------------------- 114 115 [optional] interface com::sun::star::beans::XTolerantMultiPropertySet; 116 117 //------------------------------------------------------------------------- 118 119 /** is used to query or change the ZOrder of this <type>Shape</type>. */ 120 [optional, property] long ZOrder; 121 122 //------------------------------------------------------------------------- 123 124 /** This is the ID of the <type>Layer</type> to which this 125 <type>Shape</type> is attached. 126 */ 127 [optional, property] short LayerID; 128 129 //------------------------------------------------------------------------- 130 131 /** This is the name of the <type>Layer</type> to which this 132 <type>Shape</type> is attached. 133 */ 134 [optional, property] string LayerName; 135 136 //------------------------------------------------------------------------- 137 138 /** If this is <FALSE/>, the <type>Shape</type> is not visible 139 on screen outputs. Please note that the <type>Shape</type> may still 140 be visible when printed, see <member>Printable</member>. 141 */ 142 [optional, property] boolean Visible; 143 144 //------------------------------------------------------------------------- 145 146 /** If this is <FALSE/>, the <type>Shape</type> is not visible 147 on printer outputs. 148 */ 149 [optional, property] boolean Printable; 150 151 //------------------------------------------------------------------------- 152 153 /** With this set to <TRUE/>, this <type>Shape</type> 154 cannot be moved interactively in the user interface. 155 */ 156 [optional, property] boolean MoveProtect; 157 158 //------------------------------------------------------------------------- 159 160 /** This is the name of this <type>Shape</type>. 161 */ 162 [optional, property] string Name; 163 164 //------------------------------------------------------------------------- 165 166 /** With this set to <TRUE/>, this <type>Shape</type> may not be 167 sized interactively in the user interface. 168 */ 169 [optional, property] boolean SizeProtect; 170 171 //------------------------------------------------------------------------- 172 173 /** this property lets you get and set a style for this shape. 174 */ 175 [optional, property] com::sun::star::style::XStyle Style; 176 177 //------------------------------------------------------------------------- 178 179 /** this property lets you get and set the transformation matrix 180 for this shape. 181 182 The transformation is a 3x3 homogen matrix and can contain 183 translation, rotation, shearing and scaling. 184 */ 185 [optional, property] com::sun::star::drawing::HomogenMatrix3 Transformation; 186 187 //------------------------------------------------------------------------- 188 189 /** this property stores xml attributes. 190 They will be saved to and restored from automatic styles inside xml files. 191 192 @see com::sun::star::xml::AttributeContainer 193 */ 194 [optional, property] com::sun::star::container::XNameContainer ShapeUserDefinedAttributes; 195 196 //------------------------------------------------------------------------- 197 198 /** this property stores the navigation order of this shape. If this value 199 is negative, the navigation order for this shapes page is equal to 200 the z-order. 201 */ 202 [optional, property] long NavigationOrder; 203}; 204 205//============================================================================= 206 207}; }; }; }; 208 209#endif 210 211