1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: Shape.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_drawing_Shape_idl__
31 #define __com_sun_star_drawing_Shape_idl__
33 #ifndef __com_sun_star_document_LinkTarget_idl__
34 #include
<com
/sun
/star
/document
/LinkTarget.idl
>
37 #ifndef __com_sun_star_drawing_XShape_idl__
38 #include
<com
/sun
/star
/drawing
/XShape.idl
>
41 #ifndef __com_sun_star_lang_XComponent_idl__
42 #include
<com
/sun
/star
/lang
/XComponent.idl
>
45 #ifndef __com_sun_star_style_XStyle_idl__
46 #include
<com
/sun
/star
/style
/XStyle.idl
>
49 #ifndef __com_sun_star_drawing_HomogenMatrix3_idl__
50 #include
<com
/sun
/star
/drawing
/HomogenMatrix3.idl
>
53 #ifndef __com_sun_star_drawing_XGluePointsSupplier_idl__
54 #include
<com
/sun
/star
/drawing
/XGluePointsSupplier.idl
>
57 #ifndef __com_sun_star_container_XNameContainer_idl__
58 #include
<com
/sun
/star
/container
/XNameContainer.idl
>
61 #ifndef __com_sun_star_beans_XTolerantMultiPropertySet_idl__
62 #include
<com
/sun
/star
/beans
/XTolerantMultiPropertySet.idl
>
65 //=============================================================================
67 module com
{ module sun
{ module star
{ module drawing
{
69 //=============================================================================
71 /** This abstract service specifies the general characteristics of all
75 @see com::sun::star::lang::XComponent
76 @see com::sun::star::text::XText
79 published service Shape
81 //-------------------------------------------------------------------------
83 /** handles all the properties of this instance.
85 interface com
::sun
::star
::beans
::XPropertySet
;
87 //-------------------------------------------------------------------------
89 /** This gives you the size and position of this <type>Shape</type>
90 and lets you change it. You can use <member>getShapeType</member>
91 to determine what kind of shape this is.
93 interface com
::sun
::star
::drawing
::XShape
;
95 //-------------------------------------------------------------------------
97 /** is used for lifetime control of this <type>Shape</type>.
99 interface com
::sun
::star
::lang
::XComponent
;
101 //-------------------------------------------------------------------------
103 /** The <type>XShapeDescriptor</type> tells you what kind of
104 <type>Shape</type> this instance is.
106 interface com
::sun
::star
::drawing
::XShapeDescriptor
;
108 //-------------------------------------------------------------------------
110 /** This interfaces gives access to an optional container of glue points.
111 To have unique ids you should query the returned interface for
112 <type scope="com::sun::star::container">XIdentifierContainer</type>.
114 [optional] interface com
::sun
::star
::drawing
::XGluePointsSupplier
;
116 //-------------------------------------------------------------------------
118 [optional] interface com
::sun
::star
::beans
::XTolerantMultiPropertySet
;
120 //-------------------------------------------------------------------------
122 /** is used to query or change the ZOrder of this <type>Shape</type>. */
123 [optional, property
] long ZOrder
;
125 //-------------------------------------------------------------------------
127 /** This is the ID of the <type>Layer</type> to which this
128 <type>Shape</type> is attached.
130 [optional, property
] short LayerID
;
132 //-------------------------------------------------------------------------
134 /** This is the name of the <type>Layer</type> to which this
135 <type>Shape</type> is attached.
137 [optional, property
] string LayerName
;
139 //-------------------------------------------------------------------------
141 /** If this is <FALSE/>, the <type>Shape</type> is not visible
144 [optional, property
] boolean Printable
;
146 //-------------------------------------------------------------------------
148 /** With this set to <TRUE/>, this <type>Shape</type>
149 cannot be moved interactively in the user interface.
151 [optional, property
] boolean MoveProtect
;
153 //-------------------------------------------------------------------------
155 /** This is the name of this <type>Shape</type>.
157 [optional, property
] string Name
;
159 //-------------------------------------------------------------------------
161 /** With this set to <TRUE/>, this <type>Shape</type> may not be
162 sized interactively in the user interface.
164 [optional, property
] boolean SizeProtect
;
166 //-------------------------------------------------------------------------
168 /** this property lets you get and set a style for this shape.
170 [optional, property
] com
::sun
::star
::style
::XStyle Style
;
172 //-------------------------------------------------------------------------
174 /** this property lets you get and set the transformation matrix
177 The transformation is a 3x3 homogen matrix and can contain
178 translation, rotation, shearing and scaling.
180 [optional, property
] com
::sun
::star
::drawing
::HomogenMatrix3 Transformation
;
182 //-------------------------------------------------------------------------
184 /** this property stores xml attributes.
185 They will be saved to and restored from automatic styles inside xml files.
187 @see com::sun::star::xml::AttributeContainer
189 [optional, property
] com
::sun
::star
::container
::XNameContainer ShapeUserDefinedAttributes
;
191 //-------------------------------------------------------------------------
193 /** this property stores the navigation order of this shape. If this value
194 is negative, the navigation order for this shapes page is equal to
197 [optional, property
] long NavigationOrder
;
199 /** this property lets you get and set a hyperlink for this shape.
201 [optional, property
] string Hyperlink
;
204 //=============================================================================