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