1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
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 .
18  */
19 
20 #ifndef INCLUDED_SVX_UNOSHPRP_HXX
21 #define INCLUDED_SVX_UNOSHPRP_HXX
22 
23 #include <com/sun/star/drawing/PointSequence.hpp>
24 #include <com/sun/star/drawing/PointSequenceSequence.hpp>
25 #include <com/sun/star/uno/Sequence.hxx>
26 #include <com/sun/star/drawing/RectanglePoint.hpp>
27 #include <com/sun/star/awt/XBitmap.hpp>
28 #include <com/sun/star/awt/Gradient.hpp>
29 #include <com/sun/star/drawing/Hatch.hpp>
30 #include <com/sun/star/drawing/FillStyle.hpp>
31 #include <com/sun/star/drawing/LineCap.hpp>
32 #include <com/sun/star/drawing/LineDash.hpp>
33 #include <com/sun/star/drawing/LineJoint.hpp>
34 #include <com/sun/star/drawing/LineStyle.hpp>
35 #include <com/sun/star/beans/PropertyAttribute.hpp>
36 #include <com/sun/star/awt/Rectangle.hpp>
37 #include <com/sun/star/drawing/TextAnimationDirection.hpp>
38 #include <com/sun/star/drawing/TextAnimationKind.hpp>
39 #include <com/sun/star/drawing/TextFitToSizeType.hpp>
40 #include <com/sun/star/drawing/TextVerticalAdjust.hpp>
41 #include <com/sun/star/drawing/TextHorizontalAdjust.hpp>
42 #include <com/sun/star/drawing/ConnectorType.hpp>
43 #include <com/sun/star/drawing/XShape.hpp>
44 #include <com/sun/star/drawing/MeasureKind.hpp>
45 #include <com/sun/star/drawing/MeasureTextHorzPos.hpp>
46 #include <com/sun/star/drawing/MeasureTextVertPos.hpp>
47 #include <com/sun/star/drawing/HomogenMatrix3.hpp>
48 #include <com/sun/star/drawing/CircleKind.hpp>
49 #include <com/sun/star/drawing/PolygonKind.hpp>
50 #include <com/sun/star/drawing/PolyPolygonBezierCoords.hpp>
51 #include <com/sun/star/drawing/ColorMode.hpp>
52 #include <com/sun/star/drawing/HomogenMatrix.hpp>
53 #include <com/sun/star/drawing/Direction3D.hpp>
54 #include <com/sun/star/drawing/ProjectionMode.hpp>
55 #include <com/sun/star/drawing/ShadeMode.hpp>
56 #include <com/sun/star/drawing/Position3D.hpp>
57 #include <com/sun/star/drawing/NormalsKind.hpp>
58 #include <com/sun/star/drawing/TextureKind.hpp>
59 #include <com/sun/star/drawing/TextureMode.hpp>
60 #include <com/sun/star/drawing/TextureProjectionMode.hpp>
61 #include <com/sun/star/drawing/PolyPolygonShape3D.hpp>
62 #include <com/sun/star/text/GraphicCrop.hpp>
63 #include <com/sun/star/text/XTextColumns.hpp>
64 #include <com/sun/star/drawing/BitmapMode.hpp>
65 #include <com/sun/star/drawing/CameraGeometry.hpp>
66 #include <com/sun/star/text/WritingMode.hpp>
67 #include <com/sun/star/graphic/XGraphic.hpp>
68 #include <com/sun/star/drawing/QRCode.hpp>
69 
70 #include <editeng/unoprnms.hxx>
71 #include <svx/svddef.hxx>
72 #include <svx/unomid.hxx>
73 #include <editeng/unotext.hxx>
74 
75 #include <editeng/memberids.h>
76 #include <svl/solar.hrc>
77 
78 #define OWN_ATTR_VALUE_START_TEXT               (OWN_ATTR_VALUE_START+0)    // the next 10 entries are reserved for text
79 #define OWN_ATTR_VALUE_POLYGONKIND              (OWN_ATTR_VALUE_START+10)
80 #define OWN_ATTR_VALUE_POLYPOLYGON              (OWN_ATTR_VALUE_START+11)
81 #define OWN_ATTR_VALUE_POLYPOLYGONBEZIER        (OWN_ATTR_VALUE_START+12)
82 #define OWN_ATTR_VALUE_FILLBITMAP               (OWN_ATTR_VALUE_START+13)
83 #define OWN_ATTR_3D_VALUE_TRANSFORM_MATRIX      (OWN_ATTR_VALUE_START+14)
84 #define OWN_ATTR_3D_VALUE_POSITION              (OWN_ATTR_VALUE_START+15)
85 #define OWN_ATTR_3D_VALUE_SIZE                  (OWN_ATTR_VALUE_START+16)
86 #define OWN_ATTR_3D_VALUE_POS_IS_CENTER         (OWN_ATTR_VALUE_START+17)
87 #define OWN_ATTR_3D_VALUE_POLYPOLYGON3D         (OWN_ATTR_VALUE_START+18)
88 #define OWN_ATTR_3D_VALUE_LINEONLY              (OWN_ATTR_VALUE_START+19)
89 #define OWN_ATTR_BITMAP                         (OWN_ATTR_VALUE_START+20)
90 #define OWN_ATTR_EDGE_START_OBJ                 (OWN_ATTR_VALUE_START+21)
91 #define OWN_ATTR_EDGE_START_POS                 (OWN_ATTR_VALUE_START+22)
92 #define OWN_ATTR_EDGE_END_OBJ                   (OWN_ATTR_VALUE_START+23)
93 #define OWN_ATTR_EDGE_END_POS                   (OWN_ATTR_VALUE_START+24)
94 #define OWN_ATTR_FRAMERECT                      (OWN_ATTR_VALUE_START+25)
95 #define OWN_ATTR_VALUE_POLYGON                  (OWN_ATTR_VALUE_START+26)
96 #define OWN_ATTR_METAFILE                       (OWN_ATTR_VALUE_START+27)
97 #define OWN_ATTR_ISFONTWORK                     (OWN_ATTR_VALUE_START+28)
98 #define OWN_ATTR_BOUNDRECT                      (OWN_ATTR_VALUE_START+29)
99 #define OWN_ATTR_LDNAME                         (OWN_ATTR_VALUE_START+30)
100 #define OWN_ATTR_LDBITMAP                       (OWN_ATTR_VALUE_START+31)
101 #define OWN_ATTR_OLESIZE                        (OWN_ATTR_VALUE_START+32)
102 #define OWN_ATTR_GRAPHIC_URL                    (OWN_ATTR_VALUE_START+33)
103 #define OWN_ATTR_OLEMODEL                       (OWN_ATTR_VALUE_START+34)
104 #define OWN_ATTR_MIRRORED                       (OWN_ATTR_VALUE_START+35)
105 #define OWN_ATTR_CLSID                          (OWN_ATTR_VALUE_START+36)
106 #define OWN_ATTR_GLUEID_TAIL                    (OWN_ATTR_VALUE_START+37)
107 #define OWN_ATTR_GLUEID_HEAD                    (OWN_ATTR_VALUE_START+38)
108 #define OWN_ATTR_ZORDER                         (OWN_ATTR_VALUE_START+39)
109 #define OWN_ATTR_MEASURE_START_POS              (OWN_ATTR_VALUE_START+40)
110 #define OWN_ATTR_MEASURE_END_POS                (OWN_ATTR_VALUE_START+41)
111 #define OWN_ATTR_3D_VALUE_CAMERA_GEOMETRY       (OWN_ATTR_VALUE_START+42)
112 #define OWN_ATTR_WRITINGMODE                    (OWN_ATTR_VALUE_START+43)
113 #define OWN_ATTR_GRAFSTREAMURL                  (OWN_ATTR_VALUE_START+44)
114 #define OWN_ATTR_FILLBMP_MODE                   (OWN_ATTR_VALUE_START+45)
115 #define OWN_ATTR_TRANSFORMATION                 (OWN_ATTR_VALUE_START+46)
116 #define OWN_ATTR_BASE_GEOMETRY                  (OWN_ATTR_VALUE_START+47)
117 
118 /// reuse attr slots for GraphicObject which will never be used together with graphic object
119 #define OWN_ATTR_REPLACEMENT_GRAPHIC            (OWN_ATTR_VALUE_START+14)
120 
121 #define OWN_ATTR_APPLET_DOCBASE                 (OWN_ATTR_VALUE_START+48)
122 #define OWN_ATTR_APPLET_CODEBASE                (OWN_ATTR_VALUE_START+49)
123 #define OWN_ATTR_APPLET_NAME                    (OWN_ATTR_VALUE_START+50)
124 #define OWN_ATTR_APPLET_CODE                    (OWN_ATTR_VALUE_START+51)
125 #define OWN_ATTR_APPLET_COMMANDS                (OWN_ATTR_VALUE_START+52)
126 #define OWN_ATTR_APPLET_ISSCRIPT                (OWN_ATTR_VALUE_START+53)
127 #define OWN_ATTR_PLUGIN_MIMETYPE                (OWN_ATTR_VALUE_START+54)
128 #define OWN_ATTR_PLUGIN_URL                     (OWN_ATTR_VALUE_START+55)
129 #define OWN_ATTR_PLUGIN_COMMANDS                (OWN_ATTR_VALUE_START+56)
130 #define OWN_ATTR_FRAME_URL                      (OWN_ATTR_VALUE_START+57)
131 #define OWN_ATTR_FRAME_NAME                     (OWN_ATTR_VALUE_START+58)
132 #define OWN_ATTR_FRAME_ISAUTOSCROLL             (OWN_ATTR_VALUE_START+59)
133 #define OWN_ATTR_FRAME_ISBORDER                 (OWN_ATTR_VALUE_START+60)
134 #define OWN_ATTR_FRAME_MARGIN_WIDTH             (OWN_ATTR_VALUE_START+61)
135 #define OWN_ATTR_FRAME_MARGIN_HEIGHT            (OWN_ATTR_VALUE_START+62)
136 
137 // reuse own attr from ole shapes for tables
138 #define OWN_ATTR_TABLETEMPLATE                  (OWN_ATTR_VALUE_START+48)
139 #define OWN_ATTR_TABLETEMPLATE_FIRSTROW         (OWN_ATTR_VALUE_START+49)
140 #define OWN_ATTR_TABLETEMPLATE_LASTROW          (OWN_ATTR_VALUE_START+50)
141 #define OWN_ATTR_TABLETEMPLATE_FIRSTCOLUMN      (OWN_ATTR_VALUE_START+51)
142 #define OWN_ATTR_TABLETEMPLATE_LASTCOLUMN       (OWN_ATTR_VALUE_START+52)
143 #define OWN_ATTR_TABLETEMPLATE_BANDINGROWS      (OWN_ATTR_VALUE_START+53)
144 #define OWN_ATTR_TABLETEMPLATE_BANDINGCOLUMNS   (OWN_ATTR_VALUE_START+54)
145 #define OWN_ATTR_TABLEBORDER                    (OWN_ATTR_VALUE_START+55)
146 
147 #define OWN_ATTR_OLE_VISAREA                    (OWN_ATTR_VALUE_START+63)
148 #define OWN_ATTR_CAPTION_POINT                  (OWN_ATTR_VALUE_START+64)
149 #define OWN_ATTR_PAGE_NUMBER                    (OWN_ATTR_VALUE_START+65)
150 #define OWN_ATTR_THUMBNAIL                      (OWN_ATTR_VALUE_START+66)
151 #define OWN_ATTR_PERSISTNAME                    (OWN_ATTR_VALUE_START+67)
152 #define OWN_ATTR_OLE_EMBEDDED_OBJECT_NONEWCLIENT    (OWN_ATTR_VALUE_START+68)
153 #define OWN_ATTR_MEDIA_URL                      (OWN_ATTR_VALUE_START+69)
154 #define OWN_ATTR_MEDIA_PREFERREDSIZE            (OWN_ATTR_VALUE_START+70)
155 #define OWN_ATTR_MEDIA_LOOP                     (OWN_ATTR_VALUE_START+71)
156 #define OWN_ATTR_MEDIA_MUTE                     (OWN_ATTR_VALUE_START+72)
157 #define OWN_ATTR_MEDIA_VOLUMEDB                 (OWN_ATTR_VALUE_START+73)
158 #define OWN_ATTR_MEDIA_ZOOM                     (OWN_ATTR_VALUE_START+74)
159 #define OWN_ATTR_UINAME_SINGULAR                (OWN_ATTR_VALUE_START+75)
160 #define OWN_ATTR_UINAME_PLURAL                  (OWN_ATTR_VALUE_START+76)
161 #define OWN_ATTR_VALUE_GRAPHIC                  (OWN_ATTR_VALUE_START+77)
162 #define OWN_ATTR_INTERNAL_OLE                   (OWN_ATTR_VALUE_START+78)
163 #define OWN_ATTR_OLE_EMBEDDED_OBJECT            (OWN_ATTR_VALUE_START+79)
164 #define OWN_ATTR_OLE_ASPECT                     (OWN_ATTR_VALUE_START+80)
165 
166 // #i68101#
167 #define OWN_ATTR_MISC_OBJ_TITLE                 (OWN_ATTR_VALUE_START+81)
168 #define OWN_ATTR_MISC_OBJ_DESCRIPTION           (OWN_ATTR_VALUE_START+82)
169 
170 #define OWN_ATTR_GRAPHIC_STREAM                 (OWN_ATTR_VALUE_START+83)
171 #define OWN_ATTR_3D_VALUE_NORMALSPOLYGON3D      (OWN_ATTR_VALUE_START+84)
172 #define OWN_ATTR_3D_VALUE_TEXTUREPOLYGON3D      (OWN_ATTR_VALUE_START+85)
173 
174 #define OWN_ATTR_OLE_LINKURL                    (OWN_ATTR_VALUE_START+86)
175 
176 #define OWN_ATTR_STYLE                          (OWN_ATTR_VALUE_START+87)
177 
178 #define OWN_ATTR_EDGE_POLYPOLYGONBEZIER         (OWN_ATTR_VALUE_START+88)
179 
180 #define OWN_ATTR_MEDIA_STREAM                   (OWN_ATTR_VALUE_START+89)
181 #define OWN_ATTR_MEDIA_TEMPFILEURL              (OWN_ATTR_VALUE_START+90)
182 #define OWN_ATTR_INTEROPGRABBAG                 (OWN_ATTR_VALUE_START+91)
183 #define OWN_ATTR_MEDIA_MIMETYPE                 (OWN_ATTR_VALUE_START+92)
184 #define OWN_ATTR_FALLBACK_GRAPHIC               (OWN_ATTR_VALUE_START+93)
185 #define OWN_ATTR_IS_SIGNATURELINE               (OWN_ATTR_VALUE_START+94)
186 #define OWN_ATTR_SIGNATURELINE_ID               (OWN_ATTR_VALUE_START+95)
187 #define OWN_ATTR_SIGNATURELINE_SUGGESTED_SIGNER_NAME  (OWN_ATTR_VALUE_START+96)
188 #define OWN_ATTR_SIGNATURELINE_SUGGESTED_SIGNER_TITLE (OWN_ATTR_VALUE_START+97)
189 #define OWN_ATTR_SIGNATURELINE_SUGGESTED_SIGNER_EMAIL (OWN_ATTR_VALUE_START+98)
190 #define OWN_ATTR_SIGNATURELINE_SIGNING_INSTRUCTIONS   (OWN_ATTR_VALUE_START+99)
191 #define OWN_ATTR_SIGNATURELINE_SHOW_SIGN_DATE   (OWN_ATTR_VALUE_START+100)
192 #define OWN_ATTR_SIGNATURELINE_CAN_ADD_COMMENT  (OWN_ATTR_VALUE_START+101)
193 #define OWN_ATTR_SIGNATURELINE_UNSIGNED_IMAGE   (OWN_ATTR_VALUE_START+102)
194 #define OWN_ATTR_SIGNATURELINE_IS_SIGNED        (OWN_ATTR_VALUE_START+103)
195 #define OWN_ATTR_QRCODE                         (OWN_ATTR_VALUE_START+104)
196 #define OWN_ATTR_TEXTFITTOSIZESCALE             (OWN_ATTR_VALUE_START+105)
197 #define OWN_ATTR_TEXTCOLUMNS                    (OWN_ATTR_VALUE_START+106)
198 // ATTENTION: current maximum is OWN_ATTR_VALUE_START+106 svx; wnen adding values, update
199 // OWN_ATTR_VALUE_END in include/svl/solar.hrc accordingly
200 
201 // #FontWork#
202 #define FONTWORK_PROPERTIES \
203     { u"FontWorkStyle",            XATTR_FORMTXTSTYLE,         /*ENUM*/::cppu::UnoType<sal_Int32>::get(),    0,  0}, \
204     { u"FontWorkAdjust",           XATTR_FORMTXTADJUST,        /*ENUM*/::cppu::UnoType<sal_Int32>::get(),    0,  0}, \
205     { u"FontWorkDistance",         XATTR_FORMTXTDISTANCE,      ::cppu::UnoType<sal_Int32>::get(),            0,  0, PropertyMoreFlags::METRIC_ITEM}, \
206     { u"FontWorkStart",            XATTR_FORMTXTSTART,         ::cppu::UnoType<sal_Int32>::get(),            0,  0, PropertyMoreFlags::METRIC_ITEM}, \
207     { u"FontWorkMirror",           XATTR_FORMTXTMIRROR,        cppu::UnoType<bool>::get(),                        0,  0}, \
208     { u"FontWorkOutline",          XATTR_FORMTXTOUTLINE,       cppu::UnoType<bool>::get(),                        0,  0}, \
209     { u"FontWorkShadow",           XATTR_FORMTXTSHADOW,        /*ENUM*/::cppu::UnoType<sal_Int32>::get(),    0,  0}, \
210     { u"FontWorkShadowColor",      XATTR_FORMTXTSHDWCOLOR,     ::cppu::UnoType<sal_Int32>::get(),            0,  0}, \
211     { u"FontWorkShadowOffsetX",    XATTR_FORMTXTSHDWXVAL,      ::cppu::UnoType<sal_Int32>::get(),            0,  0, PropertyMoreFlags::METRIC_ITEM}, \
212     { u"FontWorkShadowOffsetY",    XATTR_FORMTXTSHDWYVAL,      ::cppu::UnoType<sal_Int32>::get(),            0,  0, PropertyMoreFlags::METRIC_ITEM}, \
213     { u"FontWorkHideForm",         XATTR_FORMTXTHIDEFORM,      cppu::UnoType<bool>::get(),                        0,  0}, \
214     { u"FontWorkShadowTransparence",XATTR_FORMTXTSHDWTRANSP,   ::cppu::UnoType<sal_Int16>::get(),            0,  0},
215 
216 #define GLOW_PROPERTIES \
217     { u"GlowEffectRadius",               SDRATTR_GLOW_RADIUS,         ::cppu::UnoType<sal_Int32>::get(),    0,      0, PropertyMoreFlags::METRIC_ITEM}, \
218     { u"GlowEffectColor",                SDRATTR_GLOW_COLOR,       ::cppu::UnoType<sal_Int32>::get(),    0,      0}, \
219     { u"GlowEffectTransparency",         SDRATTR_GLOW_TRANSPARENCY,::cppu::UnoType<sal_Int16>::get(),    0,      0 },
220 
221 #define SOFTEDGE_PROPERTIES \
222     { u"SoftEdgeRadius",           SDRATTR_SOFTEDGE_RADIUS,       cppu::UnoType<sal_Int32>::get(),      0,      0, PropertyMoreFlags::METRIC_ITEM},
223 
224 #define SHADOW_PROPERTIES \
225     { u"" UNO_NAME_SHADOW,            SDRATTR_SHADOW,             cppu::UnoType<bool>::get(),    0,      0}, \
226     { u"" UNO_NAME_SHADOWCOLOR,       SDRATTR_SHADOWCOLOR,        ::cppu::UnoType<sal_Int32>::get(),    0,      0}, \
227     { u"" UNO_NAME_SHADOWTRANSPARENCE,SDRATTR_SHADOWTRANSPARENCE, ::cppu::UnoType<sal_Int16>::get(),    0,      0}, \
228     { u"" UNO_NAME_SHADOWXDIST,       SDRATTR_SHADOWXDIST,        ::cppu::UnoType<sal_Int32>::get(),    0,      0, PropertyMoreFlags::METRIC_ITEM}, \
229     { u"" UNO_NAME_SHADOWYDIST,       SDRATTR_SHADOWYDIST,        ::cppu::UnoType<sal_Int32>::get(),    0,      0, PropertyMoreFlags::METRIC_ITEM}, \
230     { u"" UNO_NAME_SHADOWSIZEX,       SDRATTR_SHADOWSIZEX,        ::cppu::UnoType<sal_Int32>::get(),    0,      0}, \
231     { u"" UNO_NAME_SHADOWSIZEY,       SDRATTR_SHADOWSIZEY,        ::cppu::UnoType<sal_Int32>::get(),    0,      0}, \
232     { u"" UNO_NAME_SHADOWBLUR,        SDRATTR_SHADOWBLUR,         ::cppu::UnoType<sal_Int32>::get(),    0,      0, PropertyMoreFlags::METRIC_ITEM},
233 
234 
235 #define LINE_PROPERTIES_DEFAULTS\
236     { u"" UNO_NAME_LINECAP,           XATTR_LINECAP,          ::cppu::UnoType<css::drawing::LineCap>::get(),     0,     0}, \
237     { u"" UNO_NAME_LINECOLOR,         XATTR_LINECOLOR,        ::cppu::UnoType<sal_Int32>::get() ,           0,     0}, \
238     { u"" UNO_NAME_LINEENDCENTER,     XATTR_LINEENDCENTER,    cppu::UnoType<bool>::get() ,           0,     0}, \
239     { u"" UNO_NAME_LINEENDWIDTH,      XATTR_LINEENDWIDTH,     ::cppu::UnoType<sal_Int32>::get() ,           0,     0, PropertyMoreFlags::METRIC_ITEM}, \
240     { u"" UNO_NAME_LINEJOINT,         XATTR_LINEJOINT,        ::cppu::UnoType<css::drawing::LineJoint>::get(),     0,     0}, \
241     { u"" UNO_NAME_LINESTARTCENTER,   XATTR_LINESTARTCENTER,  cppu::UnoType<bool>::get() ,           0,     0}, \
242     { u"" UNO_NAME_LINESTARTWIDTH,    XATTR_LINESTARTWIDTH,   ::cppu::UnoType<sal_Int32>::get() ,           0,     0, PropertyMoreFlags::METRIC_ITEM}, \
243     { u"" UNO_NAME_LINESTYLE,         XATTR_LINESTYLE,        cppu::UnoType<css::drawing::LineStyle>::get() ,        0,     0},  \
244     { u"" UNO_NAME_LINETRANSPARENCE,  XATTR_LINETRANSPARENCE, ::cppu::UnoType<sal_Int16>::get() ,           0,     0}, \
245     { u"" UNO_NAME_LINEWIDTH,         XATTR_LINEWIDTH,        ::cppu::UnoType<sal_Int32>::get() ,           0,     0, PropertyMoreFlags::METRIC_ITEM},
246 
247 #define LINE_PROPERTIES \
248     { u"" UNO_NAME_LINEDASH,          XATTR_LINEDASH,         ::cppu::UnoType<css::drawing::LineDash>::get() ,         0,     MID_LINEDASH},   \
249     { u"LineDashName",             XATTR_LINEDASH,         ::cppu::UnoType<OUString>::get() ,         0,     MID_NAME},   \
250     LINE_PROPERTIES_DEFAULTS
251 
252 #define LINE_PROPERTIES_START_END \
253     { u"" UNO_NAME_LINEEND,           XATTR_LINEEND,          ::cppu::UnoType<css::drawing::PolyPolygonBezierCoords>::get(),   css::beans::PropertyAttribute::MAYBEVOID,     0}, \
254     { u"LineEndName",              XATTR_LINEEND,          ::cppu::UnoType<OUString>::get(), 0, MID_NAME }, \
255     { u"" UNO_NAME_LINESTART,         XATTR_LINESTART,        ::cppu::UnoType<css::drawing::PolyPolygonBezierCoords>::get(),   css::beans::PropertyAttribute::MAYBEVOID,     0},  \
256     { u"LineStartName",            XATTR_LINESTART,        ::cppu::UnoType<OUString>::get(), 0, MID_NAME },
257 
258 #define FILL_PROPERTIES_BMP \
259     { u"" UNO_NAME_FILLBMP_LOGICAL_SIZE,      XATTR_FILLBMP_SIZELOG,      cppu::UnoType<bool>::get() ,           0,     0}, \
260     { u"" UNO_NAME_FILLBMP_OFFSET_X,          XATTR_FILLBMP_TILEOFFSETX,  ::cppu::UnoType<sal_Int32>::get() ,           0,     0}, \
261     { u"" UNO_NAME_FILLBMP_OFFSET_Y,          XATTR_FILLBMP_TILEOFFSETY,  ::cppu::UnoType<sal_Int32>::get() ,           0,     0}, \
262     { u"" UNO_NAME_FILLBMP_POSITION_OFFSET_X, XATTR_FILLBMP_POSOFFSETX,   ::cppu::UnoType<sal_Int32>::get() ,           0,     0}, \
263     { u"" UNO_NAME_FILLBMP_POSITION_OFFSET_Y, XATTR_FILLBMP_POSOFFSETY,   ::cppu::UnoType<sal_Int32>::get() ,           0,     0}, \
264     { u"" UNO_NAME_FILLBMP_RECTANGLE_POINT,   XATTR_FILLBMP_POS,          ::cppu::UnoType<css::drawing::RectanglePoint>::get() , 0,     0}, \
265     { u"" UNO_NAME_FILLBMP_SIZE_X,            XATTR_FILLBMP_SIZEX,        ::cppu::UnoType<sal_Int32>::get() ,           0,     0, PropertyMoreFlags::METRIC_ITEM}, \
266     { u"" UNO_NAME_FILLBMP_SIZE_Y,            XATTR_FILLBMP_SIZEY,        ::cppu::UnoType<sal_Int32>::get() ,           0,     0, PropertyMoreFlags::METRIC_ITEM},    \
267     { u"" UNO_NAME_FILLBMP_STRETCH,           XATTR_FILLBMP_STRETCH,      cppu::UnoType<bool>::get() ,           0,     0}, \
268     { u"" UNO_NAME_FILLBMP_TILE,              XATTR_FILLBMP_TILE,         cppu::UnoType<bool>::get() ,           0,     0},\
269     { u"" UNO_NAME_FILLBMP_MODE,              OWN_ATTR_FILLBMP_MODE,      ::cppu::UnoType<css::drawing::BitmapMode>::get(),            0,     0},
270 
271 #define FILL_PROPERTIES_DEFAULTS \
272     { u"" UNO_NAME_FILLCOLOR,         XATTR_FILLCOLOR, ::cppu::UnoType<sal_Int32>::get(),          0,     0}, \
273 
274 #define FILL_PROPERTIES \
275     FILL_PROPERTIES_BMP \
276     FILL_PROPERTIES_DEFAULTS \
277     { u"" UNO_NAME_FILLBACKGROUND,    XATTR_FILLBACKGROUND    , cppu::UnoType<bool>::get(),              0,   0}, \
278     { u"" UNO_NAME_FILLBITMAP,        XATTR_FILLBITMAP        , cppu::UnoType<css::awt::XBitmap>::get()  ,       0,     MID_BITMAP}, \
279     { u"" UNO_NAME_FILLBITMAPURL,     XATTR_FILLBITMAP        , cppu::UnoType<OUString>::get(),                  0,     MID_BITMAP }, \
280     { u"" UNO_NAME_FILLBITMAPNAME,           XATTR_FILLBITMAP        , ::cppu::UnoType<OUString>::get(), 0, MID_NAME }, \
281     { u"" UNO_NAME_FILLGRADIENTSTEPCOUNT,    XATTR_GRADIENTSTEPCOUNT , ::cppu::UnoType<sal_Int16>::get(), 0, 0}, \
282     { u"" UNO_NAME_FILLGRADIENT,      XATTR_FILLGRADIENT      , ::cppu::UnoType<css::awt::Gradient>::get(),        0,     MID_FILLGRADIENT}, \
283     { u"" UNO_NAME_FILLGRADIENTNAME,         XATTR_FILLGRADIENT      , ::cppu::UnoType<OUString>::get(), 0, MID_NAME }, \
284     { u"" UNO_NAME_FILLHATCH,         XATTR_FILLHATCH         , ::cppu::UnoType<css::drawing::Hatch>::get(),           0,     MID_FILLHATCH}, \
285     { u"" UNO_NAME_FILLHATCHNAME,            XATTR_FILLHATCH         , ::cppu::UnoType<OUString>::get(), 0, MID_NAME }, \
286     { u"" UNO_NAME_FILLSTYLE,         XATTR_FILLSTYLE         , ::cppu::UnoType<css::drawing::FillStyle>::get() ,      0,     0}, \
287     { u"" UNO_NAME_FILL_TRANSPARENCE, XATTR_FILLTRANSPARENCE, ::cppu::UnoType<sal_Int16>::get() ,           0,     0}, \
288     { u"" UNO_NAME_FILLTRANSPARENCEGRADIENT, XATTR_FILLFLOATTRANSPARENCE, ::cppu::UnoType<css::awt::Gradient>::get(),         0,     MID_FILLGRADIENT}, \
289     { u"" UNO_NAME_FILLTRANSPARENCEGRADIENTNAME, XATTR_FILLFLOATTRANSPARENCE, ::cppu::UnoType<OUString>::get(), 0, MID_NAME }, \
290     { u"" UNO_NAME_FILLCOLOR_2,       XATTR_SECONDARYFILLCOLOR, ::cppu::UnoType<sal_Int32>::get(),          0,     0}, \
291     { u"" UNO_NAME_GRAPHIC_GRAPHICCROP, SDRATTR_GRAFCROP      , ::cppu::UnoType<css::text::GraphicCrop>::get(), 0, 0 },
292 
293 #define EDGERADIUS_PROPERTIES \
294     { u"" UNO_NAME_EDGERADIUS,        SDRATTR_CORNER_RADIUS   , ::cppu::UnoType<sal_Int32>::get()  ,            0,     0, PropertyMoreFlags::METRIC_ITEM},
295 
296 #define TEXT_PROPERTIES_DEFAULTS\
297     { u"" UNO_NAME_TEXT_WRITINGMODE,      SDRATTR_TEXTDIRECTION,          ::cppu::UnoType<css::text::WritingMode>::get(),      0,      0},\
298     { u"" UNO_NAME_TEXT_ANIAMOUNT,        SDRATTR_TEXT_ANIAMOUNT,         ::cppu::UnoType<sal_Int16>::get(),        0,      0}, \
299     { u"" UNO_NAME_TEXT_ANICOUNT,         SDRATTR_TEXT_ANICOUNT,          ::cppu::UnoType<sal_Int16>::get(),        0,      0}, \
300     { u"" UNO_NAME_TEXT_ANIDELAY,         SDRATTR_TEXT_ANIDELAY,          ::cppu::UnoType<sal_Int16>::get(),        0,      0}, \
301     { u"" UNO_NAME_TEXT_ANIDIRECTION,     SDRATTR_TEXT_ANIDIRECTION,      cppu::UnoType<css::drawing::TextAnimationDirection>::get(),    0,      0}, \
302     { u"" UNO_NAME_TEXT_ANIKIND,          SDRATTR_TEXT_ANIKIND,           cppu::UnoType<css::drawing::TextAnimationKind>::get(), 0,      0}, \
303     { u"" UNO_NAME_TEXT_ANISTARTINSIDE,   SDRATTR_TEXT_ANISTARTINSIDE,    cppu::UnoType<bool>::get(),        0,      0}, \
304     { u"" UNO_NAME_TEXT_ANISTOPINSIDE,    SDRATTR_TEXT_ANISTOPINSIDE,     cppu::UnoType<bool>::get(),        0,      0}, \
305     { u"" UNO_NAME_TEXT_AUTOGROWHEIGHT,   SDRATTR_TEXT_AUTOGROWHEIGHT,    cppu::UnoType<bool>::get(),        0,      0}, \
306     { u"" UNO_NAME_TEXT_AUTOGROWWIDTH,    SDRATTR_TEXT_AUTOGROWWIDTH,     cppu::UnoType<bool>::get(),        0,      0}, \
307     { u"" UNO_NAME_TEXT_CONTOURFRAME,     SDRATTR_TEXT_CONTOURFRAME,      cppu::UnoType<bool>::get(),        0,      0}, \
308     { u"" UNO_NAME_TEXT_FITTOSIZE,        SDRATTR_TEXT_FITTOSIZE,         cppu::UnoType<css::drawing::TextFitToSizeType>::get(), 0,      0}, \
309     { u"" UNO_NAME_TEXT_HORZADJUST,       SDRATTR_TEXT_HORZADJUST,        cppu::UnoType<css::drawing::TextHorizontalAdjust>::get(),  0,      0}, \
310     { u"" UNO_NAME_TEXT_LEFTDIST,         SDRATTR_TEXT_LEFTDIST,          ::cppu::UnoType<sal_Int32>::get(),        0,      0, PropertyMoreFlags::METRIC_ITEM}, \
311     { u"" UNO_NAME_TEXT_LOWERDIST,        SDRATTR_TEXT_LOWERDIST,         ::cppu::UnoType<sal_Int32>::get(),        0,      0, PropertyMoreFlags::METRIC_ITEM}, \
312     { u"" UNO_NAME_TEXT_MAXFRAMEHEIGHT,   SDRATTR_TEXT_MAXFRAMEHEIGHT,    ::cppu::UnoType<sal_Int32>::get(),        0,      0, PropertyMoreFlags::METRIC_ITEM}, \
313     { u"" UNO_NAME_TEXT_MAXFRAMEWIDTH,    SDRATTR_TEXT_MAXFRAMEWIDTH,     ::cppu::UnoType<sal_Int32>::get(),        0,      0, PropertyMoreFlags::METRIC_ITEM}, \
314     { u"" UNO_NAME_TEXT_MINFRAMEHEIGHT,   SDRATTR_TEXT_MINFRAMEHEIGHT,    ::cppu::UnoType<sal_Int32>::get(),        0,      0, PropertyMoreFlags::METRIC_ITEM}, \
315     { u"" UNO_NAME_TEXT_MINFRAMEWIDTH,    SDRATTR_TEXT_MINFRAMEWIDTH,     ::cppu::UnoType<sal_Int32>::get(),        0,      0, PropertyMoreFlags::METRIC_ITEM}, \
316     { u"" UNO_NAME_TEXT_RIGHTDIST,        SDRATTR_TEXT_RIGHTDIST,         ::cppu::UnoType<sal_Int32>::get(),        0,      0, PropertyMoreFlags::METRIC_ITEM}, \
317     { u"" UNO_NAME_TEXT_UPPERDIST,        SDRATTR_TEXT_UPPERDIST,         ::cppu::UnoType<sal_Int32>::get(),        0,      0, PropertyMoreFlags::METRIC_ITEM}, \
318     { u"" UNO_NAME_TEXT_FONTINDEPENDENTLINESPACING,SDRATTR_TEXT_USEFIXEDCELLHEIGHT,cppu::UnoType<bool>::get(),                   0,      0},               \
319     { u"" UNO_NAME_TEXT_VERTADJUST,       SDRATTR_TEXT_VERTADJUST,        cppu::UnoType<css::drawing::TextVerticalAdjust>::get(),    0,      0},\
320     { u"" UNO_NAME_TEXT_WORDWRAP,         SDRATTR_TEXT_WORDWRAP,          cppu::UnoType<bool>::get(),        0,      0}, \
321     { u"" UNO_NAME_TEXT_CHAINNEXTNAME,    SDRATTR_TEXT_CHAINNEXTNAME,     ::cppu::UnoType<OUString>::get(),        0,      0}, \
322     { u"TextColumns",                     OWN_ATTR_TEXTCOLUMNS,           cppu::UnoType<css::text::XTextColumns>::get(), 0, 0 }, \
323     SVX_UNOEDIT_CHAR_PROPERTIES, \
324     SVX_UNOEDIT_PARA_PROPERTIES,
325 
326 #define TEXT_PROPERTIES \
327     SVX_UNOEDIT_NUMBERING_PROPERTIE, \
328     TEXT_PROPERTIES_DEFAULTS
329 
330 //  { "HasLevels",                    OWN_ATTR_HASLEVELS,             cppu::UnoType<bool>::get(), css::beans::PropertyAttribute::READONLY,      0},
331 
332 #define MISC_OBJ_PROPERTIES_NO_SHEAR \
333     { u"Transformation",                   OWN_ATTR_TRANSFORMATION,    cppu::UnoType<css::drawing::HomogenMatrix3>::get(), 0, 0 }, \
334     { u"" UNO_NAME_MISC_OBJ_ZORDER,           OWN_ATTR_ZORDER,            ::cppu::UnoType<sal_Int32>::get(),        0,      0}, \
335     { u"" UNO_NAME_MISC_OBJ_FRAMERECT,        OWN_ATTR_FRAMERECT,         cppu::UnoType<css::awt::Rectangle>::get(), 0,  0 }, \
336     { u"" UNO_NAME_MISC_OBJ_ROTATEANGLE,      SDRATTR_ROTATEANGLE,        ::cppu::UnoType<sal_Int32>::get(),        0,  0}, \
337     { u"" UNO_NAME_BITMAP,                    OWN_ATTR_BITMAP,            cppu::UnoType<css::awt::XBitmap>::get(),   css::beans::PropertyAttribute::READONLY, 0}, \
338     { u"" UNO_NAME_OLE2_METAFILE,             OWN_ATTR_METAFILE,          cppu::UnoType<css::uno::Sequence<sal_Int8>>::get(), css::beans::PropertyAttribute::READONLY, 0}, \
339     { u"IsFontwork",                       OWN_ATTR_ISFONTWORK,        cppu::UnoType<bool>::get(), css::beans::PropertyAttribute::READONLY, 0}, \
340     { u"" UNO_NAME_MISC_OBJ_BOUNDRECT,        OWN_ATTR_BOUNDRECT,         cppu::UnoType<css::awt::Rectangle>::get(), css::beans::PropertyAttribute::READONLY, 0},
341 
342 #define MISC_OBJ_PROPERTIES \
343     { u"" UNO_NAME_MISC_OBJ_INTEROPGRABBAG,   OWN_ATTR_INTEROPGRABBAG,    cppu::UnoType<css::uno::Sequence< css::beans::PropertyValue >>::get(),  0,  0}, \
344     MISC_OBJ_PROPERTIES_NO_SHEAR \
345     { u"" UNO_NAME_MISC_OBJ_SHEARANGLE,       SDRATTR_SHEARANGLE,         ::cppu::UnoType<sal_Int32>::get(),        0,  0},
346 
347 
348 #define SHAPE_DESCRIPTOR_PROPERTIES \
349     { u"" UNO_NAME_MISC_OBJ_LAYERID,      SDRATTR_LAYERID                 , ::cppu::UnoType<sal_Int16>::get(),          0,  0}, \
350     { u"" UNO_NAME_MISC_OBJ_LAYERNAME,    SDRATTR_LAYERNAME               , ::cppu::UnoType<OUString>::get(),    0,  0}, \
351     { u"" UNO_NAME_MISC_OBJ_MOVEPROTECT,  SDRATTR_OBJMOVEPROTECT          , cppu::UnoType<bool>::get(),                      0,  0}, \
352     { u"" UNO_NAME_MISC_OBJ_NAME,         SDRATTR_OBJECTNAME              , ::cppu::UnoType<OUString>::get(),    0,  0}, \
353     { u"" UNO_NAME_MISC_OBJ_PRINTABLE,    SDRATTR_OBJPRINTABLE            , cppu::UnoType<bool>::get(),                      0,  0}, \
354     { u"Visible",                      SDRATTR_OBJVISIBLE              , cppu::UnoType<bool>::get(),                      0,  0}, \
355     { u"" UNO_NAME_MISC_OBJ_SIZEPROTECT,  SDRATTR_OBJSIZEPROTECT          , cppu::UnoType<bool>::get(),                      0,  0},\
356     { u"UINameSingular",               OWN_ATTR_UINAME_SINGULAR        , ::cppu::UnoType<OUString>::get(),    css::beans::PropertyAttribute::READONLY,   0}, \
357     { u"UINamePlural",                 OWN_ATTR_UINAME_PLURAL          , ::cppu::UnoType<OUString>::get(),    css::beans::PropertyAttribute::READONLY,   0}, \
358     { u"TextFitToSizeScale", OWN_ATTR_TEXTFITTOSIZESCALE, ::cppu::UnoType<sal_Int16>::get(), 0, 0}, \
359     /* #i68101# */ \
360     { u"" UNO_NAME_MISC_OBJ_TITLE,        OWN_ATTR_MISC_OBJ_TITLE         , ::cppu::UnoType<OUString>::get(),    0,  0}, \
361     { u"" UNO_NAME_MISC_OBJ_DESCRIPTION,  OWN_ATTR_MISC_OBJ_DESCRIPTION   , ::cppu::UnoType<OUString>::get(),    0,  0},
362 
363 #define LINKTARGET_PROPERTIES \
364     { u"" UNO_NAME_LINKDISPLAYNAME,   OWN_ATTR_LDNAME             , ::cppu::UnoType<OUString>::get(),    css::beans::PropertyAttribute::READONLY, 0}, \
365     { u"" UNO_NAME_LINKDISPLAYBITMAP, OWN_ATTR_LDBITMAP               , cppu::UnoType<css::awt::XBitmap>::get(), css::beans::PropertyAttribute::READONLY, 0},
366 
367 
368 #define CONNECTOR_PROPERTIES \
369     { u"" UNO_NAME_EDGEKIND,          SDRATTR_EDGEKIND,           ::cppu::UnoType<css::drawing::ConnectorType>::get(),     0,     0}, \
370     { u"" UNO_NAME_EDGENODE1HORZDIST, SDRATTR_EDGENODE1HORZDIST,  ::cppu::UnoType<sal_Int32>::get(),       0,     0}, \
371     { u"" UNO_NAME_EDGENODE1VERTDIST, SDRATTR_EDGENODE1VERTDIST,  ::cppu::UnoType<sal_Int32>::get(),       0,     0}, \
372     { u"" UNO_NAME_EDGENODE2HORZDIST, SDRATTR_EDGENODE2HORZDIST,  ::cppu::UnoType<sal_Int32>::get(),       0,     0}, \
373     { u"" UNO_NAME_EDGENODE2VERTDIST, SDRATTR_EDGENODE2VERTDIST,  ::cppu::UnoType<sal_Int32>::get(),       0,     0},
374 
375 #define SPECIAL_CONNECTOR_PROPERTIES \
376     CONNECTOR_PROPERTIES \
377     { u"" UNO_NAME_EDGELINE1DELTA,    SDRATTR_EDGELINE1DELTA,     ::cppu::UnoType<sal_Int32>::get(),       0,     0, PropertyMoreFlags::METRIC_ITEM}, \
378     { u"" UNO_NAME_EDGELINE2DELTA,    SDRATTR_EDGELINE2DELTA,     ::cppu::UnoType<sal_Int32>::get(),       0,     0, PropertyMoreFlags::METRIC_ITEM}, \
379     { u"" UNO_NAME_EDGELINE3DELTA,    SDRATTR_EDGELINE3DELTA,     ::cppu::UnoType<sal_Int32>::get(),       0,     0, PropertyMoreFlags::METRIC_ITEM}, \
380     { u"StartShape",               OWN_ATTR_EDGE_START_OBJ,    cppu::UnoType<css::drawing::XShape>::get(),        css::beans::PropertyAttribute::MAYBEVOID,   0}, \
381     { u"StartGluePointIndex",      OWN_ATTR_GLUEID_HEAD,       ::cppu::UnoType<sal_Int32>::get(),       0,     0}, \
382     { u"StartPosition",            OWN_ATTR_EDGE_START_POS,    ::cppu::UnoType<css::awt::Point>::get(),     0,   0}, \
383     { u"EndShape",                 OWN_ATTR_EDGE_END_OBJ,      cppu::UnoType<css::drawing::XShape>::get(),     css::beans::PropertyAttribute::MAYBEVOID,   0}, \
384     { u"EndPosition",              OWN_ATTR_EDGE_END_POS,      ::cppu::UnoType<css::awt::Point>::get(),     0,   0},\
385     { u"EndGluePointIndex",        OWN_ATTR_GLUEID_TAIL,       ::cppu::UnoType<sal_Int32>::get(),       0,     0}, \
386 \
387     { u"EdgeStartConnection",      OWN_ATTR_EDGE_START_OBJ,    cppu::UnoType<css::drawing::XShape>::get(),        css::beans::PropertyAttribute::MAYBEVOID,   0}, \
388     { u"EdgeStartPoint",           OWN_ATTR_EDGE_START_POS,    ::cppu::UnoType<css::awt::Point>::get(),     css::beans::PropertyAttribute::READONLY,    0}, \
389     { u"EdgeEndConnection",        OWN_ATTR_EDGE_END_OBJ,      cppu::UnoType<css::drawing::XShape>::get(),     css::beans::PropertyAttribute::MAYBEVOID,   0}, \
390     { u"EdgeEndPoint",             OWN_ATTR_EDGE_END_POS,      ::cppu::UnoType<css::awt::Point>::get(),     css::beans::PropertyAttribute::READONLY,    0}, \
391 \
392     { u"" UNO_NAME_POLYPOLYGONBEZIER, OWN_ATTR_EDGE_POLYPOLYGONBEZIER,    ::cppu::UnoType<css::drawing::PolyPolygonBezierCoords>::get(),       0,  0},
393 
394 #define SPECIAL_DIMENSIONING_PROPERTIES_DEFAULTS \
395     { u"" UNO_NAME_MEASUREBELOWREFEDGE,       SDRATTR_MEASUREBELOWREFEDGE,        cppu::UnoType<bool>::get(),        0,  0}, \
396     { u"" UNO_NAME_MEASUREFORMATSTRING,       SDRATTR_MEASUREFORMATSTRING,        ::cppu::UnoType<OUString>::get(),      0,  0}, \
397     { u"" UNO_NAME_MEASUREHELPLINE1LEN,       SDRATTR_MEASUREHELPLINE1LEN,        ::cppu::UnoType<sal_Int32>::get(),        0,  0, PropertyMoreFlags::METRIC_ITEM}, \
398     { u"" UNO_NAME_MEASUREHELPLINE2LEN,       SDRATTR_MEASUREHELPLINE2LEN,        ::cppu::UnoType<sal_Int32>::get(),        0,  0, PropertyMoreFlags::METRIC_ITEM}, \
399     { u"" UNO_NAME_MEASUREHELPLINEDIST,       SDRATTR_MEASUREHELPLINEDIST,        ::cppu::UnoType<sal_Int32>::get(),        0,  0, PropertyMoreFlags::METRIC_ITEM}, \
400     { u"" UNO_NAME_MEASUREHELPLINEOVERHANG,   SDRATTR_MEASUREHELPLINEOVERHANG,    ::cppu::UnoType<sal_Int32>::get(),        0,  0, PropertyMoreFlags::METRIC_ITEM}, \
401     { u"" UNO_NAME_MEASUREKIND,               SDRATTR_MEASUREKIND,                ::cppu::UnoType<css::drawing::MeasureKind>::get(),   0,  0}, \
402     { u"" UNO_NAME_MEASURELINEDIST,           SDRATTR_MEASURELINEDIST,            ::cppu::UnoType<sal_Int32>::get(),        0,  0, PropertyMoreFlags::METRIC_ITEM}, \
403     { u"" UNO_NAME_MEASUREOVERHANG,           SDRATTR_MEASUREOVERHANG,            ::cppu::UnoType<sal_Int32>::get(),        0,  0, PropertyMoreFlags::METRIC_ITEM}, \
404     { u"" UNO_NAME_MEASUREUNIT,               SDRATTR_MEASUREUNIT,                ::cppu::UnoType<sal_Int32>::get(),    0,  0},\
405     { u"" UNO_NAME_MEASURESHOWUNIT,           SDRATTR_MEASURESHOWUNIT,            cppu::UnoType<bool>::get(),        0,  0}, \
406     { u"" UNO_NAME_MEASURETEXTAUTOANGLE,      SDRATTR_MEASURETEXTAUTOANGLE,       cppu::UnoType<bool>::get(),        0,  0}, \
407     { u"" UNO_NAME_MEASURETEXTAUTOANGLEVIEW,  SDRATTR_MEASURETEXTAUTOANGLEVIEW,   ::cppu::UnoType<sal_Int32>::get(),        0,  0}, \
408     { u"" UNO_NAME_MEASURETEXTFIXEDANGLE,     SDRATTR_MEASURETEXTFIXEDANGLE,      ::cppu::UnoType<sal_Int32>::get(),        0,  0}, \
409     { u"" UNO_NAME_MEASURETEXTHPOS,           SDRATTR_MEASURETEXTHPOS,            ::cppu::UnoType<css::drawing::MeasureTextHorzPos>::get(),    0,  0}, \
410     { u"" UNO_NAME_MEASURETEXTISFIXEDANGLE,   SDRATTR_MEASURETEXTISFIXEDANGLE,    cppu::UnoType<bool>::get(),        0,  0}, \
411     { u"" UNO_NAME_MEASURETEXTROTA90,         SDRATTR_MEASURETEXTROTA90,          cppu::UnoType<bool>::get(),        0,  0}, \
412     { u"" UNO_NAME_MEASURETEXTUPSIDEDOWN,     SDRATTR_MEASURETEXTUPSIDEDOWN,      cppu::UnoType<bool>::get(),        0,  0}, \
413     { u"" UNO_NAME_MEASURETEXTVPOS,           SDRATTR_MEASURETEXTVPOS,            ::cppu::UnoType<css::drawing::MeasureTextVertPos>::get(),    0,  0}, \
414     { u"MeasureDecimalPlaces",             SDRATTR_MEASUREDECIMALPLACES,       ::cppu::UnoType<sal_Int16>::get(),        0,  0},
415 
416 
417 #define SPECIAL_DIMENSIONING_PROPERTIES \
418     SPECIAL_DIMENSIONING_PROPERTIES_DEFAULTS \
419     { u"StartPosition",                    OWN_ATTR_MEASURE_START_POS,         ::cppu::UnoType<css::awt::Point>::get(),     0,   0},\
420     { u"EndPosition",                      OWN_ATTR_MEASURE_END_POS,           ::cppu::UnoType<css::awt::Point>::get(),     0,   0},
421 
422 #define SPECIAL_CIRCLE_PROPERTIES \
423     { u"" UNO_NAME_CIRCENDANGLE,  SDRATTR_CIRCENDANGLE,   ::cppu::UnoType<sal_Int32>::get(),        0,  0}, \
424     { u"" UNO_NAME_CIRCKIND,      SDRATTR_CIRCKIND,       ::cppu::UnoType<css::drawing::CircleKind>::get(),    0,  0}, \
425     { u"" UNO_NAME_CIRCSTARTANGLE,SDRATTR_CIRCSTARTANGLE, ::cppu::UnoType<sal_Int32>::get(),        0,  0},
426 
427 #define SPECIAL_POLYGON_PROPERTIES \
428     { u"" UNO_NAME_POLYGONKIND,   OWN_ATTR_VALUE_POLYGONKIND, ::cppu::UnoType<css::drawing::PolygonKind>::get(), css::beans::PropertyAttribute::READONLY, 0},
429 
430 #define SPECIAL_POLYPOLYGON_PROPERTIES \
431     { u"" UNO_NAME_POLYPOLYGON,   OWN_ATTR_VALUE_POLYPOLYGON, ::cppu::UnoType<css::drawing::PointSequenceSequence>::get(), 0,  0}, \
432     { u"" UNO_NAME_POLYGON,       OWN_ATTR_VALUE_POLYGON,     ::cppu::UnoType<css::drawing::PointSequence>::get(),         0,  0},
433 
434 #define SPECIAL_POLYPOLYGONBEZIER_PROPERTIES \
435     { u"" UNO_NAME_POLYPOLYGONBEZIER, OWN_ATTR_VALUE_POLYPOLYGONBEZIER,   ::cppu::UnoType<css::drawing::PolyPolygonBezierCoords>::get(),       0,  0},
436 
437 #define SPECIAL_GRAPHOBJ_PROPERTIES_DEFAULTS \
438     { u"" UNO_NAME_GRAPHIC_LUMINANCE,     SDRATTR_GRAFLUMINANCE       , ::cppu::UnoType<sal_Int16>::get(),          0,   0}, \
439     { u"" UNO_NAME_GRAPHIC_CONTRAST,      SDRATTR_GRAFCONTRAST        , ::cppu::UnoType<sal_Int16>::get(),          0,   0}, \
440     { u"" UNO_NAME_GRAPHIC_RED,           SDRATTR_GRAFRED             , ::cppu::UnoType<sal_Int16>::get(),          0,   0}, \
441     { u"" UNO_NAME_GRAPHIC_GREEN,         SDRATTR_GRAFGREEN           , ::cppu::UnoType<sal_Int16>::get(),          0,   0}, \
442     { u"" UNO_NAME_GRAPHIC_BLUE,          SDRATTR_GRAFBLUE            , ::cppu::UnoType<sal_Int16>::get(),          0,   0}, \
443     { u"" UNO_NAME_GRAPHIC_GAMMA,         SDRATTR_GRAFGAMMA           , cppu::UnoType<double>::get(),     0,   0}, \
444     { u"" UNO_NAME_GRAPHIC_TRANSPARENCY,  SDRATTR_GRAFTRANSPARENCE    , ::cppu::UnoType<sal_Int16>::get(),          0,   0}, \
445     { u"" UNO_NAME_GRAPHIC_COLOR_MODE,    SDRATTR_GRAFMODE            , ::cppu::UnoType<css::drawing::ColorMode>::get(),       0,   0},
446 
447 #define SPECIAL_GRAPHOBJ_PROPERTIES \
448     SPECIAL_GRAPHOBJ_PROPERTIES_DEFAULTS \
449     { u"" UNO_NAME_GRAPHIC_GRAPHICCROP,           SDRATTR_GRAFCROP            , ::cppu::UnoType<css::text::GraphicCrop>::get(),        0,  0 }, \
450     { u"" UNO_NAME_GRAPHOBJ_REPLACEMENT_GRAPHIC,  OWN_ATTR_REPLACEMENT_GRAPHIC, cppu::UnoType<css::graphic::XGraphic>::get()  ,   0,     0}, \
451     { u"" UNO_NAME_GRAPHOBJ_GRAFSTREAMURL,        OWN_ATTR_GRAFSTREAMURL      , ::cppu::UnoType<OUString>::get(), css::beans::PropertyAttribute::MAYBEVOID, 0 }, \
452     { u"" UNO_NAME_GRAPHOBJ_FILLBITMAP,           OWN_ATTR_VALUE_FILLBITMAP   , cppu::UnoType<css::awt::XBitmap>::get()  ,    0,     0},    \
453     { u"" UNO_NAME_GRAPHOBJ_GRAPHIC,              OWN_ATTR_VALUE_GRAPHIC      , cppu::UnoType<css::graphic::XGraphic>::get()  ,   0,     0}, \
454     { u"" UNO_NAME_GRAPHOBJ_GRAPHIC_URL,          OWN_ATTR_GRAPHIC_URL        , cppu::UnoType<css::uno::Any>::get(), 0, 0 }, \
455     { u"" UNO_NAME_GRAPHOBJ_IS_SIGNATURELINE,     OWN_ATTR_IS_SIGNATURELINE   , cppu::UnoType<bool>::get(), 0, 0}, \
456     { u"" UNO_NAME_GRAPHOBJ_SIGNATURELINE_ID,     OWN_ATTR_SIGNATURELINE_ID   , cppu::UnoType<OUString>::get(), 0, 0}, \
457     { u"" UNO_NAME_GRAPHOBJ_SIGNATURELINE_SUGGESTED_SIGNER_NAME, OWN_ATTR_SIGNATURELINE_SUGGESTED_SIGNER_NAME, cppu::UnoType<OUString>::get(), 0, 0}, \
458     { u"" UNO_NAME_GRAPHOBJ_SIGNATURELINE_SUGGESTED_SIGNER_TITLE, OWN_ATTR_SIGNATURELINE_SUGGESTED_SIGNER_TITLE, cppu::UnoType<OUString>::get(), 0, 0}, \
459     { u"" UNO_NAME_GRAPHOBJ_SIGNATURELINE_SUGGESTED_SIGNER_EMAIL, OWN_ATTR_SIGNATURELINE_SUGGESTED_SIGNER_EMAIL, cppu::UnoType<OUString>::get(), 0, 0}, \
460     { u"" UNO_NAME_GRAPHOBJ_SIGNATURELINE_SIGNING_INSTRUCTIONS, OWN_ATTR_SIGNATURELINE_SIGNING_INSTRUCTIONS, cppu::UnoType<OUString>::get(), 0, 0}, \
461     { u"" UNO_NAME_GRAPHOBJ_SIGNATURELINE_SHOW_SIGN_DATE, OWN_ATTR_SIGNATURELINE_SHOW_SIGN_DATE, cppu::UnoType<bool>::get(), 0, 0}, \
462     { u"" UNO_NAME_GRAPHOBJ_SIGNATURELINE_CAN_ADD_COMMENT, OWN_ATTR_SIGNATURELINE_CAN_ADD_COMMENT, cppu::UnoType<bool>::get(), 0, 0}, \
463     { u"" UNO_NAME_GRAPHOBJ_SIGNATURELINE_UNSIGNED_IMAGE, OWN_ATTR_SIGNATURELINE_UNSIGNED_IMAGE, cppu::UnoType<css::graphic::XGraphic>::get(), 0, 0}, \
464     { u"" UNO_NAME_GRAPHOBJ_SIGNATURELINE_IS_SIGNED,     OWN_ATTR_SIGNATURELINE_IS_SIGNED   , cppu::UnoType<bool>::get(), 0, 0}, \
465     { u"" UNO_NAME_GRAPHOBJ_QRCODE,               OWN_ATTR_QRCODE            , cppu::UnoType<css::drawing::QRCode>::get(), 0, 0},
466 
467 #define SPECIAL_3DSCENEOBJECT_PROPERTIES_DEFAULTS \
468     { u"" UNO_NAME_3D_SCENE_AMBIENTCOLOR,     SDRATTR_3DSCENE_AMBIENTCOLOR   , ::cppu::UnoType<sal_Int32>::get(),   0,  0}, \
469     { u"" UNO_NAME_3D_SCENE_DISTANCE,         SDRATTR_3DSCENE_DISTANCE       , ::cppu::UnoType<sal_Int32>::get(),   0,  0, PropertyMoreFlags::METRIC_ITEM}, \
470     { u"" UNO_NAME_3D_SCENE_FOCAL_LENGTH,     SDRATTR_3DSCENE_FOCAL_LENGTH   , ::cppu::UnoType<sal_Int32>::get(),   0,  0, PropertyMoreFlags::METRIC_ITEM}, \
471     { u"" UNO_NAME_3D_SCENE_LIGHTCOLOR_1,     SDRATTR_3DSCENE_LIGHTCOLOR_1       , ::cppu::UnoType<sal_Int32>::get(),   0,  0}, \
472     { u"" UNO_NAME_3D_SCENE_LIGHTCOLOR_2,     SDRATTR_3DSCENE_LIGHTCOLOR_2       , ::cppu::UnoType<sal_Int32>::get(),   0,  0}, \
473     { u"" UNO_NAME_3D_SCENE_LIGHTCOLOR_3,     SDRATTR_3DSCENE_LIGHTCOLOR_3       , ::cppu::UnoType<sal_Int32>::get(),   0,  0}, \
474     { u"" UNO_NAME_3D_SCENE_LIGHTCOLOR_4,     SDRATTR_3DSCENE_LIGHTCOLOR_4       , ::cppu::UnoType<sal_Int32>::get(),   0,  0}, \
475     { u"" UNO_NAME_3D_SCENE_LIGHTCOLOR_5,     SDRATTR_3DSCENE_LIGHTCOLOR_5       , ::cppu::UnoType<sal_Int32>::get(),   0,  0}, \
476     { u"" UNO_NAME_3D_SCENE_LIGHTCOLOR_6,     SDRATTR_3DSCENE_LIGHTCOLOR_6       , ::cppu::UnoType<sal_Int32>::get(),   0,  0}, \
477     { u"" UNO_NAME_3D_SCENE_LIGHTCOLOR_7,     SDRATTR_3DSCENE_LIGHTCOLOR_7       , ::cppu::UnoType<sal_Int32>::get(),   0,  0}, \
478     { u"" UNO_NAME_3D_SCENE_LIGHTCOLOR_8,     SDRATTR_3DSCENE_LIGHTCOLOR_8       , ::cppu::UnoType<sal_Int32>::get(),   0,  0}, \
479     { u"" UNO_NAME_3D_SCENE_LIGHTDIRECTION_1, SDRATTR_3DSCENE_LIGHTDIRECTION_1   , ::cppu::UnoType<css::drawing::Direction3D>::get(),  0,  0}, \
480     { u"" UNO_NAME_3D_SCENE_LIGHTDIRECTION_2, SDRATTR_3DSCENE_LIGHTDIRECTION_2   , ::cppu::UnoType<css::drawing::Direction3D>::get(),  0,  0}, \
481     { u"" UNO_NAME_3D_SCENE_LIGHTDIRECTION_3, SDRATTR_3DSCENE_LIGHTDIRECTION_3   , ::cppu::UnoType<css::drawing::Direction3D>::get(),  0,  0}, \
482     { u"" UNO_NAME_3D_SCENE_LIGHTDIRECTION_4, SDRATTR_3DSCENE_LIGHTDIRECTION_4   , ::cppu::UnoType<css::drawing::Direction3D>::get(),  0,  0}, \
483     { u"" UNO_NAME_3D_SCENE_LIGHTDIRECTION_5, SDRATTR_3DSCENE_LIGHTDIRECTION_5   , ::cppu::UnoType<css::drawing::Direction3D>::get(),  0,  0}, \
484     { u"" UNO_NAME_3D_SCENE_LIGHTDIRECTION_6, SDRATTR_3DSCENE_LIGHTDIRECTION_6   , ::cppu::UnoType<css::drawing::Direction3D>::get(),  0,  0}, \
485     { u"" UNO_NAME_3D_SCENE_LIGHTDIRECTION_7, SDRATTR_3DSCENE_LIGHTDIRECTION_7   , ::cppu::UnoType<css::drawing::Direction3D>::get(),  0,  0}, \
486     { u"" UNO_NAME_3D_SCENE_LIGHTDIRECTION_8, SDRATTR_3DSCENE_LIGHTDIRECTION_8   , ::cppu::UnoType<css::drawing::Direction3D>::get(),  0,  0}, \
487     { u"" UNO_NAME_3D_SCENE_LIGHTON_1,        SDRATTR_3DSCENE_LIGHTON_1          , cppu::UnoType<bool>::get(),   0,  0}, \
488     { u"" UNO_NAME_3D_SCENE_LIGHTON_2,        SDRATTR_3DSCENE_LIGHTON_2          , cppu::UnoType<bool>::get(),   0,  0}, \
489     { u"" UNO_NAME_3D_SCENE_LIGHTON_3,        SDRATTR_3DSCENE_LIGHTON_3          , cppu::UnoType<bool>::get(),   0,  0}, \
490     { u"" UNO_NAME_3D_SCENE_LIGHTON_4,        SDRATTR_3DSCENE_LIGHTON_4          , cppu::UnoType<bool>::get(),   0,  0}, \
491     { u"" UNO_NAME_3D_SCENE_LIGHTON_5,        SDRATTR_3DSCENE_LIGHTON_5          , cppu::UnoType<bool>::get(),   0,  0}, \
492     { u"" UNO_NAME_3D_SCENE_LIGHTON_6,        SDRATTR_3DSCENE_LIGHTON_6          , cppu::UnoType<bool>::get(),   0,  0}, \
493     { u"" UNO_NAME_3D_SCENE_LIGHTON_7,        SDRATTR_3DSCENE_LIGHTON_7          , cppu::UnoType<bool>::get(),   0,  0}, \
494     { u"" UNO_NAME_3D_SCENE_LIGHTON_8,        SDRATTR_3DSCENE_LIGHTON_8          , cppu::UnoType<bool>::get(),   0,  0}, \
495     { u"" UNO_NAME_3D_SCENE_PERSPECTIVE,      SDRATTR_3DSCENE_PERSPECTIVE    , cppu::UnoType<css::drawing::ProjectionMode>::get(),   0,  0}, \
496     { u"" UNO_NAME_3D_SCENE_SHADOW_SLANT,     SDRATTR_3DSCENE_SHADOW_SLANT   , ::cppu::UnoType<sal_Int16>::get(),   0,  0}, \
497     { u"" UNO_NAME_3D_SCENE_SHADE_MODE,       SDRATTR_3DSCENE_SHADE_MODE     , ::cppu::UnoType<css::drawing::ShadeMode>::get(),    0,  0}, \
498     { u"" UNO_NAME_3D_SCENE_TWO_SIDED_LIGHTING,SDRATTR_3DSCENE_TWO_SIDED_LIGHTING, cppu::UnoType<bool>::get(),   0,  0},
499 
500 #define SPECIAL_3DSCENEOBJECT_PROPERTIES \
501     SPECIAL_3DSCENEOBJECT_PROPERTIES_DEFAULTS \
502     { u"" UNO_NAME_3D_TRANSFORM_MATRIX,       OWN_ATTR_3D_VALUE_TRANSFORM_MATRIX  , ::cppu::UnoType<css::drawing::HomogenMatrix>::get(), 0, 0}, \
503     { u"" UNO_NAME_3D_CAMERA_GEOMETRY,        OWN_ATTR_3D_VALUE_CAMERA_GEOMETRY   , ::cppu::UnoType<css::drawing::CameraGeometry>::get(), 0, 0},
504 
505 // #i28528#
506 // Added extra Item (Bool) for chart2 to be able to show reduced line geometry (SDRATTR_3DOBJ_REDUCED_LINE_GEOMETRY)
507 #define MISC_3D_OBJ_PROPERTIES \
508     { u"" UNO_NAME_3D_DOUBLE_SIDED             ,SDRATTR_3DOBJ_DOUBLE_SIDED            , cppu::UnoType<bool>::get(), 0, 0}, \
509     { u"" UNO_NAME_3D_MAT_COLOR                ,SDRATTR_3DOBJ_MAT_COLOR               , ::cppu::UnoType<sal_Int32>::get(), 0, 0}, \
510     { u"" UNO_NAME_3D_MAT_EMISSION             ,SDRATTR_3DOBJ_MAT_EMISSION            , ::cppu::UnoType<sal_Int32>::get(), 0, 0}, \
511     { u"" UNO_NAME_3D_MAT_SPECULAR             ,SDRATTR_3DOBJ_MAT_SPECULAR            , ::cppu::UnoType<sal_Int32>::get(), 0, 0}, \
512     { u"" UNO_NAME_3D_MAT_SPECULAR_INTENSITY   ,SDRATTR_3DOBJ_MAT_SPECULAR_INTENSITY  , ::cppu::UnoType<sal_Int16>::get(), 0, 0}, \
513     { u"" UNO_NAME_3D_NORMALS_INVERT           ,SDRATTR_3DOBJ_NORMALS_INVERT          , cppu::UnoType<bool>::get(), 0, 0}, \
514     { u"" UNO_NAME_3D_NORMALS_KIND             ,SDRATTR_3DOBJ_NORMALS_KIND            , ::cppu::UnoType<css::drawing::NormalsKind>::get(), 0, 0}, \
515     { u"" UNO_NAME_3D_SHADOW_3D                ,SDRATTR_3DOBJ_SHADOW_3D               , cppu::UnoType<bool>::get(), 0, 0}, \
516     { u"" UNO_NAME_3D_TEXTURE_FILTER           ,SDRATTR_3DOBJ_TEXTURE_FILTER          , cppu::UnoType<bool>::get(), 0, 0}, \
517     { u"" UNO_NAME_3D_TEXTURE_KIND             ,SDRATTR_3DOBJ_TEXTURE_KIND            , ::cppu::UnoType<css::drawing::TextureKind>::get(), 0, 0}, \
518     { u"" UNO_NAME_3D_TEXTURE_MODE             ,SDRATTR_3DOBJ_TEXTURE_MODE            , ::cppu::UnoType<css::drawing::TextureMode>::get(), 0, 0}, \
519     { u"" UNO_NAME_3D_TEXTURE_PROJ_X           ,SDRATTR_3DOBJ_TEXTURE_PROJ_X          , ::cppu::UnoType<css::drawing::TextureProjectionMode>::get(), 0, 0}, \
520     { u"" UNO_NAME_3D_TEXTURE_PROJ_Y           ,SDRATTR_3DOBJ_TEXTURE_PROJ_Y          , ::cppu::UnoType<css::drawing::TextureProjectionMode>::get(), 0, 0}, \
521     { u"" UNO_NAME_3D_REDUCED_LINE_GEOMETRY    ,SDRATTR_3DOBJ_REDUCED_LINE_GEOMETRY   , cppu::UnoType<bool>::get(), 0, 0},
522 
523 #define SPECIAL_3DCUBEOBJECT_PROPERTIES \
524     { u"" UNO_NAME_3D_TRANSFORM_MATRIX ,OWN_ATTR_3D_VALUE_TRANSFORM_MATRIX    , ::cppu::UnoType<css::drawing::HomogenMatrix>::get(), 0, 0}, \
525     { u"" UNO_NAME_3D_POS              ,OWN_ATTR_3D_VALUE_POSITION            , cppu::UnoType<css::drawing::Position3D>::get(), 0, 0}, \
526     { u"" UNO_NAME_3D_SIZE             ,OWN_ATTR_3D_VALUE_SIZE                , ::cppu::UnoType<css::drawing::Direction3D>::get(), 0, 0}, \
527     { u"" UNO_NAME_3D_POS_IS_CENTER    ,OWN_ATTR_3D_VALUE_POS_IS_CENTER       , cppu::UnoType<bool>::get(), 0, 0},
528 
529 #define SPECIAL_3DSPHEREOBJECT_PROPERTIES \
530     { u"" UNO_NAME_3D_TRANSFORM_MATRIX ,OWN_ATTR_3D_VALUE_TRANSFORM_MATRIX    , ::cppu::UnoType<css::drawing::HomogenMatrix>::get(), 0, 0}, \
531     { u"" UNO_NAME_3D_POS              ,OWN_ATTR_3D_VALUE_POSITION            , cppu::UnoType<css::drawing::Position3D>::get(), 0, 0}, \
532     { u"" UNO_NAME_3D_SIZE             ,OWN_ATTR_3D_VALUE_SIZE                , ::cppu::UnoType<css::drawing::Direction3D>::get(), 0, 0}, \
533     { u"" UNO_NAME_3D_HORZ_SEGS        ,SDRATTR_3DOBJ_HORZ_SEGS, ::cppu::UnoType<sal_Int32>::get(), 0, 0}, \
534     { u"" UNO_NAME_3D_VERT_SEGS        ,SDRATTR_3DOBJ_VERT_SEGS, ::cppu::UnoType<sal_Int32>::get(), 0, 0},
535 
536 // #107245# New 3D properties which are possible for lathe and extrude 3d objects
537 #define SPECIAL_3DLATHEANDEXTRUDEOBJ_PROPERTIES \
538     { u"" UNO_NAME_3D_SMOOTH_NORMALS   , SDRATTR_3DOBJ_SMOOTH_NORMALS,    cppu::UnoType<bool>::get(), 0, 0}, \
539     { u"" UNO_NAME_3D_SMOOTH_LIDS      , SDRATTR_3DOBJ_SMOOTH_LIDS,       cppu::UnoType<bool>::get(), 0, 0}, \
540     { u"" UNO_NAME_3D_CHARACTER_MODE   , SDRATTR_3DOBJ_CHARACTER_MODE,    cppu::UnoType<bool>::get(), 0, 0}, \
541     { u"" UNO_NAME_3D_CLOSE_FRONT      , SDRATTR_3DOBJ_CLOSE_FRONT,       cppu::UnoType<bool>::get(), 0, 0}, \
542     { u"" UNO_NAME_3D_CLOSE_BACK       , SDRATTR_3DOBJ_CLOSE_BACK,        cppu::UnoType<bool>::get(), 0, 0},
543 
544 #define SPECIAL_3DLATHEOBJECT_PROPERTIES \
545     { u"" UNO_NAME_3D_TRANSFORM_MATRIX ,OWN_ATTR_3D_VALUE_TRANSFORM_MATRIX,::cppu::UnoType<css::drawing::HomogenMatrix>::get(), 0, 0}, \
546     { u"" UNO_NAME_3D_POLYPOLYGON3D    ,OWN_ATTR_3D_VALUE_POLYPOLYGON3D   ,::cppu::UnoType<css::drawing::PolyPolygonShape3D>::get(), 0, 0}, \
547     { u"" UNO_NAME_3D_LATHE_END_ANGLE  ,SDRATTR_3DOBJ_END_ANGLE           ,::cppu::UnoType<sal_Int16>::get(), 0, 0}, \
548     { u"" UNO_NAME_3D_HORZ_SEGS        ,SDRATTR_3DOBJ_HORZ_SEGS           ,::cppu::UnoType<sal_Int32>::get(), 0, 0}, \
549     { u"" UNO_NAME_3D_PERCENT_DIAGONAL ,SDRATTR_3DOBJ_PERCENT_DIAGONAL    ,::cppu::UnoType<sal_Int16>::get(), 0, 0}, \
550     { u"" UNO_NAME_3D_VERT_SEGS        ,SDRATTR_3DOBJ_VERT_SEGS           ,::cppu::UnoType<sal_Int32>::get(), 0, 0},
551 
552 #define SPECIAL_3DEXTRUDEOBJECT_PROPERTIES \
553     { u"" UNO_NAME_3D_TRANSFORM_MATRIX ,OWN_ATTR_3D_VALUE_TRANSFORM_MATRIX,::cppu::UnoType<css::drawing::HomogenMatrix>::get(), 0, 0}, \
554     { u"" UNO_NAME_3D_POLYPOLYGON3D    ,OWN_ATTR_3D_VALUE_POLYPOLYGON3D   ,::cppu::UnoType<css::drawing::PolyPolygonShape3D>::get(), 0, 0}, \
555     { u"" UNO_NAME_3D_EXTRUDE_DEPTH    ,SDRATTR_3DOBJ_DEPTH               ,::cppu::UnoType<sal_Int32>::get(), 0, 0, PropertyMoreFlags::METRIC_ITEM}, \
556     { u"" UNO_NAME_3D_PERCENT_DIAGONAL ,SDRATTR_3DOBJ_PERCENT_DIAGONAL    ,::cppu::UnoType<sal_Int16>::get(), 0, 0},
557 
558 #define SPECIAL_3DPOLYGONOBJECT_PROPERTIES \
559     { u"" UNO_NAME_3D_TRANSFORM_MATRIX ,OWN_ATTR_3D_VALUE_TRANSFORM_MATRIX, ::cppu::UnoType<css::drawing::HomogenMatrix>::get(), 0, 0}, \
560     { u"" UNO_NAME_3D_POLYPOLYGON3D    ,OWN_ATTR_3D_VALUE_POLYPOLYGON3D   , ::cppu::UnoType<css::drawing::PolyPolygonShape3D>::get(), 0, 0}, \
561     { u"" UNO_NAME_3D_NORMALSPOLYGON3D ,OWN_ATTR_3D_VALUE_NORMALSPOLYGON3D, ::cppu::UnoType<css::drawing::PolyPolygonShape3D>::get(), 0, 0}, \
562     { u"" UNO_NAME_3D_TEXTUREPOLYGON3D ,OWN_ATTR_3D_VALUE_TEXTUREPOLYGON3D, ::cppu::UnoType<css::drawing::PolyPolygonShape3D>::get(), 0, 0}, \
563     { u"" UNO_NAME_3D_LINEONLY         ,OWN_ATTR_3D_VALUE_LINEONLY        , cppu::UnoType<bool>::get(), 0, 0},
564 
565 #define SPECIAL_3DBACKSCALE_PROPERTIES \
566     { u"" UNO_NAME_3D_BACKSCALE        ,SDRATTR_3DOBJ_BACKSCALE           , ::cppu::UnoType<sal_Int16>::get(), 0, 0}, \
567 
568 #endif
569 
570 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
571