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