xref: /aoo41x/main/offapi/com/sun/star/drawing/Shape.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_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