1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_drawing_EnhancedCustomShapeGeometry_idl__
20 #define __com_sun_star_drawing_EnhancedCustomShapeGeometry_idl__
22 #include
<com
/sun
/star
/awt
/Rectangle.idl
>
23 #include
<com
/sun
/star
/beans
/PropertyValue.idl
>
24 #include
<com
/sun
/star
/beans
/PropertyValues.idl
>
25 #include
<com
/sun
/star
/drawing
/EnhancedCustomShapeHandle.idl
>
26 #include
<com
/sun
/star
/drawing
/EnhancedCustomShapeAdjustmentValue.idl
>
29 module com
{ module sun
{ module star
{ module drawing
{
32 This service may be represented by a ::com::sun::star::beans::PropertyValue [].
35 service EnhancedCustomShapeGeometry
38 The Type attribute contains the name of a shape type. This name can be
39 used to offer specialized user interfaces for certain classes of shapes, like
40 for arrows, smileys, etc. The shape type is rendering engine dependent and does
41 not influence the geometry of the shape. If the value of the draw:type
42 attribute is non-primitive, then no shape type is available.
44 [property
] string Type
;
46 /** This property describes the user space of the shape in its canonical form
48 [optional, property
] ::com
::sun
::star
::awt
::Rectangle ViewBox
;
50 /** This property specifies if the orientation of the shape is horizontal mirrored.
52 [optional, property
] boolean MirroredX
;
54 /** This property specifies if the orientation of the shape is vertical mirrored.
56 [optional, property
] boolean MirroredY
;
58 /** This property specifies the text rotation angle in degrees. The text rotation is added
59 to the shape geometry rotation.
61 [optional, property
] double TextRotateAngle
;
63 /** This property specifies a sequence of Adjustment values.
65 [optional, property
] sequence
<::com
::sun
::star
::drawing
::EnhancedCustomShapeAdjustmentValue
> AdjustmentValues
;
67 /** This property sequence is including the extrusion description, the properties
68 are as same as specified in the service com::sun::star:drawing::EnhancedCustomShapeExtrusion
70 [optional, property
] sequence
<::com
::sun
::star
::beans
::PropertyValue
> Extrusion
;
72 /** This property sequence is including the path description, the properties
73 are as same as specified in the service com::sun::star:drawing::EnhancedCustomShapePath
75 [optional, property
] sequence
<::com
::sun
::star
::beans
::PropertyValue
> Path
;
77 /** This property sequence is including the text path description, the properties
78 are as same as specified in the service com::sun::star:drawing::EnhancedCustomShapeTextPath
80 [optional, property
] sequence
<::com
::sun
::star
::beans
::PropertyValue
> TextPath
;
82 /** This property is describing the equations that are used, each equation can be referenced
83 by com::sun::star::drawing::EnhancedCustomShapeParameter which are often used in Path, Extrusion
84 and or Handle descriptions.
86 [optional, property
] sequence
<string> Equations
;
88 /** This property is describing the interaction handles that are used, each inner property sequence
89 is having the same properties as they are specified in the service com::sun::star:drawing::EnhancedCustomShapeHandle
91 [optional, property
] sequence
<::com
::sun
::star
::beans
::PropertyValues
> Handles
;
99 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */