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