xref: /aoo41x/main/offapi/com/sun/star/drawing/Shape.idl (revision d1766043)
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