Version 4.3.0.0.beta1, tag libreoffice-4.3.0.0.beta1
[LibreOffice.git] / svx / source / customshapes / EnhancedCustomShapeGeometry.cxx
blob8dd6a0482e34f2a49c8531021738123d1dfec397
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #include <sal/config.h>
22 #include <cmath>
23 #include <limits>
25 #include "svx/EnhancedCustomShapeGeometry.hxx"
26 #include <com/sun/star/drawing/EnhancedCustomShapeGluePointType.hpp>
28 static const sal_Int32 MIN_INT32 = std::numeric_limits<sal_Int32>::min();
30 static const sal_Int32 mso_sptDefault1400[] =
32 1, 1400
34 static const sal_Int32 mso_sptDefault1800[] =
36 1, 1800
38 static const sal_Int32 mso_sptDefault2500[] =
40 1, 2500
42 static const sal_Int32 mso_sptDefault2700[] =
44 1, 2700
46 static const sal_Int32 mso_sptDefault3600[] =
48 1, 3600
50 static const sal_Int32 mso_sptDefault3700[] =
52 1, 3700
54 static const sal_Int32 mso_sptDefault5400[] =
56 1, 5400
58 static const sal_Int32 mso_sptDefault7200[] =
60 1, 7200
62 static const sal_Int32 mso_sptDefault8100[] =
64 1, 8100
66 static const sal_Int32 mso_sptDefault9600[] =
68 1, 9600
70 static const sal_Int32 mso_sptDefault10800[] =
72 1, 10800
74 static const sal_Int32 mso_sptDefault12000[] =
76 1, 12000
78 static const sal_Int32 mso_sptDefault13500[] =
80 1, 13500
82 static const sal_Int32 mso_sptDefault16200[] =
84 1, 16200
86 static const sal_Int32 mso_sptDefault16200and5400[] =
88 2, 16200, 5400
91 static const SvxMSDffVertPair mso_sptArcVert[] =
93 { 0, 0 }, { 21600, 21600 }, { 3 MSO_I, 1 MSO_I }, { 7 MSO_I, 5 MSO_I }, { 10800, 10800 },
94 { 0, 0 }, { 21600, 21600 }, { 3 MSO_I, 1 MSO_I }, { 7 MSO_I, 5 MSO_I }
96 static const sal_uInt16 mso_sptArcSegm[] =
98 0xa504, 0xab00, 0x0001, 0x6001, 0x8000,
99 0xa504, 0xaa00, 0x8000
101 static const SvxMSDffCalculationData mso_sptArcCalc[] =
103 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
104 { 0x2000, { 0x400, 10800, 0 } },
105 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
106 { 0x2000, { 0x402, 10800, 0 } },
107 { 0x4009, { 10800, DFF_Prop_adjust2Value, 0 } },
108 { 0x2000, { 0x404, 10800, 0 } },
109 { 0x400a, { 10800, DFF_Prop_adjust2Value, 0 } },
110 { 0x2000, { 0x406, 10800, 0 } }
112 static const sal_Int32 mso_sptArcDefault[] =
114 2, 270, 0
116 static const SvxMSDffVertPair mso_sptStandardGluePoints[] =
118 { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }
120 static const SvxMSDffHandle mso_sptArcHandle[] =
122 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
123 10800, 0x100, 10800, 10800, 10800, 10800, MIN_INT32, 0x7fffffff },
124 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
125 10800, 0x101, 10800, 10800, 10800, 10800, MIN_INT32, 0x7fffffff }
127 static const mso_CustomShape msoArc =
129 (SvxMSDffVertPair*)mso_sptArcVert, SAL_N_ELEMENTS( mso_sptArcVert ),
130 (sal_uInt16*)mso_sptArcSegm, sizeof( mso_sptArcSegm ) >> 1,
131 (SvxMSDffCalculationData*)mso_sptArcCalc, SAL_N_ELEMENTS( mso_sptArcCalc ),
132 (sal_Int32*)mso_sptArcDefault,
133 NULL, 0,
134 21600, 21600,
135 MIN_INT32, MIN_INT32,
136 NULL, 0,
137 (SvxMSDffHandle*)mso_sptArcHandle, SAL_N_ELEMENTS( mso_sptArcHandle ) // handles
140 static const SvxMSDffVertPair mso_sptTextSimpleVert[] =
142 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
144 static const mso_CustomShape msoTextSimple =
146 (SvxMSDffVertPair*)mso_sptTextSimpleVert, SAL_N_ELEMENTS( mso_sptTextSimpleVert ),
147 NULL, 0,
148 NULL, 0,
149 NULL,
150 NULL, 0,
151 21600, 21600,
152 MIN_INT32, MIN_INT32,
153 NULL, 0,
154 NULL, 0 // handles
157 static const SvxMSDffVertPair mso_sptRectangleVert[] =
159 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
161 static const mso_CustomShape msoRectangle =
163 (SvxMSDffVertPair*)mso_sptRectangleVert, SAL_N_ELEMENTS( mso_sptRectangleVert ),
164 NULL, 0,
165 NULL, 0,
166 NULL,
167 NULL, 0,
168 21600, 21600,
169 MIN_INT32, MIN_INT32,
170 NULL, 0,
171 NULL, 0 // handles
174 static const SvxMSDffVertPair mso_sptRoundRectangleVert[] = // adj value 0 -> 10800
176 { 7 MSO_I, 0 }, { 0, 8 MSO_I }, { 0, 9 MSO_I }, { 7 MSO_I, 21600 },
177 { 10 MSO_I, 21600 }, { 21600, 9 MSO_I }, { 21600, 8 MSO_I }, { 10 MSO_I, 0 }
179 static const sal_uInt16 mso_sptRoundRectangleSegm[] =
181 0x4000, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x6000, 0x8000
183 static const SvxMSDffCalculationData mso_sptRoundRectangleCalc[] =
185 { 0x000e, { 0, 45, 0 } },
186 { 0x6009, { DFF_Prop_adjustValue, 0x400, 0 } },
187 { 0x2001, { 0x401, 3163, 7636 } },
188 { 0x6000, { DFF_Prop_geoLeft, 0x402, 0 } },
189 { 0x6000, { DFF_Prop_geoTop, 0x402, 0 } },
190 { 0xa000, { DFF_Prop_geoRight, 0, 0x402 } },
191 { 0xa000, { DFF_Prop_geoBottom, 0, 0x402 } },
192 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
193 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
194 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
195 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } }
197 static const SvxMSDffTextRectangles mso_sptRoundRectangleTextRect[] =
199 { { 3 MSO_I, 4 MSO_I }, { 5 MSO_I, 6 MSO_I } }
201 static const SvxMSDffHandle mso_sptRoundRectangleHandle[] =
203 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
204 0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
206 static const mso_CustomShape msoRoundRectangle =
208 (SvxMSDffVertPair*)mso_sptRoundRectangleVert, SAL_N_ELEMENTS( mso_sptRoundRectangleVert ),
209 (sal_uInt16*)mso_sptRoundRectangleSegm, sizeof( mso_sptRoundRectangleSegm ) >> 1,
210 (SvxMSDffCalculationData*)mso_sptRoundRectangleCalc, SAL_N_ELEMENTS( mso_sptRoundRectangleCalc ),
211 (sal_Int32*)mso_sptDefault3600,
212 (SvxMSDffTextRectangles*)mso_sptRoundRectangleTextRect, SAL_N_ELEMENTS( mso_sptRoundRectangleTextRect ),
213 21600, 21600,
214 10800, 10800,
215 NULL, 0,
216 (SvxMSDffHandle*)mso_sptRoundRectangleHandle, SAL_N_ELEMENTS( mso_sptRoundRectangleHandle ) // handles
219 static const SvxMSDffVertPair mso_sptRightTriangleVert[] =
221 { 0, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
223 static const SvxMSDffTextRectangles mso_sptRightTriangleTextRect[] =
225 { { 1900, 12700 }, { 12700, 19700 } }
227 static const SvxMSDffVertPair mso_sptRightTriangleGluePoints[] =
229 { 0, 0 }, { 0, 10800 }, { 0, 21600 }, { 10800, 21600 }, { 21600, 21600 }, { 10800, 10800 }
231 static const mso_CustomShape msoRightTriangle =
233 (SvxMSDffVertPair*)mso_sptRightTriangleVert, SAL_N_ELEMENTS( mso_sptRightTriangleVert ),
234 NULL, 0,
235 NULL, 0,
236 NULL,
237 (SvxMSDffTextRectangles*)mso_sptRightTriangleTextRect, SAL_N_ELEMENTS( mso_sptRightTriangleTextRect ),
238 21600, 21600,
239 MIN_INT32, MIN_INT32,
240 (SvxMSDffVertPair*)mso_sptRightTriangleGluePoints, SAL_N_ELEMENTS( mso_sptRightTriangleGluePoints ),
241 NULL, 0 // handles
244 static const SvxMSDffVertPair mso_sptEllipseVert[] =
246 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 }
248 static const sal_uInt16 mso_sptEllipseSegm[] =
250 0xa203, 0x6000, 0x8000
252 static const SvxMSDffTextRectangles mso_sptEllipseTextRect[] =
254 { { 3163, 3163 }, { 18437, 18437 } }
256 static const SvxMSDffVertPair mso_sptEllipseGluePoints[] =
258 { 10800, 0 }, { 3163, 3163 }, { 0, 10800 }, { 3163, 18437 }, { 10800, 21600 }, { 18437, 18437 }, { 21600, 10800 }, { 18437, 3163 }
260 static const mso_CustomShape msoEllipse =
262 (SvxMSDffVertPair*)mso_sptEllipseVert, SAL_N_ELEMENTS( mso_sptEllipseVert ),
263 (sal_uInt16*)mso_sptEllipseSegm, sizeof( mso_sptEllipseSegm ) >> 1,
264 NULL, 0,
265 NULL,
266 (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, SAL_N_ELEMENTS( mso_sptEllipseTextRect ),
267 21600, 21600,
268 MIN_INT32, MIN_INT32,
269 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
270 NULL, 0 // handles
273 static const SvxMSDffVertPair mso_sptParallelogramVert[] = // adjustment1 : 0 - 21600
275 { 0 MSO_I, 0 }, { 21600, 0 }, { 1 MSO_I, 21600 }, { 0, 21600 }
277 static const sal_uInt16 mso_sptParallelogramSegm[] =
279 0x4000, 0x0003, 0x6001, 0x8000
281 static const SvxMSDffCalculationData mso_sptParallelogramCalc[] =
283 { 0x4000, { 0, DFF_Prop_adjustValue, 0 } },
284 { 0x8000, { 0, 21600, DFF_Prop_adjustValue } },
285 { 0x2001, { DFF_Prop_adjustValue, 10, 24 } },
286 { 0x2000, { 0x0402, 1750, 0 } },
287 { 0x8000, { 21600, 0, 0x0403 } },
288 { 0x2001, { 0x400, 1, 2 } },
289 { 0x4000, { 10800, 0x405, 0 } },
290 { 0x2000, { 0x400, 0, 10800 } },
291 { 0x6006, { 0x407, 0x40d, 0 } },
292 { 0x8000, { 10800, 0, 0x405 } },
293 { 0x6006, { 0x407, 0x40c, 21600 } },
294 { 0x8000, { 21600, 0, 0x405 } },
295 { 0x8001, { 21600, 10800, 0x400 } },
296 { 0x8000, { 21600, 0, 0x40c } }
298 static const SvxMSDffTextRectangles mso_sptParallelogramTextRect[] =
300 { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
302 static const SvxMSDffVertPair mso_sptParallelogramGluePoints[] =
304 { 6 MSO_I, 0 }, { 10800, 8 MSO_I }, { 11 MSO_I, 10800 }, { 9 MSO_I, 21600 }, { 10800, 10 MSO_I }, { 5 MSO_I, 10800 }
306 static const SvxMSDffHandle mso_sptParallelogramHandle[] =
308 { MSDFF_HANDLE_FLAGS_RANGE,
309 0x100, 0, 10800, 10800, 0, 21600, MIN_INT32, 0x7fffffff }
311 static const mso_CustomShape msoParallelogram =
313 (SvxMSDffVertPair*)mso_sptParallelogramVert, SAL_N_ELEMENTS( mso_sptParallelogramVert ),
314 (sal_uInt16*)mso_sptParallelogramSegm, sizeof( mso_sptParallelogramSegm ) >> 1,
315 (SvxMSDffCalculationData*)mso_sptParallelogramCalc, SAL_N_ELEMENTS( mso_sptParallelogramCalc ),
316 (sal_Int32*)mso_sptDefault5400,
317 (SvxMSDffTextRectangles*)mso_sptParallelogramTextRect, SAL_N_ELEMENTS( mso_sptParallelogramTextRect ),
318 21600, 21600,
319 MIN_INT32, MIN_INT32,
320 (SvxMSDffVertPair*)mso_sptParallelogramGluePoints, SAL_N_ELEMENTS( mso_sptParallelogramGluePoints ),
321 (SvxMSDffHandle*)mso_sptParallelogramHandle, SAL_N_ELEMENTS( mso_sptParallelogramHandle ) // handles
324 static const SvxMSDffVertPair mso_sptDiamondVert[] =
326 { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 10800 }, { 10800, 0 }
328 static const SvxMSDffTextRectangles mso_sptDiamondTextRect[] =
330 { { 5400, 5400 }, { 16200, 16200 } }
332 static const mso_CustomShape msoDiamond =
334 (SvxMSDffVertPair*)mso_sptDiamondVert, SAL_N_ELEMENTS( mso_sptDiamondVert ),
335 NULL, 0,
336 NULL, 0,
337 NULL,
338 (SvxMSDffTextRectangles*)mso_sptDiamondTextRect, SAL_N_ELEMENTS( mso_sptDiamondTextRect ),
339 21600, 21600,
340 MIN_INT32, MIN_INT32,
341 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
342 NULL, 0 // handles
345 static const SvxMSDffVertPair mso_sptTrapezoidVert[] = // adjustment1 : 0 - 10800
347 { 0, 0 }, { 21600, 0 }, {0 MSO_I, 21600 }, { 1 MSO_I, 21600 }
349 static const sal_uInt16 mso_sptTrapezoidSegm[] =
351 0x4000, 0x0003, 0x6001, 0x8000
353 static const SvxMSDffCalculationData mso_sptTrapezoidCalc[] =
355 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
356 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
357 { 0x2001, { DFF_Prop_adjustValue, 10, 18 } },
358 { 0x2000, { 0x0402, 1750, 0 } },
359 { 0x8000, { 21600, 0, 0x403 } },
360 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
361 { 0x8000, { 21600, 0, 0x405 } }
363 static const SvxMSDffTextRectangles mso_sptTrapezoidTextRect[] =
365 { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
367 static const SvxMSDffVertPair mso_sptTrapezoidGluePoints[] =
369 { 6 MSO_I, 10800 }, { 10800, 21600 }, { 5 MSO_I, 10800 }, { 10800, 0 }
371 static const SvxMSDffHandle mso_sptTrapezoidHandle[] =
373 { MSDFF_HANDLE_FLAGS_RANGE,
374 0x100, 1, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
376 static const mso_CustomShape msoTrapezoid =
378 (SvxMSDffVertPair*)mso_sptTrapezoidVert, SAL_N_ELEMENTS( mso_sptTrapezoidVert ),
379 (sal_uInt16*)mso_sptTrapezoidSegm, sizeof( mso_sptTrapezoidSegm ) >> 1,
380 (SvxMSDffCalculationData*)mso_sptTrapezoidCalc, SAL_N_ELEMENTS( mso_sptTrapezoidCalc ),
381 (sal_Int32*)mso_sptDefault5400,
382 (SvxMSDffTextRectangles*)mso_sptTrapezoidTextRect, SAL_N_ELEMENTS( mso_sptTrapezoidTextRect ),
383 21600, 21600,
384 MIN_INT32, MIN_INT32,
385 (SvxMSDffVertPair*)mso_sptTrapezoidGluePoints, SAL_N_ELEMENTS( mso_sptTrapezoidGluePoints ),
386 (SvxMSDffHandle*)mso_sptTrapezoidHandle, SAL_N_ELEMENTS( mso_sptTrapezoidHandle ) // handles
391 The side of the enclosing square for the regular (all sides the
392 same, all angles the same) octagon described below is 21600. Let's
393 call that 'a'.
395 The "adjustment1" is the horizontal (or vertical) distance from a
396 side of the square to the nearest vertex. Let's call that 'd'.
398 Let's call the side of the regular octagon 'b'.
400 We know a. We want d. d=(a-b)/2
402 Pythagoras says that b^2 = 2d^2
404 Solving for b, we get b = (sqrt(2)-1)a
407 !------------a=21600-------!
409 !--d--!
410 x--------------x
429 x--------------x
433 static const SvxMSDffVertPair mso_sptOctagonVert[] = // adjustment1 : 0 - 10800
435 { 0 MSO_I, 0 }, { 2 MSO_I, 0 }, { 21600, 1 MSO_I }, { 21600, 3 MSO_I },
436 { 2 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0, 3 MSO_I }, { 0, 1 MSO_I }
438 static const sal_uInt16 mso_sptOctagonSegm[] =
440 0x4000, 0x0007, 0x6001, 0x8000
442 static const SvxMSDffCalculationData mso_sptOctagonCalc[] =
444 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
445 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
446 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
447 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
448 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
449 { 0x6000, { DFF_Prop_geoLeft, 0x404, 0 } },
450 { 0x6000, { DFF_Prop_geoTop, 0x404, 0 } },
451 { 0xa000, { DFF_Prop_geoRight, 0, 0x404 } },
452 { 0xa000, { DFF_Prop_geoBottom, 0, 0x404 } }
454 static const sal_Int32 mso_sptOctagonDefault[] =
456 1, static_cast<sal_Int32>((21600 - ((M_SQRT2-1)*21600)) / 2)
458 static const SvxMSDffTextRectangles mso_sptOctagonTextRect[] =
460 { { 5 MSO_I, 6 MSO_I }, { 7 MSO_I, 8 MSO_I } }
462 static const SvxMSDffHandle mso_sptOctagonHandle[] =
464 { MSDFF_HANDLE_FLAGS_RANGE,
465 0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
467 static const mso_CustomShape msoOctagon =
469 (SvxMSDffVertPair*)mso_sptOctagonVert, SAL_N_ELEMENTS( mso_sptOctagonVert ),
470 (sal_uInt16*)mso_sptOctagonSegm, sizeof( mso_sptOctagonSegm ) >> 1,
471 (SvxMSDffCalculationData*)mso_sptOctagonCalc, SAL_N_ELEMENTS( mso_sptOctagonCalc ),
472 (sal_Int32*)mso_sptOctagonDefault,
473 (SvxMSDffTextRectangles*)mso_sptOctagonTextRect, SAL_N_ELEMENTS( mso_sptOctagonTextRect ),
474 21600, 21600,
475 10800, 10800,
476 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
477 (SvxMSDffHandle*)mso_sptOctagonHandle, SAL_N_ELEMENTS( mso_sptOctagonHandle ) // handles
480 static const SvxMSDffVertPair mso_sptIsocelesTriangleVert[] = // adjustment1 : 0 - 21600
482 { 0 MSO_I, 0 }, { 21600, 21600 }, { 0, 21600 }
484 static const sal_uInt16 mso_sptIsocelesTriangleSegm[] =
486 0x4000, 0x0002, 0x6001, 0x8000
488 static const SvxMSDffCalculationData mso_sptIsocelesTriangleCalc[] =
490 { 0x4000, { 0, DFF_Prop_adjustValue, 0 } },
491 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
492 { 0x2000, { 0x401, 10800, 0 } },
493 { 0x2001, { DFF_Prop_adjustValue, 2, 3 } },
494 { 0x2000, { 0x403, 7200, 0 } },
495 { 0x8000, { 21600, 0, 0x400 } },
496 { 0x2001, { 0x405, 1, 2 } },
497 { 0x8000, { 21600, 0, 0x406 } }
499 static const SvxMSDffTextRectangles mso_sptIsocelesTriangleTextRect[] =
501 { { 1 MSO_I, 10800 }, { 2 MSO_I, 18000 } },
502 { { 3 MSO_I, 7200 }, { 4 MSO_I, 21600 } }
504 static const SvxMSDffVertPair mso_sptIsocelesTriangleGluePoints[] =
506 { 0 MSO_I, 0 }, { 1 MSO_I, 10800 }, { 0, 21600 }, { 10800, 21600 }, { 21600, 21600 }, { 7 MSO_I, 10800 }
508 static const SvxMSDffHandle mso_sptIsocelesTriangleHandle[] =
510 { MSDFF_HANDLE_FLAGS_RANGE,
511 0x100, 0, 10800, 10800, 0, 21600, MIN_INT32, 0x7fffffff }
513 static const mso_CustomShape msoIsocelesTriangle =
515 (SvxMSDffVertPair*)mso_sptIsocelesTriangleVert, SAL_N_ELEMENTS( mso_sptIsocelesTriangleVert ),
516 (sal_uInt16*)mso_sptIsocelesTriangleSegm, sizeof( mso_sptIsocelesTriangleSegm ) >> 1,
517 (SvxMSDffCalculationData*)mso_sptIsocelesTriangleCalc, SAL_N_ELEMENTS( mso_sptIsocelesTriangleCalc ),
518 (sal_Int32*)mso_sptDefault10800,
519 (SvxMSDffTextRectangles*)mso_sptIsocelesTriangleTextRect, SAL_N_ELEMENTS( mso_sptIsocelesTriangleTextRect ),
520 21600, 21600,
521 MIN_INT32, MIN_INT32,
522 (SvxMSDffVertPair*)mso_sptIsocelesTriangleGluePoints, SAL_N_ELEMENTS( mso_sptIsocelesTriangleGluePoints ),
523 (SvxMSDffHandle*)mso_sptIsocelesTriangleHandle, SAL_N_ELEMENTS( mso_sptIsocelesTriangleHandle ) // handles
526 static const SvxMSDffVertPair mso_sptHexagonVert[] = // adjustment1 : 0 - 10800
528 { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 21600, 10800 }, { 1 MSO_I, 21600 },
529 { 0 MSO_I, 21600 }, { 0, 10800 }
531 static const sal_uInt16 mso_sptHexagonSegm[] =
533 0x4000, 0x0005, 0x6001, 0x8000
535 static const SvxMSDffCalculationData mso_sptHexagonCalc[] =
537 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
538 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
539 { 0x2001, { DFF_Prop_adjustValue, 100, 234 } },
540 { 0x2000, { 0x402, 1700, 0 } },
541 { 0x8000, { 21600, 0, 0x403 } }
543 static const SvxMSDffTextRectangles mso_sptHexagonTextRect[] =
545 { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
547 static const SvxMSDffHandle mso_sptHexagonHandle[] =
549 { MSDFF_HANDLE_FLAGS_RANGE,
550 0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
552 static const mso_CustomShape msoHexagon =
554 (SvxMSDffVertPair*)mso_sptHexagonVert, SAL_N_ELEMENTS( mso_sptHexagonVert ),
555 (sal_uInt16*)mso_sptHexagonSegm, sizeof( mso_sptHexagonSegm ) >> 1,
556 (SvxMSDffCalculationData*)mso_sptHexagonCalc, SAL_N_ELEMENTS( mso_sptHexagonCalc ),
557 (sal_Int32*)mso_sptDefault5400,
558 (SvxMSDffTextRectangles*)mso_sptHexagonTextRect, SAL_N_ELEMENTS( mso_sptHexagonTextRect ),
559 21600, 21600,
560 MIN_INT32, MIN_INT32,
561 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
562 (SvxMSDffHandle*)mso_sptHexagonHandle, SAL_N_ELEMENTS( mso_sptHexagonHandle ) // handles
565 static const SvxMSDffVertPair mso_sptPentagonVert[] =
567 { 10800, 0 }, { 0, 8260 }, { 4230, 21600 }, { 17370, 21600 },
568 { 21600, 8260 }, { 10800, 0 }
570 static const SvxMSDffTextRectangles mso_sptPentagonTextRect[] =
572 { { 4230, 5080 }, { 17370, 21600 } }
574 static const SvxMSDffVertPair mso_sptPentagonGluePoints[] =
576 { 10800, 0 }, { 0, 8260 }, { 4230, 21600 }, { 10800, 21600 },
577 { 17370, 21600 }, { 21600, 8260 }
579 static const mso_CustomShape msoPentagon =
581 (SvxMSDffVertPair*)mso_sptPentagonVert, SAL_N_ELEMENTS( mso_sptPentagonVert ),
582 NULL, 0,
583 NULL, 0,
584 NULL,
585 (SvxMSDffTextRectangles*)mso_sptPentagonTextRect, SAL_N_ELEMENTS( mso_sptPentagonTextRect ),
586 21600, 21600,
587 MIN_INT32, MIN_INT32,
588 (SvxMSDffVertPair*)mso_sptPentagonGluePoints, SAL_N_ELEMENTS( mso_sptPentagonGluePoints ),
589 NULL, 0 // handles
592 static const SvxMSDffVertPair mso_sptPlusVert[] = // adjustment1 : 0 - 10800
594 { 1 MSO_I, 0 }, { 2 MSO_I, 0 }, { 2 MSO_I, 1 MSO_I }, { 21600, 1 MSO_I },
595 { 21600, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 21600 }, { 1 MSO_I, 21600 },
596 { 1 MSO_I, 3 MSO_I }, { 0, 3 MSO_I }, { 0, 1 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 1 MSO_I, 0 }
598 static const SvxMSDffCalculationData mso_sptPlusCalc[] =
600 { 0x2001, { DFF_Prop_adjustValue, 10799, 10800 } },
601 { 0x2000, { 0x400, 0, 0 } },
602 { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
603 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
605 static const SvxMSDffTextRectangles mso_sptPlusTextRect[] =
607 { { 1 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I } }
609 static const SvxMSDffHandle mso_sptPlusHandle[] =
611 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
612 0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
614 static const mso_CustomShape msoPlus =
616 (SvxMSDffVertPair*)mso_sptPlusVert, SAL_N_ELEMENTS( mso_sptPlusVert ),
617 NULL, 0,
618 (SvxMSDffCalculationData*)mso_sptPlusCalc, SAL_N_ELEMENTS( mso_sptPlusCalc ),
619 (sal_Int32*)mso_sptDefault5400,
620 (SvxMSDffTextRectangles*)mso_sptPlusTextRect, SAL_N_ELEMENTS( mso_sptPlusTextRect ),
621 21600, 21600,
622 10800, 10800,
623 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
624 (SvxMSDffHandle*)mso_sptPlusHandle, SAL_N_ELEMENTS( mso_sptPlusHandle ) // handles
627 static const SvxMSDffVertPair mso_sptCanVert[] = // adjustment1 : 0 - 10800
629 { 44, 0 },
630 { 20, 0 }, { 0, 2 MSO_I }, { 0, 0 MSO_I }, // ccp
631 { 0, 3 MSO_I }, // p
632 { 0, 4 MSO_I }, { 20, 21600 }, { 44, 21600 }, // ccp
633 { 68, 21600 }, { 88, 4 MSO_I }, { 88, 3 MSO_I }, // ccp
634 { 88, 0 MSO_I }, // p
635 { 88, 2 MSO_I }, { 68, 0 }, { 44, 0 }, // ccp
636 { 44, 0 }, // p
637 { 20, 0 }, { 0, 2 MSO_I }, { 0, 0 MSO_I }, // ccp
638 { 0, 5 MSO_I }, { 20, 6 MSO_I }, { 44, 6 MSO_I }, // ccp
639 { 68, 6 MSO_I },{ 88, 5 MSO_I }, { 88, 0 MSO_I }, // ccp
640 { 88, 2 MSO_I },{ 68, 0 }, { 44, 0 } // ccp
642 static const sal_uInt16 mso_sptCanSegm[] =
644 0x4000, 0x2001, 0x0001, 0x2002, 0x0001, 0x2001, 0x6001, 0x8000,
645 0x4000, 0x2004, 0x6001, 0x8000
647 static const SvxMSDffCalculationData mso_sptCanCalc[] =
649 { 0x2001, { DFF_Prop_adjustValue, 2, 4 } }, // 1/4
650 { 0x2001, { 0x0400, 6, 11 } },
651 { 0xa000, { 0x0400, 0, 0x0401 } },
652 { 0x8000, { 21600, 0, 0x0400 } },
653 { 0x6000, { 0x0403, 0x0401, 0 } },
654 { 0x6000, { 0x0400, 0x0401, 0 } },
655 { 0x2001, { DFF_Prop_adjustValue, 2, 2 } },
656 { 0x0000, { 44, 0, 0 } }
658 static const SvxMSDffTextRectangles mso_sptCanTextRect[] =
660 { { 0, 6 MSO_I }, { 88, 3 MSO_I } }
662 static const SvxMSDffVertPair mso_sptCanGluePoints[] =
664 { 44, 6 MSO_I }, { 44, 0 }, { 0, 10800 }, { 44, 21600 }, { 88, 10800 }
666 static const SvxMSDffHandle mso_sptCanHandle[] =
668 { MSDFF_HANDLE_FLAGS_RANGE,
669 7 + 3, 0x100, 44, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
671 static const mso_CustomShape msoCan =
673 (SvxMSDffVertPair*)mso_sptCanVert, SAL_N_ELEMENTS( mso_sptCanVert ),
674 (sal_uInt16*)mso_sptCanSegm, sizeof( mso_sptCanSegm ) >> 1,
675 (SvxMSDffCalculationData*)mso_sptCanCalc, SAL_N_ELEMENTS( mso_sptCanCalc ),
676 (sal_Int32*)mso_sptDefault5400,
677 (SvxMSDffTextRectangles*)mso_sptCanTextRect, SAL_N_ELEMENTS( mso_sptCanTextRect ),
678 88, 21600,
679 MIN_INT32, MIN_INT32,
680 (SvxMSDffVertPair*)mso_sptCanGluePoints, SAL_N_ELEMENTS( mso_sptCanGluePoints ),
681 (SvxMSDffHandle*)mso_sptCanHandle, SAL_N_ELEMENTS( mso_sptCanHandle ) // handles
684 static const SvxMSDffVertPair mso_sptArrowVert[] = // adjustment1: x 0 - 21600
685 { // adjustment2: y 0 - 10800
686 { 0, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 21600, 10800 },
687 { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 0, 2 MSO_I }
689 static const sal_uInt16 mso_sptArrowSegm[] =
691 0x4000, 0x0006, 0x6001, 0x8000
693 static const SvxMSDffCalculationData mso_sptArrowCalc[] =
695 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
696 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
697 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
698 { 0x8000, { 21600, 0, 0x401 } },
699 { 0x6001, { 0x403, 0x400, 10800 } },
700 { 0x6000, { 0x401, 0x404, 0 } },
701 { 0x6001, { 0x401, 0x400, 10800 } },
702 { 0xa000, { 0x401, 0, 0x406 } }
704 static const SvxMSDffTextRectangles mso_sptArrowTextRect[] =
706 { { 0, 0 MSO_I }, { 5 MSO_I, 2 MSO_I } }
708 static const SvxMSDffHandle mso_sptArrowHandle[] =
710 { MSDFF_HANDLE_FLAGS_RANGE,
711 0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
713 static const mso_CustomShape msoArrow =
715 (SvxMSDffVertPair*)mso_sptArrowVert, SAL_N_ELEMENTS( mso_sptArrowVert ),
716 (sal_uInt16*)mso_sptArrowSegm, sizeof( mso_sptArrowSegm ) >> 1,
717 (SvxMSDffCalculationData*)mso_sptArrowCalc, SAL_N_ELEMENTS( mso_sptArrowCalc ),
718 (sal_Int32*)mso_sptDefault16200and5400,
719 (SvxMSDffTextRectangles*)mso_sptArrowTextRect, SAL_N_ELEMENTS( mso_sptArrowTextRect ),
720 21600, 21600,
721 MIN_INT32, MIN_INT32,
722 NULL, 0,
723 (SvxMSDffHandle*)mso_sptArrowHandle, SAL_N_ELEMENTS( mso_sptArrowHandle ) // handles
726 static const SvxMSDffVertPair mso_sptLeftArrowVert[] = // adjustment1: x 0 - 21600
727 { // adjustment2: y 0 - 10800
728 { 21600, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 0, 10800 },
729 { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 21600, 2 MSO_I }
731 static const sal_uInt16 mso_sptLeftArrowSegm[] =
733 0x4000, 0x0006, 0x6001, 0x8000
735 static const sal_Int32 mso_sptLeftArrowDefault[] =
737 2, 5400, 5400
739 static const SvxMSDffTextRectangles mso_sptLeftArrowTextRect[] =
741 { { 7 MSO_I, 0 MSO_I }, { 21600, 2 MSO_I } }
743 static const SvxMSDffHandle mso_sptLeftArrowHandle[] =
745 { MSDFF_HANDLE_FLAGS_RANGE,
746 0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
748 static const mso_CustomShape msoLeftArrow =
750 (SvxMSDffVertPair*)mso_sptLeftArrowVert, SAL_N_ELEMENTS( mso_sptLeftArrowVert ),
751 (sal_uInt16*)mso_sptLeftArrowSegm, sizeof( mso_sptLeftArrowSegm ) >> 1,
752 (SvxMSDffCalculationData*)mso_sptArrowCalc, SAL_N_ELEMENTS( mso_sptArrowCalc ),
753 (sal_Int32*)mso_sptLeftArrowDefault,
754 (SvxMSDffTextRectangles*)mso_sptLeftArrowTextRect, SAL_N_ELEMENTS( mso_sptLeftArrowTextRect ),
755 21600, 21600,
756 MIN_INT32, MIN_INT32,
757 NULL, 0,
758 (SvxMSDffHandle*)mso_sptLeftArrowHandle, SAL_N_ELEMENTS( mso_sptLeftArrowHandle ) // handles
761 static const SvxMSDffVertPair mso_sptDownArrowVert[] = // adjustment1: x 0 - 21600
762 { // adjustment2: y 0 - 10800
763 { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 0, 1 MSO_I }, { 10800, 21600 },
764 { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 0 }
766 static const sal_uInt16 mso_sptDownArrowSegm[] =
768 0x4000, 0x0006, 0x6001, 0x8000
770 static const SvxMSDffTextRectangles mso_sptDownArrowTextRect[] =
772 { { 0 MSO_I, 0 }, { 2 MSO_I, 5 MSO_I } }
774 static const SvxMSDffHandle mso_sptDownArrowHandle[] =
776 { MSDFF_HANDLE_FLAGS_RANGE,
777 0x101, 0x100, 10800, 10800, 0, 10800, 0, 21600 }
779 static const mso_CustomShape msoDownArrow =
781 (SvxMSDffVertPair*)mso_sptDownArrowVert, SAL_N_ELEMENTS( mso_sptDownArrowVert ),
782 (sal_uInt16*)mso_sptDownArrowSegm, sizeof( mso_sptDownArrowSegm ) >> 1,
783 (SvxMSDffCalculationData*)mso_sptArrowCalc, SAL_N_ELEMENTS( mso_sptArrowCalc ),
784 (sal_Int32*)mso_sptDefault16200and5400,
785 (SvxMSDffTextRectangles*)mso_sptDownArrowTextRect, SAL_N_ELEMENTS( mso_sptDownArrowTextRect ),
786 21600, 21600,
787 MIN_INT32, MIN_INT32,
788 NULL, 0,
789 (SvxMSDffHandle*)mso_sptDownArrowHandle, SAL_N_ELEMENTS( mso_sptDownArrowHandle ) // handles
792 static const SvxMSDffVertPair mso_sptUpArrowVert[] = // adjustment1: x 0 - 21600
793 { // adjustment2: y 0 - 10800
794 { 0 MSO_I, 21600 }, { 0 MSO_I, 1 MSO_I }, { 0, 1 MSO_I }, { 10800, 0 },
795 { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 21600 }
797 static const sal_uInt16 mso_sptUpArrowSegm[] =
799 0x4000, 0x0006, 0x6001, 0x8000
801 static const sal_Int32 mso_sptUpArrowDefault[] =
803 2, 5400, 5400
805 static const SvxMSDffTextRectangles mso_sptUpArrowTextRect[] =
807 { { 0 MSO_I, 7 MSO_I }, { 2 MSO_I, 21600 } }
809 static const SvxMSDffHandle mso_sptUpArrowHandle[] =
811 { MSDFF_HANDLE_FLAGS_RANGE,
812 0x101, 0x100, 10800, 10800, 0, 10800, 0, 21600 }
814 static const mso_CustomShape msoUpArrow =
816 (SvxMSDffVertPair*)mso_sptUpArrowVert, SAL_N_ELEMENTS( mso_sptUpArrowVert ),
817 (sal_uInt16*)mso_sptUpArrowSegm, sizeof( mso_sptUpArrowSegm ) >> 1,
818 (SvxMSDffCalculationData*)mso_sptArrowCalc, SAL_N_ELEMENTS( mso_sptArrowCalc ),
819 (sal_Int32*)mso_sptUpArrowDefault,
820 (SvxMSDffTextRectangles*)mso_sptUpArrowTextRect, SAL_N_ELEMENTS( mso_sptUpArrowTextRect ),
821 21600, 21600,
822 MIN_INT32, MIN_INT32,
823 NULL, 0,
824 (SvxMSDffHandle*)mso_sptUpArrowHandle, SAL_N_ELEMENTS( mso_sptUpArrowHandle ) // handles
827 static const SvxMSDffVertPair mso_sptLeftRightArrowVert[] = // adjustment1: x 0 - 10800
828 { // adjustment2: y 0 - 10800
829 { 0, 10800 }, { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 1 MSO_I },
830 { 2 MSO_I, 0 }, { 21600, 10800 }, { 2 MSO_I, 21600 }, { 2 MSO_I, 3 MSO_I },
831 { 0 MSO_I, 3 MSO_I }, { 0 MSO_I, 21600 }
833 static const sal_uInt16 mso_sptLeftRightArrowSegm[] =
835 0x4000, 0x0009, 0x6001, 0x8000
837 static const SvxMSDffCalculationData mso_sptDoubleArrowCalc[] =
839 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
840 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
841 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
842 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
843 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
844 { 0x6001, { DFF_Prop_adjustValue, 0x404, 10800 } },
845 { 0x8000, { 21600, 0, 0x405 } },
846 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
847 { 0x6001, { DFF_Prop_adjust2Value, 0x407, 10800 } },
848 { 0x8000, { 21600, 0, 0x408 } }
850 static const sal_Int32 mso_sptLeftRightArrowDefault[] =
852 2, 4300, 5400
854 static const SvxMSDffTextRectangles mso_sptLeftRightArrowTextRect[] =
856 { { 5 MSO_I, 1 MSO_I }, { 6 MSO_I, 3 MSO_I } }
858 static const SvxMSDffHandle mso_sptLeftRightArrowHandle[] =
860 { MSDFF_HANDLE_FLAGS_RANGE,
861 0x100, 0x101, 10800, 10800, 0, 10800, 0, 10800 }
863 static const mso_CustomShape msoLeftRightArrow =
865 (SvxMSDffVertPair*)mso_sptLeftRightArrowVert, SAL_N_ELEMENTS( mso_sptLeftRightArrowVert ),
866 (sal_uInt16*)mso_sptLeftRightArrowSegm, sizeof( mso_sptLeftRightArrowSegm ) >> 1,
867 (SvxMSDffCalculationData*)mso_sptDoubleArrowCalc, SAL_N_ELEMENTS( mso_sptDoubleArrowCalc ),
868 (sal_Int32*)mso_sptLeftRightArrowDefault,
869 (SvxMSDffTextRectangles*)mso_sptLeftRightArrowTextRect, SAL_N_ELEMENTS( mso_sptLeftRightArrowTextRect ),
870 21600, 21600,
871 MIN_INT32, MIN_INT32,
872 NULL, 0,
873 (SvxMSDffHandle*)mso_sptLeftRightArrowHandle, SAL_N_ELEMENTS( mso_sptLeftRightArrowHandle ) // handles
876 static const SvxMSDffVertPair mso_sptUpDownArrowVert[] = // adjustment1: x 0 - 10800
877 { // adjustment2: y 0 - 10800
878 { 0, 1 MSO_I }, { 10800, 0 }, { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I },
879 { 2 MSO_I, 3 MSO_I }, { 21600, 3 MSO_I }, { 10800, 21600 }, { 0, 3 MSO_I },
880 { 0 MSO_I, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }
882 static const sal_uInt16 mso_sptUpDownArrowSegm[] =
884 0x4000, 0x0009, 0x6001, 0x8000
886 static const sal_Int32 mso_sptUpDownArrowDefault[] =
888 2, 5400, 4300
890 static const SvxMSDffTextRectangles mso_sptUpDownArrowTextRect[] =
892 { { 0 MSO_I, 8 MSO_I }, { 2 MSO_I, 9 MSO_I } }
894 static const SvxMSDffHandle mso_sptUpDownArrowHandle[] =
896 { MSDFF_HANDLE_FLAGS_RANGE,
897 0x100, 0x101, 10800, 10800, 0, 10800, 0, 10800 }
899 static const mso_CustomShape msoUpDownArrow =
901 (SvxMSDffVertPair*)mso_sptUpDownArrowVert, SAL_N_ELEMENTS( mso_sptUpDownArrowVert ),
902 (sal_uInt16*)mso_sptUpDownArrowSegm, sizeof( mso_sptUpDownArrowSegm ) >> 1,
903 (SvxMSDffCalculationData*)mso_sptDoubleArrowCalc, SAL_N_ELEMENTS( mso_sptDoubleArrowCalc ),
904 (sal_Int32*)mso_sptUpDownArrowDefault,
905 (SvxMSDffTextRectangles*)mso_sptUpDownArrowTextRect, SAL_N_ELEMENTS( mso_sptUpDownArrowTextRect ),
906 21600, 21600,
907 MIN_INT32, MIN_INT32,
908 NULL, 0,
909 (SvxMSDffHandle*)mso_sptUpDownArrowHandle, SAL_N_ELEMENTS( mso_sptUpDownArrowHandle ) // handles
912 static const SvxMSDffVertPair mso_sptQuadArrowVert[] = // adjustment1: x 0 - 10800, adjustment2: x 0 - 10800
913 { // adjustment3: y 0 - 10800
914 { 0, 10800 }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 2 MSO_I, 2 MSO_I },
915 { 2 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 10800, 0 }, { 3 MSO_I, 0 MSO_I },
916 { 4 MSO_I, 0 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 5 MSO_I, 1 MSO_I },
917 { 21600, 10800 }, { 5 MSO_I, 3 MSO_I }, { 5 MSO_I, 4 MSO_I }, { 4 MSO_I, 4 MSO_I },
918 { 4 MSO_I, 5 MSO_I }, { 3 MSO_I, 5 MSO_I }, { 10800, 21600 }, { 1 MSO_I, 5 MSO_I },
919 { 2 MSO_I, 5 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 0 MSO_I, 4 MSO_I }, { 0 MSO_I, 3 MSO_I }
921 static const sal_uInt16 mso_sptQuadArrowSegm[] =
923 0x4000, 0x0017, 0x6001, 0x8000
925 static const SvxMSDffCalculationData mso_sptQuadArrowCalc[] =
927 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
928 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
929 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
930 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
931 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
932 { 0x8000, { 21600, 0, DFF_Prop_adjust3Value } }
934 static const sal_Int32 mso_sptQuadArrowDefault[] =
936 3, 6500, 8600, 4300
938 static const SvxMSDffTextRectangles mso_sptQuadArrowTextRect[] = // todo
940 { { 0, 0 }, { 21600, 21600 } }
942 static const SvxMSDffHandle mso_sptQuadArrowHandle[] =
944 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
945 0x101, 0x102, 10800, 10800, 0x100, 10800, 0, 0x100 },
946 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
947 0x100, 0, 10800, 10800, 0x102, 0x101, MIN_INT32, 0x7fffffff }
949 static const mso_CustomShape msoQuadArrow =
951 (SvxMSDffVertPair*)mso_sptQuadArrowVert, SAL_N_ELEMENTS( mso_sptQuadArrowVert ),
952 (sal_uInt16*)mso_sptQuadArrowSegm, sizeof( mso_sptQuadArrowSegm ) >> 1,
953 (SvxMSDffCalculationData*)mso_sptQuadArrowCalc, SAL_N_ELEMENTS( mso_sptQuadArrowCalc ),
954 (sal_Int32*)mso_sptQuadArrowDefault,
955 (SvxMSDffTextRectangles*)mso_sptQuadArrowTextRect, SAL_N_ELEMENTS( mso_sptQuadArrowTextRect ),
956 21600, 21600,
957 MIN_INT32, MIN_INT32,
958 NULL, 0,
959 (SvxMSDffHandle*)mso_sptQuadArrowHandle, SAL_N_ELEMENTS( mso_sptQuadArrowHandle ) // handles
962 static const SvxMSDffVertPair mso_sptLeftRightUpArrowVert[] = // adjustment1: x 0 - 10800, adjustment2: x 0 - 10800
963 { // adjustment3: y 0 - 21600
964 { 10800, 0 }, { 3 MSO_I, 2 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 4 MSO_I, 1 MSO_I },
965 { 5 MSO_I, 1 MSO_I }, { 5 MSO_I, 0 MSO_I }, { 21600, 10800 }, { 5 MSO_I, 3 MSO_I },
966 { 5 MSO_I, 4 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0, 10800 },
967 { 2 MSO_I, 0 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 1 MSO_I, 2 MSO_I },
968 { 0 MSO_I, 2 MSO_I }
970 static const sal_uInt16 mso_sptLeftRightUpArrowSegm[] =
972 0x4000, 0x0010, 0x6001, 0x8000
974 static const SvxMSDffCalculationData mso_sptLeftRightUpArrowCalc[] =
976 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
977 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 1
978 { 0x6001, { 0x0403, DFF_Prop_adjust3Value, 21600 } }, // 2
979 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 3
980 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } }, // 4
981 { 0x8000, { 21600, 0, 0x0402 } } // 5
983 static const sal_Int32 mso_sptLeftRightUpArrowDefault[] =
985 3, 6500, 8600, 6200
987 static const SvxMSDffTextRectangles mso_sptLeftRightUpArrowTextRect[] = // todo
989 { { 0, 0 }, { 21600, 21600 } }
991 static const SvxMSDffHandle mso_sptLeftRightUpArrowHandle[] =
993 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
994 0x101, 0x102, 10800, 10800, 0x100, 10800, 0, 0x100 },
995 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
996 0x100, 0, 10800, 10800, 0x102, 0x101, MIN_INT32, 0x7fffffff }
998 static const mso_CustomShape msoLeftRightUpArrow =
1000 (SvxMSDffVertPair*)mso_sptLeftRightUpArrowVert, SAL_N_ELEMENTS( mso_sptLeftRightUpArrowVert ),
1001 (sal_uInt16*)mso_sptLeftRightUpArrowSegm, sizeof( mso_sptLeftRightUpArrowSegm ) >> 1,
1002 (SvxMSDffCalculationData*)mso_sptLeftRightUpArrowCalc, SAL_N_ELEMENTS( mso_sptLeftRightUpArrowCalc ),
1003 (sal_Int32*)mso_sptLeftRightUpArrowDefault,
1004 (SvxMSDffTextRectangles*)mso_sptLeftRightUpArrowTextRect, SAL_N_ELEMENTS( mso_sptLeftRightUpArrowTextRect ),
1005 21600, 21600,
1006 MIN_INT32, MIN_INT32,
1007 NULL, 0,
1008 (SvxMSDffHandle*)mso_sptLeftRightUpArrowHandle, SAL_N_ELEMENTS( mso_sptLeftRightUpArrowHandle ) // handles
1011 static const SvxMSDffVertPair mso_sptBentArrowVert[] = // adjustment1 : x 12427 - 21600
1012 { // adjustment2 : y 0 - 6079
1013 { 0, 21600 }, { 0, 12160 }, { 12427, 1 MSO_I }, { 0 MSO_I, 1 MSO_I },
1014 { 0 MSO_I, 0 }, { 21600, 6079 }, { 0 MSO_I, 12158 }, { 0 MSO_I, 2 MSO_I },
1015 { 12427, 2 MSO_I }, { 4 MSO_I, 12160 }, { 4 MSO_I, 21600 }
1017 static const sal_uInt16 mso_sptBentArrowSegm[] =
1019 0x4000, 0x0001, 0xa801, 0x0006, 0xa701, 0x0001, 0x6001, 0x8000
1021 static const SvxMSDffCalculationData mso_sptBentArrowCalc[] =
1023 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1024 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1025 { 0x8000, { 12158, 0, DFF_Prop_adjust2Value } },
1026 { 0x8000, { 6079, 0, DFF_Prop_adjust2Value } },
1027 { 0x2001, { 0x0403, 2, 1 } }
1029 static const sal_Int32 mso_sptBentArrowDefault[] =
1031 2, 15100, 2900
1033 static const SvxMSDffTextRectangles mso_sptBentArrowTextRect[] = // todo
1035 { { 0, 0 }, { 21600, 21600 } }
1037 static const SvxMSDffHandle mso_sptBentArrowHandle[] =
1039 { MSDFF_HANDLE_FLAGS_RANGE,
1040 0x100, 0x101, 10800, 10800, 12427, 21600, 0, 6079 }
1042 static const mso_CustomShape msoBentArrow =
1044 (SvxMSDffVertPair*)mso_sptBentArrowVert, SAL_N_ELEMENTS( mso_sptBentArrowVert ),
1045 (sal_uInt16*)mso_sptBentArrowSegm, sizeof( mso_sptBentArrowSegm ) >> 1,
1046 (SvxMSDffCalculationData*)mso_sptBentArrowCalc, SAL_N_ELEMENTS( mso_sptBentArrowCalc ),
1047 (sal_Int32*)mso_sptBentArrowDefault,
1048 (SvxMSDffTextRectangles*)mso_sptBentArrowTextRect, SAL_N_ELEMENTS( mso_sptBentArrowTextRect ),
1049 21600, 21600,
1050 MIN_INT32, MIN_INT32,
1051 NULL, 0,
1052 (SvxMSDffHandle*)mso_sptBentArrowHandle, SAL_N_ELEMENTS( mso_sptBentArrowHandle ) // handles
1055 static const SvxMSDffVertPair mso_sptUturnArrowVert[] =
1057 { 0, 21600 }, { 0, 8550 }, // pp
1058 { 0, 3540 }, { 4370, 0 }, { 9270, 0 }, // ccp
1059 { 13890, 0 }, { 18570, 3230 }, { 18600, 8300 }, // ccp
1060 { 21600, 8300 }, { 15680, 14260 }, { 9700, 8300 }, { 12500, 8300 }, // pppp
1061 { 12320, 6380 }, { 10870, 5850 }, { 9320, 5850 }, // ccp
1062 { 7770, 5850 }, { 6040, 6410 }, { 6110, 8520 }, // ccp
1063 { 6110, 21600 }
1065 static const sal_uInt16 mso_sptUturnArrowSegm[] =
1067 0x4000, 0x0001, 0x2002, 0x0004, 0x2002, 0x0001, 0x6000, 0x8000
1069 static const SvxMSDffTextRectangles mso_sptUturnArrowTextRect[] =
1071 { { 0, 8280 }, { 6110, 21600 } }
1073 static const mso_CustomShape msoUturnArrow =
1075 (SvxMSDffVertPair*)mso_sptUturnArrowVert, SAL_N_ELEMENTS( mso_sptUturnArrowVert ),
1076 (sal_uInt16*)mso_sptUturnArrowSegm, sizeof( mso_sptUturnArrowSegm ) >> 1,
1077 NULL, 0,
1078 NULL,
1079 (SvxMSDffTextRectangles*)mso_sptUturnArrowTextRect, SAL_N_ELEMENTS( mso_sptUturnArrowTextRect ),
1080 21600, 21600,
1081 MIN_INT32, MIN_INT32,
1082 NULL, 0,
1083 NULL, 0 // handles
1086 static const SvxMSDffVertPair mso_sptLeftUpArrowVert[] = // adjustment1 : x 0 - 21600, adjustment2 : x 0 - 21600
1087 { // adjustment3 : y 0 - 21600
1088 { 0, 5 MSO_I }, { 2 MSO_I, 0 MSO_I }, { 2 MSO_I, 7 MSO_I }, { 7 MSO_I, 7 MSO_I },
1089 { 7 MSO_I, 2 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 5 MSO_I, 0 }, { 21600, 2 MSO_I },
1090 { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 21600 }
1092 static const sal_uInt16 mso_sptLeftUpArrowSegm[] =
1094 0x4000, 0x000b, 0x6001, 0x8000
1096 static const SvxMSDffCalculationData mso_sptLeftUpArrowCalc[] =
1098 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
1099 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 1
1100 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, // 2
1101 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 3
1102 { 0x2001, { 0x0403, 1, 2 } }, // 4
1103 { 0x6000, { DFF_Prop_adjustValue, 0x0404, 0 } }, // 5
1104 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } }, // 6
1105 { 0x6000, { DFF_Prop_adjustValue, 0x0406, 0 } }, // 7
1106 { 0x8000, { 21600, 0, 0x406 } }, // 8
1107 { 0xa000, { 0x408, 0, 0x406 } } // 9
1109 static const sal_Int32 mso_sptLeftUpArrowDefault[] =
1111 3, 9340, 18500, 6200
1113 static const SvxMSDffTextRectangles mso_sptLeftUpArrowTextRect[] =
1115 { { 2 MSO_I, 7 MSO_I }, { 1 MSO_I, 1 MSO_I } },
1116 { { 7 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I } }
1118 static const SvxMSDffHandle mso_sptLeftUpArrowHandle[] =
1120 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
1121 0x101, 0x102, 10800, 10800, 3 + 5, 21600, 0, 0x100 },
1122 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1123 0x100, 0, 10800, 10800, 0x102, 3 + 9, MIN_INT32, 0x7fffffff }
1125 static const mso_CustomShape msoLeftUpArrow =
1127 (SvxMSDffVertPair*)mso_sptLeftUpArrowVert, SAL_N_ELEMENTS( mso_sptLeftUpArrowVert ),
1128 (sal_uInt16*)mso_sptLeftUpArrowSegm, sizeof( mso_sptLeftUpArrowSegm ) >> 1,
1129 (SvxMSDffCalculationData*)mso_sptLeftUpArrowCalc, SAL_N_ELEMENTS( mso_sptLeftUpArrowCalc ),
1130 (sal_Int32*)mso_sptLeftUpArrowDefault,
1131 (SvxMSDffTextRectangles*)mso_sptLeftUpArrowTextRect, SAL_N_ELEMENTS( mso_sptLeftUpArrowTextRect ),
1132 21600, 21600,
1133 MIN_INT32, MIN_INT32,
1134 NULL, 0,
1135 (SvxMSDffHandle*)mso_sptLeftUpArrowHandle, SAL_N_ELEMENTS( mso_sptLeftUpArrowHandle ) // handles
1138 static const SvxMSDffVertPair mso_sptBentUpArrowVert[] = // adjustment1 : x 0 - 21600, adjustment2 : x 0 - 21600
1139 { // adjustment3 : y 0 - 21600
1140 { 0, 8 MSO_I }, { 7 MSO_I, 8 MSO_I }, { 7 MSO_I, 2 MSO_I }, { 0 MSO_I, 2 MSO_I },
1141 { 5 MSO_I, 0 }, { 21600, 2 MSO_I }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 21600 },
1142 { 0, 21600 }
1144 static const sal_uInt16 mso_sptBentUpArrowSegm[] =
1146 0x4000, 0x0008, 0x6001, 0x8000
1148 static const SvxMSDffCalculationData mso_sptBentUpArrowCalc[] =
1150 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
1151 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 1
1152 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, // 2
1153 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 3
1154 { 0x2001, { 0x0403, 1, 2 } }, // 4
1155 { 0x6000, { DFF_Prop_adjustValue, 0x0404, 0 } }, // 5
1156 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } }, // 6
1157 { 0x6000, { DFF_Prop_adjustValue, 0x0406, 0 } }, // 7
1158 { 0x6000, { 0x0407, 0x0406, 0 } }, // 8
1159 { 0x8000, { 21600, 0, 0x406 } }, // 9
1160 { 0xa000, { 0x409, 0, 0x406 } } // a
1162 static const sal_Int32 mso_sptBentUpArrowDefault[] =
1164 3, 9340, 18500, 7200
1166 static const SvxMSDffTextRectangles mso_sptBentUpArrowTextRect[] =
1168 { { 2 MSO_I, 7 MSO_I }, { 1 MSO_I, 1 MSO_I } },
1169 { { 7 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I } }
1171 static const SvxMSDffHandle mso_sptBentUpArrowHandle[] =
1173 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
1174 0x101, 0x102, 10800, 10800, 3 + 5, 21600, 0, 0x100 },
1175 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1176 0x100, 0, 10800, 10800, 0x102, 3 + 10, MIN_INT32, 0x7fffffff }
1178 static const mso_CustomShape msoBentUpArrow =
1180 (SvxMSDffVertPair*)mso_sptBentUpArrowVert, SAL_N_ELEMENTS( mso_sptBentUpArrowVert ),
1181 (sal_uInt16*)mso_sptBentUpArrowSegm, sizeof( mso_sptBentUpArrowSegm ) >> 1,
1182 (SvxMSDffCalculationData*)mso_sptBentUpArrowCalc, SAL_N_ELEMENTS( mso_sptBentUpArrowCalc ),
1183 (sal_Int32*)mso_sptBentUpArrowDefault,
1184 (SvxMSDffTextRectangles*)mso_sptBentUpArrowTextRect, SAL_N_ELEMENTS( mso_sptBentUpArrowTextRect ),
1185 21600, 21600,
1186 MIN_INT32, MIN_INT32,
1187 NULL, 0,
1188 (SvxMSDffHandle*)mso_sptBentUpArrowHandle, SAL_N_ELEMENTS( mso_sptBentUpArrowHandle )
1191 static const SvxMSDffVertPair mso_sptCurvedRightVert[] =
1193 { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 22 MSO_I, 0 }, { 0, 4 MSO_I }, { 0, 15 MSO_I }, { 23 MSO_I, 1 MSO_I }, { 0, 7 MSO_I }, { 2 MSO_I, 13 MSO_I },
1194 { 2 MSO_I, 14 MSO_I }, { 22 MSO_I, 8 MSO_I }, { 2 MSO_I, 12 MSO_I },
1195 { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 2 MSO_I, 11 MSO_I }, { 26 MSO_I, 17 MSO_I }, { 0, 15 MSO_I }, { 23 MSO_I, 1 MSO_I }, { 26 MSO_I, 17 MSO_I }, { 22 MSO_I, 15 MSO_I },
1196 { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 22 MSO_I, 0 }, { 0, 4 MSO_I },
1197 { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 0, 4 MSO_I }, { 26 MSO_I, 17 MSO_I },
1198 { 0, 15 MSO_I }, { 23 MSO_I, 1 MSO_I }, { 26 MSO_I, 17 MSO_I }, { 22 MSO_I, 15 MSO_I }
1200 static const sal_uInt16 mso_sptCurvedRightSegm[] =
1202 0xa408,
1203 0x0003,
1204 0xa508,
1205 0x6000,
1206 0x8000,
1207 0xa404,
1208 0xa304,
1209 0xa504,
1210 0x6000,
1211 0x8000
1213 static const SvxMSDffCalculationData mso_sptCurvedRightCalc[] =
1215 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1216 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1217 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1218 { 0xa000, { DFF_Prop_adjustValue, 21600, DFF_Prop_adjust2Value } },
1219 { 0x2001, { 0x403, 1, 2 } },
1220 { 0x6000, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 21600 } },
1221 { 0xe000, { 0x405, DFF_Prop_adjust2Value, DFF_Prop_adjustValue } },
1222 { 0x2001, { 0x406, 1, 2 } },
1223 { 0x4002, { 21600, DFF_Prop_adjustValue, 0 } },
1224 { 0x8000, { 21600, 0, DFF_Prop_adjust3Value } },
1225 { 0xa00f, { 0x409, 21600, 0x404 } },
1226 { 0x6000, { 0x404, 0x40a, 0 } },
1227 { 0x6000, { 0x40b, DFF_Prop_adjust2Value, 21600 } },
1228 { 0x6000, { 0x407, 0x40a, 0 } },
1229 { 0xa000, { 0x40c, 21600, DFF_Prop_adjustValue } },
1230 { 0xa000, { 0x405, 0, DFF_Prop_adjustValue } },
1231 { 0x2001, { 0x40f, 1, 2 } },
1232 { 0x6002, { 0x404, 0x407, 0 } },
1233 { 0x6000, { DFF_Prop_adjustValue, DFF_Prop_adjust2Value, 21600 } },
1234 { 0x2001, { 0x412, 1, 2 } },
1235 { 0xa000, { 0x411, 0, 0x413 } },
1236 { 0x0000, { 21600, 0, 0 } },
1237 { 0x0000, { 21600, 0, 0 } },
1238 { 0x0001, { 21600, 2, 1 } },
1239 { 0xa000, { 0x411, 0, 0x404 } },
1240 { 0x600f, { 0x418, 0x404, 21600 } },
1241 { 0x8000, { 21600, 0, 0x419 } },
1242 { 0x2000, { 0x408, 128, 0 } },
1243 { 0x2001, { 0x405, 1, 2 } },
1244 { 0x2000, { 0x405, 0, 128 } },
1245 { 0xe000, { DFF_Prop_adjustValue, 0x411, 0x40c } },
1246 { 0x600f, { 0x414, 0x404, 21600 } },
1247 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
1248 { 0x2001, { 0x420, 1, 2 } },
1249 { 0x0001, { 21600, 21600, 1 } },
1250 { 0x6001, { 0x409, 0x409, 1 } },
1251 { 0xa000, { 0x422, 0, 0x423 } },
1252 { 0x200d, { 0x424, 0, 0 } },
1253 { 0x2000, { 0x425, 21600, 0 } },
1254 { 0x8001, { 21600, 21600, 0x426 } },
1255 { 0x2000, { 0x427, 64, 0 } },
1256 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
1257 { 0x600f, { 0x421, 0x429, 21600 } },
1258 { 0x8000, { 21600, 0, 0x42a } },
1259 { 0x2000, { 0x42b, 64, 0 } },
1260 { 0x2001, { 0x404, 1, 2 } },
1261 { 0xa000, { DFF_Prop_adjust2Value, 0, 0x42d } },
1262 { 0x0001, { 21600, 2195, 16384 } },
1263 { 0x0001, { 21600, 14189, 16384 } }
1265 static const sal_Int32 mso_sptCurvedRightDefault[] =
1267 3, 12960, 19440, 14400
1269 static const SvxMSDffTextRectangles mso_sptCurvedRightTextRect[] =
1271 { { 47 MSO_I, 45 MSO_I }, { 48 MSO_I, 46 MSO_I } }
1273 static const SvxMSDffVertPair mso_sptCurvedRightGluePoints[] =
1275 { 0, 17 MSO_I }, { 2 MSO_I, 14 MSO_I }, { 22 MSO_I, 8 MSO_I }, { 2 MSO_I, 12 MSO_I }, { 22 MSO_I, 16 MSO_I }
1277 static const SvxMSDffHandle mso_sptCurvedRightHandles[] =
1279 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1280 21600, 0x100, 10800, 10800, 0, 10800, 3 + 40, 3 + 29 },
1281 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1282 21600, 0x101, 10800, 10800, 0, 10800, 3 + 27, 3 + 21 },
1283 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1284 0x102, 21600, 10800, 10800, 3 + 44, 3 + 22, 3375, 21600 }
1286 static const mso_CustomShape msoCurvedRightArrow =
1288 (SvxMSDffVertPair*)mso_sptCurvedRightVert, SAL_N_ELEMENTS( mso_sptCurvedRightVert ),
1289 (sal_uInt16*)mso_sptCurvedRightSegm, sizeof( mso_sptCurvedRightSegm ) >> 1,
1290 (SvxMSDffCalculationData*)mso_sptCurvedRightCalc, SAL_N_ELEMENTS( mso_sptCurvedRightCalc ),
1291 (sal_Int32*)mso_sptCurvedRightDefault,
1292 (SvxMSDffTextRectangles*)mso_sptCurvedRightTextRect, SAL_N_ELEMENTS( mso_sptCurvedRightTextRect ),
1293 21600, 21600,
1294 MIN_INT32, MIN_INT32,
1295 (SvxMSDffVertPair*)mso_sptCurvedRightGluePoints, SAL_N_ELEMENTS( mso_sptCurvedRightGluePoints ),
1296 (SvxMSDffHandle*)mso_sptCurvedRightHandles, SAL_N_ELEMENTS( mso_sptCurvedRightHandles )
1299 static const SvxMSDffVertPair mso_sptCurvedDownVert[] =
1301 { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 0, 22 MSO_I }, { 4 MSO_I, 0 },
1302 { 15 MSO_I, 0 }, { 1 MSO_I, 23 MSO_I }, { 7 MSO_I, 0 }, { 13 MSO_I, 2 MSO_I },
1303 { 14 MSO_I, 2 MSO_I }, { 8 MSO_I, 22 MSO_I }, { 12 MSO_I, 2 MSO_I },
1304 { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 11 MSO_I, 2 MSO_I }, { 17 MSO_I, 26 MSO_I }, { 15 MSO_I, 0 },
1305 { 1 MSO_I, 23 MSO_I }, { 17 MSO_I, 26 MSO_I }, { 15 MSO_I, 22 MSO_I },
1306 { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 0, 22 MSO_I }, { 4 MSO_I, 0 },
1307 { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 4 MSO_I, 0 }, { 17 MSO_I, 26 MSO_I },
1308 { 15 MSO_I, 0 }, { 1 MSO_I, 23 MSO_I }, { 17 MSO_I, 26 MSO_I }, { 15 MSO_I, 22 MSO_I }
1310 static const sal_uInt16 mso_sptCurvedDownSegm[] =
1312 0xa608,
1313 0x0003,
1314 0xa308,
1315 0x6000,
1316 0x8000,
1317 0xa604,
1318 0xa504,
1319 0xa304,
1320 0x6000,
1321 0x8000
1323 static const SvxMSDffTextRectangles mso_sptCurvedDownTextRect[] =
1325 { { 45 MSO_I, 47 MSO_I }, { 46 MSO_I, 48 MSO_I } }
1327 static const SvxMSDffVertPair mso_sptCurvedDownGluePoints[] =
1329 { 17 MSO_I, 0 }, { 16 MSO_I, 22 MSO_I }, { 12 MSO_I, 2 MSO_I }, { 8 MSO_I, 22 MSO_I }, { 14 MSO_I, 2 MSO_I }
1331 static const SvxMSDffHandle mso_sptCurvedDownHandles[] =
1333 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1334 0x100, 21600, 10800, 10800, 3 + 40, 3 + 29, 0, 10800 },
1335 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1336 0x101, 21600, 10800, 10800, 3 + 27, 3 + 21, 0, 10800 },
1337 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1338 21600, 0x102, 10800, 10800, 3375, 21600, 3 + 44, 3 + 22 }
1341 static const mso_CustomShape msoCurvedDownArrow =
1343 (SvxMSDffVertPair*)mso_sptCurvedDownVert, SAL_N_ELEMENTS( mso_sptCurvedDownVert ),
1344 (sal_uInt16*)mso_sptCurvedDownSegm, sizeof( mso_sptCurvedDownSegm ) >> 1,
1345 (SvxMSDffCalculationData*)mso_sptCurvedRightCalc, SAL_N_ELEMENTS( mso_sptCurvedRightCalc ),
1346 (sal_Int32*)mso_sptCurvedRightDefault,
1347 (SvxMSDffTextRectangles*)mso_sptCurvedDownTextRect, SAL_N_ELEMENTS( mso_sptCurvedDownTextRect ),
1348 21600, 21600,
1349 MIN_INT32, MIN_INT32,
1350 (SvxMSDffVertPair*)mso_sptCurvedDownGluePoints, SAL_N_ELEMENTS( mso_sptCurvedDownGluePoints ),
1351 (SvxMSDffHandle*)mso_sptCurvedDownHandles, SAL_N_ELEMENTS( mso_sptCurvedDownHandles )
1354 static const SvxMSDffVertPair mso_sptCurvedUpVert[] =
1356 { 0, 22 MSO_I }, { 3 MSO_I, 21 MSO_I }, { 0, 0 }, { 4 MSO_I, 21 MSO_I },
1357 { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 7 MSO_I, 21 MSO_I },
1358 { 12 MSO_I, 2 MSO_I }, { 13 MSO_I, 2 MSO_I }, { 8 MSO_I, 0 }, { 11 MSO_I, 2 MSO_I },
1359 { 0, 22 MSO_I }, { 3 MSO_I, 21 MSO_I }, { 10 MSO_I, 2 MSO_I }, { 16 MSO_I, 24 MSO_I },
1360 { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 16 MSO_I, 24 MSO_I }, { 14 MSO_I, 0 },
1361 { 0, 22 MSO_I }, { 3 MSO_I, 21 MSO_I }, { 0, 0 }, { 4 MSO_I, 21 MSO_I },
1362 { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 7 MSO_I, 21 MSO_I }, { 16 MSO_I, 24 MSO_I },
1363 { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 16 MSO_I, 24 MSO_I }, { 14 MSO_I, 0 }
1365 static const sal_uInt16 mso_sptCurvedUpSegm[] =
1367 0xa408,
1368 0x0003,
1369 0xa508,
1370 0x6000,
1371 0x8000,
1372 0xa404,
1373 0xa508,
1374 0xa504,
1375 0x6000,
1376 0x8000
1378 static const SvxMSDffCalculationData mso_sptCurvedUpCalc[] =
1380 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1381 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1382 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1383 { 0xa000, { DFF_Prop_adjustValue, 21600, DFF_Prop_adjust2Value } },
1384 { 0x2001, { 0x403, 1, 2 } },
1385 { 0x6000, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 21600 } },
1386 { 0xe000, { 0x405, DFF_Prop_adjust2Value, DFF_Prop_adjustValue } },
1387 { 0x2001, { 0x406, 1, 2 } },
1388 { 0x4002, { 21600, DFF_Prop_adjustValue, 0 } },
1389 { 0xa00f, { DFF_Prop_adjust3Value, 21600, 0x404 } },
1390 { 0x6000, { 0x404, 0x409, 0 } },
1391 { 0x6000, { 0x40a, DFF_Prop_adjust2Value, 21600 } },
1392 { 0x6000, { 0x407, 0x409, 0 } },
1393 { 0xa000, { 0x40b, 21600, DFF_Prop_adjustValue } },
1394 { 0xa000, { 0x405, 0, DFF_Prop_adjustValue } },
1395 { 0x2001, { 0x40e, 1, 2 } },
1396 { 0x6002, { 0x404, 0x407, 0 } },
1397 { 0x6000, { DFF_Prop_adjustValue, DFF_Prop_adjust2Value, 21600 } },
1398 { 0x2001, { 0x411, 1, 2 } },
1399 { 0xa000, { 0x410, 0, 0x412 } },
1400 { 0x0000, { 21600, 0, 0 } },
1401 { 0x0000, { 21600, 0, 0 } },
1402 { 0x0000, { 0, 0, 21600 } },
1403 { 0xa000, { 0x410, 0, 0x404 } },
1404 { 0x600f, { 0x417, 0x404, 21600 } },
1405 { 0x2000, { 0x408, 128, 0 } },
1406 { 0x2001, { 0x405, 1, 2 } },
1407 { 0x2000, { 0x405, 0, 128 } },
1408 { 0xe000, { DFF_Prop_adjustValue, 0x410, 0x40b } },
1409 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
1410 { 0x2001, { 0x41d, 1, 2 } },
1411 { 0x0001, { 21600, 21600, 1 } },
1412 { 0x6001, { DFF_Prop_adjust3Value, DFF_Prop_adjust3Value, 1 } },
1413 { 0xa000, { 0x41f, 0, 0x420 } },
1414 { 0x200d, { 0x421, 0, 0 } },
1415 { 0x2000, { 0x422, 21600, 0 } },
1416 { 0x8001, { 21600, 21600, 0x423 } },
1417 { 0x2000, { 0x424, 64, 0 } },
1418 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
1419 { 0x600f, { 0x41e, 0x426, 21600 } },
1420 { 0x2000, { 0x427, 0, 64 } },
1421 { 0x2001, { 0x404, 1, 2 } },
1422 { 0xa000, { DFF_Prop_adjust2Value, 0, 0x429 } },
1423 { 0x0001, { 21600, 2195, 16384 } },
1424 { 0x0001, { 21600, 14189, 16384 } }
1426 static const sal_Int32 mso_sptCurvedUpDefault[] =
1428 3, 12960, 19440, 7200
1430 static const SvxMSDffTextRectangles mso_sptCurvedUpTextRect[] =
1432 { { 41 MSO_I, 43 MSO_I }, { 42 MSO_I, 44 MSO_I } }
1434 static const SvxMSDffVertPair mso_sptCurvedUpGluePoints[] =
1436 { 8 MSO_I, 0 }, { 11 MSO_I, 2 MSO_I }, { 15 MSO_I, 0 }, { 16 MSO_I, 21 MSO_I }, { 13 MSO_I, 2 MSO_I }
1438 static const SvxMSDffHandle mso_sptCurvedUpHandles[] =
1440 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1441 0x100, 0, 10800, 10800, 3 + 37, 3 + 27, 0, 10800 },
1442 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1443 0x101, 0, 10800, 10800, 3 + 25, 3 + 20, 0, 10800 },
1444 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1445 21600, 0x102, 10800, 10800, 3375, 21600, 0, 3 + 40 }
1447 static const mso_CustomShape msoCurvedUpArrow =
1449 (SvxMSDffVertPair*)mso_sptCurvedUpVert, SAL_N_ELEMENTS( mso_sptCurvedUpVert ),
1450 (sal_uInt16*)mso_sptCurvedUpSegm, sizeof( mso_sptCurvedUpSegm ) >> 1,
1451 (SvxMSDffCalculationData*)mso_sptCurvedUpCalc, SAL_N_ELEMENTS( mso_sptCurvedUpCalc ),
1452 (sal_Int32*)mso_sptCurvedUpDefault,
1453 (SvxMSDffTextRectangles*)mso_sptCurvedUpTextRect, SAL_N_ELEMENTS( mso_sptCurvedUpTextRect ),
1454 21600, 21600,
1455 MIN_INT32, MIN_INT32,
1456 (SvxMSDffVertPair*)mso_sptCurvedUpGluePoints, SAL_N_ELEMENTS( mso_sptCurvedUpGluePoints ),
1457 (SvxMSDffHandle*)mso_sptCurvedUpHandles, SAL_N_ELEMENTS( mso_sptCurvedUpHandles )
1460 static const SvxMSDffVertPair mso_sptCurvedLeftVert[] =
1462 { 22 MSO_I, 0 }, { 21 MSO_I, 3 MSO_I }, { 0, 0 }, { 21 MSO_I, 4 MSO_I },
1463 { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 21 MSO_I, 7 MSO_I }, { 2 MSO_I, 12 MSO_I },
1464 { 2 MSO_I, 13 MSO_I }, { 0, 8 MSO_I }, { 2 MSO_I, 11 MSO_I },
1465 { 22 MSO_I, 0 }, { 21 MSO_I, 3 MSO_I }, { 2 MSO_I, 10 MSO_I }, { 24 MSO_I, 16 MSO_I },
1466 { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 24 MSO_I, 16 MSO_I }, { 0, 14 MSO_I },
1467 { 22 MSO_I, 0 }, { 21 MSO_I, 3 MSO_I }, { 0, 0 }, { 21 MSO_I, 4 MSO_I },
1468 { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 21 MSO_I, 7 MSO_I }, { 24 MSO_I, 16 MSO_I },
1469 { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 24 MSO_I, 16 MSO_I }, { 0, 14 MSO_I }
1471 static const sal_uInt16 mso_sptCurvedLeftSegm[] =
1473 0xa608,
1474 0x0003,
1475 0xa308,
1476 0x6000,
1477 0x8000,
1478 0xa604,
1479 0xa308,
1480 0x6000,
1481 0x8000
1483 static const SvxMSDffTextRectangles mso_sptCurvedLeftTextRect[] =
1485 { { 43 MSO_I, 41 MSO_I }, { 44 MSO_I, 42 MSO_I } }
1487 static const SvxMSDffVertPair mso_sptCurvedLeftGluePoints[] =
1489 { 0, 15 MSO_I }, { 2 MSO_I, 11 MSO_I }, { 0, 8 MSO_I }, { 2 MSO_I, 13 MSO_I }, { 21 MSO_I, 16 MSO_I }
1491 static const SvxMSDffHandle mso_sptCurvedLeftHandles[] =
1493 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1494 0, 0x100, 10800, 10800, 0, 10800, 3 + 37, 3 + 27 },
1495 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1496 0, 0x101, 10800, 10800, 0, 10800, 3 + 25, 3 + 20 },
1497 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1498 0x102, 21600, 10800, 10800, 0, 3 + 40, 3375, 21600 }
1500 static const mso_CustomShape msoCurvedLeftArrow =
1502 (SvxMSDffVertPair*)mso_sptCurvedLeftVert, SAL_N_ELEMENTS( mso_sptCurvedLeftVert ),
1503 (sal_uInt16*)mso_sptCurvedLeftSegm, sizeof( mso_sptCurvedLeftSegm ) >> 1,
1504 (SvxMSDffCalculationData*)mso_sptCurvedUpCalc, SAL_N_ELEMENTS( mso_sptCurvedUpCalc ),
1505 (sal_Int32*)mso_sptCurvedUpDefault,
1506 (SvxMSDffTextRectangles*)mso_sptCurvedLeftTextRect, SAL_N_ELEMENTS( mso_sptCurvedLeftTextRect ),
1507 21600, 21600,
1508 MIN_INT32, MIN_INT32,
1509 (SvxMSDffVertPair*)mso_sptCurvedLeftGluePoints, SAL_N_ELEMENTS( mso_sptCurvedLeftGluePoints ),
1510 (SvxMSDffHandle*)mso_sptCurvedLeftHandles, SAL_N_ELEMENTS( mso_sptCurvedLeftHandles )
1513 static const SvxMSDffVertPair mso_sptStripedRightArrowVert[] = // adjustment1 : x 3375 - 21600
1514 { // adjustment2 : y 0 - 10800
1515 { 3375, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 21600, 10800 },
1516 { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 3375, 2 MSO_I }, { 0, 0 MSO_I },
1517 { 675, 0 MSO_I }, { 675, 2 MSO_I }, { 0, 2 MSO_I }, { 1350, 0 MSO_I },
1518 { 2700, 0 MSO_I }, { 2700, 2 MSO_I }, { 1350, 2 MSO_I }
1520 static const sal_uInt16 mso_sptStripedRightArrowSegm[] =
1522 0x4000, 0x0006, 0x6001, 0x8000,
1523 0x4000, 0x0003, 0x6001, 0x8000,
1524 0x4000, 0x0003, 0x6001, 0x8000
1526 static const SvxMSDffCalculationData mso_sptStripedRightArrowCalc[] =
1528 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1529 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1530 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
1531 { 0x8000, { 21600, 0, 0x401 } },
1532 { 0x6001, { 0x403, 0x400, 10800 } },
1533 { 0x6000, { 0x401, 0x404, 0 } }
1535 static const SvxMSDffTextRectangles mso_sptStripedRightArrowTextRect[] =
1537 { { 3375, 0 MSO_I }, { 5 MSO_I, 2 MSO_I } }
1539 static const SvxMSDffHandle mso_sptStripedRightArrowHandle[] =
1541 { MSDFF_HANDLE_FLAGS_RANGE,
1542 0x100, 0x101, 10800, 10800, 3375, 21600, 0, 10800 }
1544 static const mso_CustomShape msoStripedRightArrow =
1546 (SvxMSDffVertPair*)mso_sptStripedRightArrowVert, SAL_N_ELEMENTS( mso_sptStripedRightArrowVert ),
1547 (sal_uInt16*)mso_sptStripedRightArrowSegm, sizeof( mso_sptStripedRightArrowSegm ) >> 1,
1548 (SvxMSDffCalculationData*)mso_sptStripedRightArrowCalc, SAL_N_ELEMENTS( mso_sptStripedRightArrowCalc ),
1549 (sal_Int32*)mso_sptDefault16200and5400,
1550 (SvxMSDffTextRectangles*)mso_sptStripedRightArrowTextRect, SAL_N_ELEMENTS( mso_sptStripedRightArrowTextRect ),
1551 21600, 21600,
1552 MIN_INT32, MIN_INT32,
1553 NULL, 0,
1554 (SvxMSDffHandle*)mso_sptStripedRightArrowHandle, SAL_N_ELEMENTS( mso_sptStripedRightArrowHandle )
1557 static const SvxMSDffVertPair mso_sptNotchedRightArrowVert[] = // adjustment1 : x 0 - 21600 (default 16200)
1558 { // adjustment2 : y 0 - 10800 (default 5400)
1559 { 0, 1 MSO_I }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 0 }, { 21600, 10800 },
1560 { 0 MSO_I, 21600 }, { 0 MSO_I, 2 MSO_I }, { 0, 2 MSO_I }, { 5 MSO_I, 10800 }, { 0, 1 MSO_I }
1562 static const SvxMSDffCalculationData mso_sptNotchedRightArrowCalc[] =
1564 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1565 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1566 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
1567 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
1568 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
1569 { 0x6001, { 0x403, 0x404, 10800 } },
1570 { 0x8000, { 21600, 0, 0x405 }}
1572 static const SvxMSDffTextRectangles mso_sptNotchedRightArrowTextRect[] = // todo
1574 { { 5 MSO_I, 1 MSO_I }, { 6 MSO_I, 2 MSO_I } }
1576 static const SvxMSDffHandle mso_sptNotchedRightArrowHandle[] =
1578 { MSDFF_HANDLE_FLAGS_RANGE,
1579 0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
1581 static const mso_CustomShape msoNotchedRightArrow =
1583 (SvxMSDffVertPair*)mso_sptNotchedRightArrowVert, SAL_N_ELEMENTS( mso_sptNotchedRightArrowVert ),
1584 NULL, 0,
1585 (SvxMSDffCalculationData*)mso_sptNotchedRightArrowCalc, SAL_N_ELEMENTS( mso_sptNotchedRightArrowCalc ),
1586 (sal_Int32*)mso_sptDefault16200and5400,
1587 (SvxMSDffTextRectangles*)mso_sptNotchedRightArrowTextRect, SAL_N_ELEMENTS( mso_sptNotchedRightArrowTextRect ),
1588 21600, 21600,
1589 MIN_INT32, MIN_INT32,
1590 NULL, 0,
1591 (SvxMSDffHandle*)mso_sptNotchedRightArrowHandle, SAL_N_ELEMENTS( mso_sptNotchedRightArrowHandle )
1594 static const SvxMSDffVertPair mso_sptHomePlateVert[] = // adjustment1 : x 0 - 21600
1596 { 0, 0 }, { 0 MSO_I, 0 }, { 21600, 10800 }, { 0 MSO_I, 21600 },
1597 { 0, 21600 }
1599 static const sal_uInt16 mso_sptHomePlateSegm[] =
1601 0x4000, 0x0004, 0x6001, 0x8000
1603 static const SvxMSDffCalculationData mso_sptHomePlateCalc[] =
1605 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
1607 static const sal_Int32 mso_sptHomePlateDefault[] =
1609 1, 16200
1611 static const SvxMSDffTextRectangles mso_sptHomePlateTextRect[] = // todo
1613 { { 0, 0 }, { 21600, 21600 } }
1615 static const SvxMSDffHandle mso_sptHomePlateHandle[] =
1617 { MSDFF_HANDLE_FLAGS_RANGE,
1618 0x100, 0, 10800, 10800, 0, 21600, MIN_INT32, 0x7fffffff }
1620 static const mso_CustomShape msoHomePlate =
1622 (SvxMSDffVertPair*)mso_sptHomePlateVert, SAL_N_ELEMENTS( mso_sptHomePlateVert ),
1623 (sal_uInt16*)mso_sptHomePlateSegm, sizeof( mso_sptHomePlateSegm ) >> 1,
1624 (SvxMSDffCalculationData*)mso_sptHomePlateCalc, SAL_N_ELEMENTS( mso_sptHomePlateCalc ),
1625 (sal_Int32*)mso_sptHomePlateDefault,
1626 (SvxMSDffTextRectangles*)mso_sptHomePlateTextRect, SAL_N_ELEMENTS( mso_sptHomePlateTextRect ),
1627 21600, 21600,
1628 MIN_INT32, MIN_INT32,
1629 NULL, 0,
1630 (SvxMSDffHandle*)mso_sptHomePlateHandle, SAL_N_ELEMENTS( mso_sptHomePlateHandle )
1633 static const SvxMSDffVertPair mso_sptChevronVert[] = // adjustment1 : x 0 - 21600
1635 { 0, 0 }, { 0 MSO_I, 0 }, { 21600, 10800 }, { 0 MSO_I, 21600 },
1636 { 0, 21600 }, { 1 MSO_I, 10800 }
1638 static const sal_uInt16 mso_sptChevronSegm[] =
1640 0x4000, 0x0005, 0x6001, 0x8000
1642 static const SvxMSDffCalculationData mso_sptChevronCalc[] =
1644 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1645 { 0x8000, { 21600, 0, 0x0400 } }
1647 static const sal_Int32 mso_sptChevronDefault[] =
1649 1, 16200
1651 static const SvxMSDffTextRectangles mso_sptChevronTextRect[] = // todo
1653 { { 0, 0 }, { 21600, 21600 } }
1655 static const SvxMSDffHandle mso_sptChevronHandle[] =
1657 { MSDFF_HANDLE_FLAGS_RANGE,
1658 0x100, 0, 10800, 10800, 0, 21600, MIN_INT32, 0x7fffffff }
1660 static const mso_CustomShape msoChevron =
1662 (SvxMSDffVertPair*)mso_sptChevronVert, SAL_N_ELEMENTS( mso_sptChevronVert ),
1663 (sal_uInt16*)mso_sptChevronSegm, sizeof( mso_sptChevronSegm ) >> 1,
1664 (SvxMSDffCalculationData*)mso_sptChevronCalc, SAL_N_ELEMENTS( mso_sptChevronCalc ),
1665 (sal_Int32*)mso_sptChevronDefault,
1666 (SvxMSDffTextRectangles*)mso_sptChevronTextRect, SAL_N_ELEMENTS( mso_sptChevronTextRect ),
1667 21600, 21600,
1668 MIN_INT32, MIN_INT32,
1669 NULL, 0,
1670 (SvxMSDffHandle*)mso_sptChevronHandle, SAL_N_ELEMENTS( mso_sptChevronHandle )
1673 static const SvxMSDffVertPair mso_sptRightArrowCalloutVert[] = // adjustment1 : x 0 - 21000
1674 { // adjustment2 : y 0 - 10800
1675 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I },
1676 { 2 MSO_I, 1 MSO_I }, { 21600, 10800 }, { 2 MSO_I, 4 MSO_I }, { 2 MSO_I, 5 MSO_I },
1677 { 0 MSO_I, 5 MSO_I }, { 0 MSO_I, 21600 }, { 0, 21600 }
1679 static const sal_uInt16 mso_sptRightArrowCalloutSegm[] =
1681 0x4000, 0x000a, 0x6001, 0x8000
1683 static const SvxMSDffCalculationData mso_sptRightArrowCalloutCalc[] =
1685 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1686 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1687 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1688 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1689 { 0x8000, { 21600, 0, 0x0401 } },
1690 { 0x8000, { 21600, 0, 0x0403 } }
1692 static const sal_Int32 mso_sptRightArrowCalloutDefault[] =
1694 4, 14400, 5400, 18000, 8100
1696 static const SvxMSDffTextRectangles mso_sptRightArrowCalloutTextRect[] =
1698 { { 0, 0 }, { 0 MSO_I, 21600 } }
1700 static const SvxMSDffHandle mso_sptRightArrowCalloutHandle[] =
1702 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1703 0x100, 0, 10800, 10800, 0, 0x102, MIN_INT32, 0x7fffffff },
1704 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1705 0x102, 0x103, 10800, 10800, 0x100, 21600, 0x101, 10800 },
1706 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1707 1, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 0x103 }
1709 static const mso_CustomShape msoRightArrowCallout =
1711 (SvxMSDffVertPair*)mso_sptRightArrowCalloutVert, SAL_N_ELEMENTS( mso_sptRightArrowCalloutVert ),
1712 (sal_uInt16*)mso_sptRightArrowCalloutSegm, sizeof( mso_sptRightArrowCalloutSegm ) >> 1,
1713 (SvxMSDffCalculationData*)mso_sptRightArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptRightArrowCalloutCalc ),
1714 (sal_Int32*)mso_sptRightArrowCalloutDefault,
1715 (SvxMSDffTextRectangles*)mso_sptRightArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptRightArrowCalloutTextRect ),
1716 21600, 21600,
1717 MIN_INT32, MIN_INT32,
1718 NULL, 0,
1719 (SvxMSDffHandle*)mso_sptRightArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptRightArrowCalloutHandle )
1722 static const SvxMSDffVertPair mso_sptLeftArrowCalloutVert[] = // adjustment1 : x 0 - 21600, adjustment2 : y 0 - 10800
1723 { // adjustment3 : x 0 - 21600, adjustment4 : y 0 - 10800
1724 { 0 MSO_I, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0 MSO_I, 21600 },
1725 { 0 MSO_I, 5 MSO_I }, { 2 MSO_I, 5 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 0, 10800 },
1726 { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
1728 static const sal_uInt16 mso_sptLeftArrowCalloutSegm[] =
1730 0x4000, 0x000a, 0x6001, 0x8000
1732 static const SvxMSDffCalculationData mso_sptLeftArrowCalloutCalc[] =
1734 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1735 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1736 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1737 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1738 { 0x8000, { 21600, 0, 0x0401 } },
1739 { 0x8000, { 21600, 0, 0x0403 } }
1741 static const sal_Int32 mso_sptLeftArrowCalloutDefault[] =
1743 4, 7200, 5400, 3600, 8100
1745 static const SvxMSDffTextRectangles mso_sptLeftArrowCalloutTextRect[] =
1747 { { 0 MSO_I, 0 }, { 21600, 21600 } }
1749 static const SvxMSDffHandle mso_sptLeftArrowCalloutHandle[] =
1751 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
1752 0x100, 0, 10800, 10800, 0x102, 21600, MIN_INT32, 0x7fffffff },
1753 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1754 0x102, 0x103, 10800, 10800, 0, 0x100, 0x101, 10800 },
1755 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1756 0, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 0x103 }
1758 static const mso_CustomShape msoLeftArrowCallout =
1760 (SvxMSDffVertPair*)mso_sptLeftArrowCalloutVert, SAL_N_ELEMENTS( mso_sptLeftArrowCalloutVert ),
1761 (sal_uInt16*)mso_sptLeftArrowCalloutSegm, sizeof( mso_sptLeftArrowCalloutSegm ) >> 1,
1762 (SvxMSDffCalculationData*)mso_sptLeftArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptLeftArrowCalloutCalc ),
1763 (sal_Int32*)mso_sptLeftArrowCalloutDefault,
1764 (SvxMSDffTextRectangles*)mso_sptLeftArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptLeftArrowCalloutTextRect ),
1765 21600, 21600,
1766 MIN_INT32, MIN_INT32,
1767 NULL, 0,
1768 (SvxMSDffHandle*)mso_sptLeftArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptLeftArrowCalloutHandle )
1771 static const SvxMSDffVertPair mso_sptUpArrowCalloutVert[] =
1773 { 21600, 0 MSO_I }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 MSO_I },
1774 { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I }, { 10800, 0 },
1775 { 4 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 5 MSO_I, 0 MSO_I }
1777 static const sal_uInt16 mso_sptUpArrowCalloutSegm[] =
1779 0x4000, 0x000a, 0x6001, 0x8000
1781 static const SvxMSDffCalculationData mso_sptUpArrowCalloutCalc[] =
1783 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1784 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1785 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1786 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1787 { 0x8000, { 21600, 0, 0x0401 } },
1788 { 0x8000, { 21600, 0, 0x0403 } }
1790 static const sal_Int32 mso_sptUpArrowCalloutDefault[] =
1792 4, 7200, 5400, 3600, 8100
1794 static const SvxMSDffTextRectangles mso_sptUpArrowCalloutTextRect[] =
1796 { { 0, 0 MSO_I }, { 21600, 21600 } }
1798 static const SvxMSDffHandle mso_sptUpArrowCalloutHandle[] =
1800 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1801 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0x102, 21600 },
1802 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1803 0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 },
1804 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1805 0x101, 0, 10800, 10800, 0, 0x103, MIN_INT32, 0x7fffffff }
1807 static const mso_CustomShape msoUpArrowCallout =
1809 (SvxMSDffVertPair*)mso_sptUpArrowCalloutVert, SAL_N_ELEMENTS( mso_sptUpArrowCalloutVert ),
1810 (sal_uInt16*)mso_sptUpArrowCalloutSegm, sizeof( mso_sptUpArrowCalloutSegm ) >> 1,
1811 (SvxMSDffCalculationData*)mso_sptUpArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptUpArrowCalloutCalc ),
1812 (sal_Int32*)mso_sptUpArrowCalloutDefault,
1813 (SvxMSDffTextRectangles*)mso_sptUpArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptUpArrowCalloutTextRect ),
1814 21600, 21600,
1815 MIN_INT32, MIN_INT32,
1816 NULL, 0,
1817 (SvxMSDffHandle*)mso_sptUpArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptUpArrowCalloutHandle )
1820 static const SvxMSDffVertPair mso_sptDownArrowCalloutVert[] =
1822 { 0, 0 MSO_I }, { 0, 0 }, { 21600, 0 }, { 21600, 0 MSO_I },
1823 { 5 MSO_I, 0 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 10800, 21600 },
1824 { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 0 MSO_I }
1826 static const sal_uInt16 mso_sptDownArrowCalloutSegm[] =
1828 0x4000, 0x000a, 0x6001, 0x8000
1830 static const SvxMSDffCalculationData mso_sptDownArrowCalloutCalc[] =
1832 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1833 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1834 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1835 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1836 { 0x8000, { 21600, 0, 0x0401 } },
1837 { 0x8000, { 21600, 0, 0x0403 } }
1839 static const sal_Int32 mso_sptDownArrowCalloutDefault[] =
1841 4, 14400, 5400, 18000, 8100
1843 static const SvxMSDffTextRectangles mso_sptDownArrowCalloutTextRect[] =
1845 { { 0, 0 }, { 21600, 0 MSO_I } }
1847 static const SvxMSDffHandle mso_sptDownArrowCalloutHandle[] =
1849 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1850 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 0x102 },
1851 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1852 0x103, 0x102, 10800, 10800, 0x101, 10800, 0x100, 21600 },
1853 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1854 0x101, 1, 10800, 10800, 0, 0x103, MIN_INT32, 0x7fffffff }
1856 static const mso_CustomShape msoDownArrowCallout =
1858 (SvxMSDffVertPair*)mso_sptDownArrowCalloutVert, SAL_N_ELEMENTS( mso_sptDownArrowCalloutVert ),
1859 (sal_uInt16*)mso_sptDownArrowCalloutSegm, sizeof( mso_sptDownArrowCalloutSegm ) >> 1,
1860 (SvxMSDffCalculationData*)mso_sptDownArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptDownArrowCalloutCalc ),
1861 (sal_Int32*)mso_sptDownArrowCalloutDefault,
1862 (SvxMSDffTextRectangles*)mso_sptDownArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptDownArrowCalloutTextRect ),
1863 21600, 21600,
1864 MIN_INT32, MIN_INT32,
1865 NULL, 0,
1866 (SvxMSDffHandle*)mso_sptDownArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptDownArrowCalloutHandle )
1869 static const SvxMSDffVertPair mso_sptLeftRightArrowCalloutVert[] =
1871 { 0 MSO_I, 0 }, { 4 MSO_I, 0 }, { 4 MSO_I, 3 MSO_I }, { 6 MSO_I, 3 MSO_I },
1872 { 6 MSO_I, 1 MSO_I }, { 21600, 10800 }, { 6 MSO_I, 5 MSO_I }, { 6 MSO_I, 7 MSO_I },
1873 { 4 MSO_I, 7 MSO_I }, { 4 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0 MSO_I, 7 MSO_I },
1874 { 2 MSO_I, 7 MSO_I }, { 2 MSO_I, 5 MSO_I }, { 0, 10800 }, { 2 MSO_I, 1 MSO_I },
1875 { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
1877 static const sal_uInt16 mso_sptLeftRightArrowCalloutSegm[] =
1879 0x4000, 0x0011, 0x6001, 0x8000
1881 static const SvxMSDffCalculationData mso_sptLeftRightArrowCalloutCalc[] =
1883 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1884 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1885 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1886 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1887 { 0x8000, { 21600, 0, 0x0400 } },
1888 { 0x8000, { 21600, 0, 0x0401 } },
1889 { 0x8000, { 21600, 0, 0x0402 } },
1890 { 0x8000, { 21600, 0, 0x0403 } }
1892 static const sal_Int32 mso_sptLeftRightArrowCalloutDefault[] =
1894 4, 5400, 5500, 2700, 8100
1896 static const SvxMSDffTextRectangles mso_sptLeftRightArrowCalloutTextRect[] =
1898 { { 0 MSO_I, 0 }, { 4 MSO_I, 21600 } }
1900 static const SvxMSDffHandle mso_sptLeftRightArrowCalloutHandle[] =
1902 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
1903 0x100, 0, 10800, 10800, 0x102, 10800, MIN_INT32, 0x7fffffff },
1904 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1905 0x102, 0x103, 10800, 10800, 0, 0x100, 0x101, 10800 },
1906 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1907 0, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 0x103 }
1909 static const mso_CustomShape msoLeftRightArrowCallout =
1911 (SvxMSDffVertPair*)mso_sptLeftRightArrowCalloutVert, SAL_N_ELEMENTS( mso_sptLeftRightArrowCalloutVert ),
1912 (sal_uInt16*)mso_sptLeftRightArrowCalloutSegm, sizeof( mso_sptLeftRightArrowCalloutSegm ) >> 1,
1913 (SvxMSDffCalculationData*)mso_sptLeftRightArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptLeftRightArrowCalloutCalc ),
1914 (sal_Int32*)mso_sptLeftRightArrowCalloutDefault,
1915 (SvxMSDffTextRectangles*)mso_sptLeftRightArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptLeftRightArrowCalloutTextRect ),
1916 21600, 21600,
1917 MIN_INT32, MIN_INT32,
1918 NULL, 0,
1919 (SvxMSDffHandle*)mso_sptLeftRightArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptLeftRightArrowCalloutHandle )
1922 static const SvxMSDffVertPair mso_sptUpDownArrowCalloutVert[] =
1924 { 0, 0 MSO_I }, { 0, 4 MSO_I }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 6 MSO_I },
1925 { 1 MSO_I, 6 MSO_I }, { 10800, 21600 }, { 5 MSO_I, 6 MSO_I }, { 7 MSO_I, 6 MSO_I },
1926 { 7 MSO_I, 4 MSO_I }, { 21600, 4 MSO_I }, { 21600, 0 MSO_I }, { 7 MSO_I, 0 MSO_I },
1927 { 7 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 10800, 0 }, { 1 MSO_I, 2 MSO_I },
1928 { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 0 MSO_I }
1930 static const sal_uInt16 mso_sptUpDownArrowCalloutSegm[] =
1932 0x4000, 0x0011, 0x6001, 0x8000
1934 static const SvxMSDffCalculationData mso_sptUpDownArrowCalloutCalc[] =
1936 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1937 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1938 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1939 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1940 { 0x8000, { 21600, 0, 0x0400 } },
1941 { 0x8000, { 21600, 0, 0x0401 } },
1942 { 0x8000, { 21600, 0, 0x0402 } },
1943 { 0x8000, { 21600, 0, 0x0403 } }
1945 static const sal_Int32 mso_sptUpDownArrowCalloutDefault[] =
1947 4, 5400, 5500, 2700, 8100
1949 static const SvxMSDffTextRectangles mso_sptUpDownArrowCalloutTextRect[] =
1951 { { 0, 0 MSO_I }, { 21600, 4 MSO_I } }
1953 static const SvxMSDffHandle mso_sptUpDownArrowCalloutHandle[] =
1955 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1956 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0x102, 10800 },
1957 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1958 0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 },
1959 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1960 0x101, 0, 10800, 10800, 0, 0x103, MIN_INT32, 0x7fffffff }
1962 static const mso_CustomShape msoUpDownArrowCallout =
1964 (SvxMSDffVertPair*)mso_sptUpDownArrowCalloutVert, SAL_N_ELEMENTS( mso_sptUpDownArrowCalloutVert ),
1965 (sal_uInt16*)mso_sptUpDownArrowCalloutSegm, sizeof( mso_sptUpDownArrowCalloutSegm ) >> 1,
1966 (SvxMSDffCalculationData*)mso_sptUpDownArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptUpDownArrowCalloutCalc ),
1967 (sal_Int32*)mso_sptUpDownArrowCalloutDefault,
1968 (SvxMSDffTextRectangles*)mso_sptUpDownArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptUpDownArrowCalloutTextRect ),
1969 21600, 21600,
1970 MIN_INT32, MIN_INT32,
1971 NULL, 0,
1972 (SvxMSDffHandle*)mso_sptUpDownArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptUpDownArrowCalloutHandle )
1975 static const SvxMSDffVertPair mso_sptQuadArrowCalloutVert[] =
1977 { 0 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
1978 { 10800, 0 }, { 5 MSO_I, 2 MSO_I }, { 7 MSO_I, 2 MSO_I }, { 7 MSO_I, 0 MSO_I },
1979 { 4 MSO_I, 0 MSO_I }, { 4 MSO_I, 3 MSO_I }, { 6 MSO_I, 3 MSO_I }, { 6 MSO_I, 1 MSO_I },
1980 { 21600, 10800 }, { 6 MSO_I, 5 MSO_I }, { 6 MSO_I, 7 MSO_I }, { 4 MSO_I, 7 MSO_I },
1981 { 4 MSO_I, 4 MSO_I }, { 7 MSO_I, 4 MSO_I }, { 7 MSO_I, 6 MSO_I }, { 5 MSO_I, 6 MSO_I },
1982 { 10800, 21600 }, { 1 MSO_I, 6 MSO_I }, { 3 MSO_I, 6 MSO_I }, { 3 MSO_I, 4 MSO_I },
1983 { 0 MSO_I, 4 MSO_I }, { 0 MSO_I, 7 MSO_I }, { 2 MSO_I, 7 MSO_I }, { 2 MSO_I, 5 MSO_I },
1984 { 0, 10800 }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
1986 static const sal_uInt16 mso_sptQuadArrowCalloutSegm[] =
1988 0x4000, 0x001f, 0x6001, 0x8000
1990 static const SvxMSDffCalculationData mso_sptQuadArrowCalloutCalc[] =
1992 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1993 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1994 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1995 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1996 { 0x8000, { 21600, 0, 0x0400 } },
1997 { 0x8000, { 21600, 0, 0x0401 } },
1998 { 0x8000, { 21600, 0, 0x0402 } },
1999 { 0x8000, { 21600, 0, 0x0403 } }
2001 static const sal_Int32 mso_sptQuadArrowCalloutDefault[] =
2003 4, 5400, 8100, 2700, 9400
2005 static const SvxMSDffTextRectangles mso_sptQuadArrowCalloutTextRect[] =
2007 { { 0 MSO_I, 0 MSO_I }, { 4 MSO_I, 4 MSO_I } }
2009 static const SvxMSDffHandle mso_sptQuadArrowCalloutHandle[] =
2011 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
2012 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0x102, 0x101 },
2013 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
2014 0x101, 0, 10800, 10800, 0x100, 10800, MIN_INT32, 0x7fffffff },
2015 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
2016 0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 }
2018 static const mso_CustomShape msoQuadArrowCallout =
2020 (SvxMSDffVertPair*)mso_sptQuadArrowCalloutVert, SAL_N_ELEMENTS( mso_sptQuadArrowCalloutVert ),
2021 (sal_uInt16*)mso_sptQuadArrowCalloutSegm, sizeof( mso_sptQuadArrowCalloutSegm ) >> 1,
2022 (SvxMSDffCalculationData*)mso_sptQuadArrowCalloutCalc, SAL_N_ELEMENTS( mso_sptQuadArrowCalloutCalc ),
2023 (sal_Int32*)mso_sptQuadArrowCalloutDefault,
2024 (SvxMSDffTextRectangles*)mso_sptQuadArrowCalloutTextRect, SAL_N_ELEMENTS( mso_sptQuadArrowCalloutTextRect ),
2025 21600, 21600,
2026 MIN_INT32, MIN_INT32,
2027 NULL, 0,
2028 (SvxMSDffHandle*)mso_sptQuadArrowCalloutHandle, SAL_N_ELEMENTS( mso_sptQuadArrowCalloutHandle )
2031 static const SvxMSDffVertPair mso_sptCircularArrowVert[] =
2033 { 0x03 MSO_I, 0x03 MSO_I },
2034 { 0x14 MSO_I, 0x14 MSO_I },
2035 { 0x13 MSO_I, 0x12 MSO_I },
2036 { 0x11 MSO_I, 0x10 MSO_I },
2037 { 0, 0 }, { 21600, 21600 },
2038 { 0x09 MSO_I, 0x08 MSO_I },
2039 { 0x0B MSO_I, 0x0A MSO_I },
2040 { 0x18 MSO_I, 0x17 MSO_I },
2041 { 0x2F MSO_I, 0x2E MSO_I },
2042 { 0x1D MSO_I, 0x1C MSO_I }
2044 static const sal_uInt16 mso_sptCircularArrowSegm[] =
2046 0xa404, 0xa504, 0x0003, 0x6001, 0x8000
2048 static const SvxMSDffCalculationData mso_sptCircularArrowCalc[] =
2050 { 0x2000, { 0x0147, 0x0000, 0x0000 } },
2051 { 0x2000, { 0x0148, 0x0000, 0x0000 } },
2052 { 0x2000, { 0x0149, 0x0000, 0x0000 } },
2053 { 0x4000, { 0x2A30, 0x0149, 0x0000 } },
2054 { 0x4009, { 0x2A30, 0x0147, 0x0000 } },
2055 { 0x400A, { 0x2A30, 0x0147, 0x0000 } },
2056 { 0x4009, { 0x2A30, 0x0148, 0x0000 } },
2057 { 0x400A, { 0x2A30, 0x0148, 0x0000 } },
2058 { 0x2000, { 0x0404, 0x2A30, 0x0000 } },
2059 { 0x2000, { 0x0405, 0x2A30, 0x0000 } },
2060 { 0x2000, { 0x0406, 0x2A30, 0x0000 } },
2061 { 0x2000, { 0x0407, 0x2A30, 0x0000 } },
2062 { 0x6009, { 0x0403, 0x0147, 0x0000 } },
2063 { 0x600A, { 0x0403, 0x0147, 0x0000 } },
2064 { 0x6009, { 0x0403, 0x0148, 0x0000 } },
2065 { 0x600A, { 0x0403, 0x0148, 0x0000 } },
2066 { 0x2000, { 0x040C, 0x2A30, 0x0000 } },
2067 { 0x2000, { 0x040D, 0x2A30, 0x0000 } },
2068 { 0x2000, { 0x040E, 0x2A30, 0x0000 } },
2069 { 0x2000, { 0x040F, 0x2A30, 0x0000 } },
2070 { 0x8000, { 0x5460, 0x0000, 0x0403 } },
2071 { 0x4009, { 0x34BC, 0x0148, 0x0000 } },
2072 { 0x400A, { 0x34BC, 0x0148, 0x0000 } },
2073 { 0x2000, { 0x0415, 0x2A30, 0x0000 } },
2074 { 0x2000, { 0x0416, 0x2A30, 0x0000 } },
2075 { 0x2000, { 0x0149, 0x0000, 0x0A8C } },
2076 { 0x6009, { 0x0419, 0x0148, 0x0000 } },
2077 { 0x600A, { 0x0419, 0x0148, 0x0000 } },
2078 { 0x2000, { 0x041A, 0x2A30, 0x0000 } },
2079 { 0x2000, { 0x041B, 0x2A30, 0x0000 } },
2080 { 0xA000, { 0x041D, 0x0000, 0x0418 } },
2081 { 0xA000, { 0x041D, 0x0000, 0x0418 } },
2082 { 0x6001, { 0x041E, 0x041F, 0x0001 } },
2083 { 0xA000, { 0x041C, 0x0000, 0x0417 } },
2084 { 0xA000, { 0x041C, 0x0000, 0x0417 } },
2085 { 0x6001, { 0x0421, 0x0422, 0x0001 } },
2086 { 0x6000, { 0x0420, 0x0423, 0x0000 } },
2087 { 0x200D, { 0x0424, 0x0000, 0x0000 } },
2088 { 0x200E, { 0x0148, 0x002D, 0x0000 } },
2089 { 0x6009, { 0x0425, 0x0426, 0x0000 } },
2090 { 0x200E, { 0x0148, 0x002D, 0x0000 } },
2091 { 0x600A, { 0x0425, 0x0428, 0x0000 } },
2092 { 0x000E, { 0x0000, 0x002D, 0x0000 } },
2093 { 0x6009, { 0x0427, 0x042A, 0x0000 } },
2094 { 0x000E, { 0x0000, 0x002D, 0x0000 } },
2095 { 0x6009, { 0x0429, 0x042C, 0x0000 } },
2096 { 0x6000, { 0x041C, 0x042B, 0x0000 } },
2097 { 0x6000, { 0x041D, 0x042D, 0x0000 } }
2099 static const sal_Int32 mso_sptCircularArrowDefault[] =
2101 3, 180, 0, 5500
2103 static const SvxMSDffTextRectangles mso_sptCircularArrowTextRect[] = // todo
2105 { { 0, 0 }, { 21600, 21600 } }
2107 static const SvxMSDffHandle mso_sptCircularArrowHandle[] =
2109 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
2110 10800, 0x100, 10800, 10800, 10800, 10800, -0x7f4c0000, 0x00b40000 },
2111 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
2112 0x102, 0x101, 10800, 10800, 0, 10800, -0x7f4c0000, 0x00b40000 }
2114 static const mso_CustomShape msoCircularArrow =
2116 (SvxMSDffVertPair*)mso_sptCircularArrowVert, SAL_N_ELEMENTS( mso_sptCircularArrowVert ),
2117 (sal_uInt16*)mso_sptCircularArrowSegm, sizeof( mso_sptCircularArrowSegm ) >> 1,
2118 (SvxMSDffCalculationData*)mso_sptCircularArrowCalc, SAL_N_ELEMENTS( mso_sptCircularArrowCalc ),
2119 (sal_Int32*)mso_sptCircularArrowDefault,
2120 (SvxMSDffTextRectangles*)mso_sptCircularArrowTextRect, SAL_N_ELEMENTS( mso_sptCircularArrowTextRect ),
2121 21600, 21600,
2122 MIN_INT32, MIN_INT32,
2123 NULL, 0,
2124 (SvxMSDffHandle*)mso_sptCircularArrowHandle, SAL_N_ELEMENTS( mso_sptCircularArrowHandle ) // handles
2127 static const SvxMSDffVertPair mso_sptCubeVert[] =
2129 { 0, 12 MSO_I }, { 0, 1 MSO_I }, { 2 MSO_I, 0 }, { 11 MSO_I, 0 }, { 11 MSO_I, 3 MSO_I }, { 4 MSO_I, 12 MSO_I },
2130 { 0, 1 MSO_I }, { 2 MSO_I, 0 }, { 11 MSO_I, 0 }, { 4 MSO_I, 1 MSO_I },
2131 { 4 MSO_I, 12 MSO_I }, { 4 MSO_I, 1 MSO_I }, { 11 MSO_I, 0 }, { 11 MSO_I, 3 MSO_I }
2133 static const sal_uInt16 mso_sptCubeSegm[] =
2135 0x4000, 0x0005, 0x6001, 0x8000,
2136 0x4000, 0x0003, 0x6001, 0x8000,
2137 0x4000, 0x0003, 0x6001, 0x8000
2139 static const SvxMSDffCalculationData mso_sptCubeCalc[] =
2141 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2142 { 0x6000, { DFF_Prop_geoTop, 0x400, 0 } },
2143 { 0x6000, { DFF_Prop_geoLeft, 0x400, 0 } },
2144 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } },
2145 { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
2146 { 0xa000, { DFF_Prop_geoRight, 0, 0x402 } }, // 5
2147 { 0x2001, { 0x405, 1, 2 } }, // 6
2148 { 0x6000, { 0x402, 0x406, 0 } }, // 7
2149 { 0xa000, { DFF_Prop_geoBottom, 0, 0x401 } }, // 8
2150 { 0x2001, { 0x408, 1, 2 } }, // 9
2151 { 0x6000, { 0x401, 0x409, 0 } }, // 10
2152 { 0x2000, { DFF_Prop_geoRight, 0, 0 } }, // 11
2153 { 0x2000, { DFF_Prop_geoBottom, 0, 0 } } // 12
2155 static const SvxMSDffTextRectangles mso_sptCubeTextRect[] =
2157 { { 0, 1 MSO_I }, { 4 MSO_I, 12 MSO_I } }
2159 static const SvxMSDffHandle mso_sptCubeHandle[] =
2161 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
2162 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 21600 }
2164 static const SvxMSDffVertPair mso_sptCubeGluePoints[] =
2166 { 7 MSO_I, 0 }, { 6 MSO_I, 1 MSO_I }, { 0, 10 MSO_I }, { 6 MSO_I, 21600 }, { 4 MSO_I, 10 MSO_I }, { 21600, 9 MSO_I }
2168 static const mso_CustomShape msoCube =
2170 (SvxMSDffVertPair*)mso_sptCubeVert, SAL_N_ELEMENTS( mso_sptCubeVert ),
2171 (sal_uInt16*)mso_sptCubeSegm, sizeof( mso_sptCubeSegm ) >> 1,
2172 (SvxMSDffCalculationData*)mso_sptCubeCalc, SAL_N_ELEMENTS( mso_sptCubeCalc ),
2173 (sal_Int32*)mso_sptDefault5400,
2174 (SvxMSDffTextRectangles*)mso_sptCubeTextRect, SAL_N_ELEMENTS( mso_sptCubeTextRect ),
2175 21600, 21600,
2176 10800, 10800,
2177 (SvxMSDffVertPair*)mso_sptCubeGluePoints, SAL_N_ELEMENTS( mso_sptCubeGluePoints ),
2178 (SvxMSDffHandle*)mso_sptCubeHandle, SAL_N_ELEMENTS( mso_sptCubeHandle )
2181 static const SvxMSDffVertPair mso_sptBevelVert[] =
2183 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2184 { 0, 0 }, { 21600, 0 }, { 1 MSO_I, 0 MSO_I }, { 0 MSO_I, 0 MSO_I },
2185 { 21600, 0 }, { 21600, 21600 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 0 MSO_I },
2186 { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2187 { 0, 21600 }, { 0, 0 }, { 0 MSO_I, 0 MSO_I }, { 0 MSO_I, 2 MSO_I }
2189 static const sal_uInt16 mso_sptBevelSegm[] =
2191 0x4000, 0x0003, 0x6001, 0x8000,
2192 0x4000, 0x0003, 0x6001, 0x8000,
2193 0x4000, 0x0003, 0x6001, 0x8000,
2194 0x4000, 0x0003, 0x6001, 0x8000,
2195 0x4000, 0x0003, 0x6001, 0x8000
2197 static const SvxMSDffCalculationData mso_sptBevelCalc[] =
2199 { 0x2001, { DFF_Prop_adjustValue, 21599, 21600 } },
2200 { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
2201 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
2204 static const SvxMSDffTextRectangles mso_sptBevelTextRect[] =
2206 { { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 2 MSO_I } }
2208 static const SvxMSDffHandle mso_sptBevelHandle[] =
2210 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
2211 0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
2213 static const mso_CustomShape msoBevel =
2215 (SvxMSDffVertPair*)mso_sptBevelVert, SAL_N_ELEMENTS( mso_sptBevelVert ),
2216 (sal_uInt16*)mso_sptBevelSegm, sizeof( mso_sptBevelSegm ) >> 1,
2217 (SvxMSDffCalculationData*)mso_sptBevelCalc, SAL_N_ELEMENTS( mso_sptBevelCalc ),
2218 (sal_Int32*)mso_sptDefault2700,
2219 (SvxMSDffTextRectangles*)mso_sptBevelTextRect, SAL_N_ELEMENTS( mso_sptBevelTextRect ),
2220 21600, 21600,
2221 10800, 10800,
2222 NULL, 0,
2223 (SvxMSDffHandle*)mso_sptBevelHandle, SAL_N_ELEMENTS( mso_sptBevelHandle )
2226 static const SvxMSDffVertPair mso_sptFoldedCornerVert[] = // adjustment1 : x 10800 - 21600
2228 { 0, 0 }, { 21600, 0 }, { 21600, 0 MSO_I }, { 0 MSO_I, 21600 },
2229 { 0, 21600 }, { 0 MSO_I, 21600 }, { 3 MSO_I, 0 MSO_I }, { 8 MSO_I, 9 MSO_I },
2230 { 10 MSO_I, 11 MSO_I }, { 21600, 0 MSO_I }
2232 static const sal_uInt16 mso_sptFoldedCornerSegm[] =
2234 0x4000, 0x0004, 0x6001, 0x8000,
2235 0x4000, 0x0001, 0x2001, 0x6001, 0x8000
2237 static const SvxMSDffCalculationData mso_sptFoldedCornerCalc[] =
2239 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2240 { 0x8000, { 21600, 0, 0x400 } },
2241 { 0x2001, { 0x0401, 8000, 10800 } },
2242 { 0x8000, { 21600, 0, 0x0402 } },
2243 { 0x2001, { 0x0401, 1, 2 } },
2244 { 0x2001, { 0x0401, 1, 4 } },
2245 { 0x2001, { 0x0401, 1, 7 } },
2246 { 0x2001, { 0x0401, 1, 16 } },
2247 { 0x6000, { 0x0403, 0x405, 0 } },
2248 { 0x6000, { 0x0400, 0x406, 0 } },
2249 { 0x8000, { 21600, 0, 0x404 } },
2250 { 0x6000, { 0x400, 0x407, 0 } }
2252 static const sal_Int32 mso_sptFoldedCornerDefault[] =
2254 1, 18900
2256 static const SvxMSDffTextRectangles mso_sptFoldedCornerTextRect[] =
2258 { { 0, 0 }, { 21600, 11 MSO_I } }
2260 static const SvxMSDffHandle mso_sptFoldedCornerHandle[] =
2262 { MSDFF_HANDLE_FLAGS_RANGE,
2263 0x100, 1, 10800, 10800, 10800, 21600, MIN_INT32, 0x7fffffff }
2265 static const mso_CustomShape msoFoldedCorner =
2267 (SvxMSDffVertPair*)mso_sptFoldedCornerVert, SAL_N_ELEMENTS( mso_sptFoldedCornerVert ),
2268 (sal_uInt16*)mso_sptFoldedCornerSegm, sizeof( mso_sptFoldedCornerSegm ) >> 1,
2269 (SvxMSDffCalculationData*)mso_sptFoldedCornerCalc, SAL_N_ELEMENTS( mso_sptFoldedCornerCalc ),
2270 (sal_Int32*)mso_sptFoldedCornerDefault,
2271 (SvxMSDffTextRectangles*)mso_sptFoldedCornerTextRect, SAL_N_ELEMENTS( mso_sptFoldedCornerTextRect ),
2272 21600, 21600,
2273 MIN_INT32, MIN_INT32,
2274 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
2275 (SvxMSDffHandle*)mso_sptFoldedCornerHandle, SAL_N_ELEMENTS( mso_sptFoldedCornerHandle )
2278 static const SvxMSDffVertPair mso_sptActionButtonBlankVert[] =
2280 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2281 { 0, 0 }, { 21600, 0 }, { 1 MSO_I, 0 MSO_I }, { 0 MSO_I, 0 MSO_I },
2282 { 21600, 0 }, { 21600, 21600 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 0 MSO_I },
2283 { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2284 { 0, 21600 }, { 0, 0 }, { 0 MSO_I, 0 MSO_I }, { 0 MSO_I, 2 MSO_I }
2286 static const sal_uInt16 mso_sptActionButtonBlankSegm[] =
2288 0x4000, 0x0003, 0x6001, 0x8000,
2289 0x4000, 0x0003, 0x6001, 0x8000,
2290 0x4000, 0x0003, 0x6001, 0x8000,
2291 0x4000, 0x0003, 0x6001, 0x8000,
2292 0x4000, 0x0003, 0x6001, 0x8000
2294 static const SvxMSDffCalculationData mso_sptActionButtonBlankCalc[] =
2296 { 0x2001, { DFF_Prop_adjustValue, 21599, 21600 } },
2297 { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
2298 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
2300 static const SvxMSDffTextRectangles mso_sptActionButtonBlankTextRect[] =
2302 { { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 2 MSO_I } }
2304 static const SvxMSDffHandle mso_sptButtonHandle[] =
2306 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
2307 0x100, 0, 10800, 10800, 0, 5400, MIN_INT32, 0x7fffffff }
2309 static const mso_CustomShape msoActionButtonBlank =
2311 (SvxMSDffVertPair*)mso_sptActionButtonBlankVert, SAL_N_ELEMENTS( mso_sptActionButtonBlankVert ),
2312 (sal_uInt16*)mso_sptActionButtonBlankSegm, sizeof( mso_sptActionButtonBlankSegm ) >> 1,
2313 (SvxMSDffCalculationData*)mso_sptActionButtonBlankCalc, SAL_N_ELEMENTS( mso_sptActionButtonBlankCalc ),
2314 (sal_Int32*)mso_sptDefault1400,
2315 (SvxMSDffTextRectangles*)mso_sptActionButtonBlankTextRect, SAL_N_ELEMENTS( mso_sptActionButtonBlankTextRect ),
2316 21600, 21600,
2317 10800, 10800,
2318 NULL, 0,
2319 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
2322 static const SvxMSDffTextRectangles mso_sptActionButtonTextRect[] =
2324 { { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 4 MSO_I } }
2326 static const SvxMSDffVertPair mso_sptActionButtonHomeVert[] =
2328 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2329 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2330 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2331 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2332 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2334 { 7 MSO_I, 0xa MSO_I }, { 0xc MSO_I, 0xe MSO_I }, { 0xc MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I },
2335 { 0x12 MSO_I, 0x14 MSO_I }, { 0x16 MSO_I, 8 MSO_I }, { 0x18 MSO_I, 8 MSO_I }, { 0x18 MSO_I, 0x1a MSO_I },
2336 { 0x1c MSO_I, 0x1a MSO_I }, { 0x1c MSO_I, 8 MSO_I }, { 0x1e MSO_I, 8 MSO_I },
2338 { 0xc MSO_I, 0xe MSO_I }, { 0xc MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I },{ 0x12 MSO_I, 0x14 MSO_I },
2340 { 0x20 MSO_I, 0x24 MSO_I }, { 0x22 MSO_I, 0x24 MSO_I }, { 0x22 MSO_I, 0x1a MSO_I }, { 0x18 MSO_I, 0x1a MSO_I },
2341 { 0x18 MSO_I, 8 MSO_I }, { 0x1c MSO_I, 8 MSO_I }, { 0x1c MSO_I, 0x1a MSO_I }, { 0x20 MSO_I, 0x1a MSO_I }
2344 static const sal_uInt16 mso_sptActionButtonHomeSegm[] =
2346 0x4000, 0x0003, 0x6001, 0x8000,
2347 0x4000, 0x0003, 0x6001, 0x8000,
2348 0x4000, 0x0003, 0x6001, 0x8000,
2349 0x4000, 0x0003, 0x6001, 0x8000,
2350 0x4000, 0x0003, 0x6001, 0x8000,
2351 0x4000, 0x000a, 0x6001, 0x8000,
2352 0x4000, 0x0003, 0x6001, 0x8000,
2353 0x4000, 0x0007, 0x6001, 0x8000
2355 static const SvxMSDffCalculationData mso_sptActionButtonHomeCalc[] = // adj value 0 - 5400
2357 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2358 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2359 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2360 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2361 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2362 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2363 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2364 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2365 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2367 { 0x4001, { -8000, 0x0406, 1 } }, // 9
2368 { 0x6000, { 0x0409, 0x0408, 0 } }, // a
2369 { 0x4001, { 2960, 0x0406, 1 } }, // b
2370 { 0x6000, { 0x040b, 0x0407, 0 } }, // c
2371 { 0x4001, { -5000, 0x0406, 1 } }, // d
2372 { 0x6000, { 0x040d, 0x0408, 0 } }, // e
2373 { 0x4001, { -7000, 0x0406, 1 } }, // f
2374 { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
2375 { 0x4001, { 5000, 0x0406, 1 } }, // 11
2376 { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
2377 { 0x4001, { -2960, 0x0406, 1 } }, // 13
2378 { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
2379 { 0x4001, { 8000, 0x0406, 1 } }, // 15
2380 { 0x6000, { 0x0415,0x0407, 0 } }, // 16
2381 { 0x4001, { 6100, 0x0406, 1 } }, // 17
2382 { 0x6000, { 0x0417,0x0407, 0 } }, // 18
2383 { 0x4001, { 8260, 0x0406, 1 } }, // 19
2384 { 0x6000, { 0x0419, 0x0408, 0 } }, // 1a
2385 { 0x4001, { -6100, 0x0406, 1 } }, // 1b
2386 { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
2387 { 0x4001, { -8000, 0x0406, 1 } }, // 1d
2388 { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
2389 { 0x4001, { -1060, 0x0406, 1 } }, // 1f
2390 { 0x6000, { 0x041f, 0x0407, 0 } }, // 20
2391 { 0x4001, { 1060, 0x0406, 1 } }, // 21
2392 { 0x6000, { 0x0421, 0x0407, 0 } }, // 22
2393 { 0x4001, { 4020, 0x0406, 1 } }, // 23
2394 { 0x6000, { 0x0423, 0x0408, 0 } } // 24
2397 static const mso_CustomShape msoActionButtonHome =
2399 (SvxMSDffVertPair*)mso_sptActionButtonHomeVert, SAL_N_ELEMENTS( mso_sptActionButtonHomeVert ),
2400 (sal_uInt16*)mso_sptActionButtonHomeSegm, sizeof( mso_sptActionButtonHomeSegm ) >> 1,
2401 (SvxMSDffCalculationData*)mso_sptActionButtonHomeCalc, SAL_N_ELEMENTS( mso_sptActionButtonHomeCalc ),
2402 (sal_Int32*)mso_sptDefault1400,
2403 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
2404 21600, 21600,
2405 10800, 10800,
2406 NULL, 0,
2407 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
2410 static const SvxMSDffVertPair mso_sptActionButtonHelpVert[] =
2412 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2413 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2414 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2415 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2416 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I,4 MSO_I },
2417 { 7 MSO_I, 0xc MSO_I }, { 0xa MSO_I, 0x3e MSO_I }, { 7 MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 0x3e MSO_I }, { 7 MSO_I, 0xc MSO_I },
2418 { 0x12 MSO_I, 0x14 MSO_I }, { 0x12 MSO_I, 0x16 MSO_I }, // pp
2419 { 0x12 MSO_I, 0x18 MSO_I }, { 0x1a MSO_I, 8 MSO_I }, { 0x1c MSO_I, 8 MSO_I }, // ccp
2420 { 0x1e MSO_I, 8 MSO_I }, { 0x20 MSO_I, 0x22 MSO_I }, { 0x20 MSO_I, 0x24 MSO_I }, // ccp
2421 { 0x20 MSO_I, 0x26 MSO_I }, { 0x28 MSO_I, 0x2a MSO_I }, { 7 MSO_I, 0x2a MSO_I }, // ccp
2422 { 0x2c MSO_I, 0x2a MSO_I }, { 0x2e MSO_I, 0x26 MSO_I }, { 0x2e MSO_I, 0x24 MSO_I }, // ccp
2423 { 0x30 MSO_I, 0x24 MSO_I }, { 0x30 MSO_I, 0x32 MSO_I }, { 0x34 MSO_I, 0x36 MSO_I }, // ccp
2424 { 7 MSO_I, 0x36 MSO_I }, // p
2425 { 0x12 MSO_I, 0x36 MSO_I }, { 0x1c MSO_I, 0x32 MSO_I }, { 0x1c MSO_I, 0x24 MSO_I }, // ccp
2426 { 0x1c MSO_I, 0x38 MSO_I }, { 0x3a MSO_I, 0x3c MSO_I }, { 0x12 MSO_I, 0x3c MSO_I }, // ccp
2427 { 7 MSO_I, 0x3c MSO_I }, { 0x34 MSO_I, 8 MSO_I }, { 0x34 MSO_I, 0x16 MSO_I }, // ccp
2428 { 0x34 MSO_I, 0x14 MSO_I }
2430 static const sal_uInt16 mso_sptActionButtonHelpSegm[] =
2432 0x4000, 0x0003, 0x6001, 0x8000,
2433 0x4000, 0x0003, 0x6001, 0x8000,
2434 0x4000, 0x0003, 0x6001, 0x8000,
2435 0x4000, 0x0003, 0x6001, 0x8000,
2436 0x4000, 0x0003, 0x6001, 0x8000,
2437 0x4000, 0xa704, 0x6000, 0x8000,
2438 0x4000, 0x0001, 0x2004, 0x0001, 0x2004, 0x0001, 0x6001, 0x8000
2440 static const SvxMSDffCalculationData mso_sptActionButtonHelpCalc[] = // adj value 0 - 5400
2442 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2443 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2444 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2445 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2446 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2447 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2448 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2449 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2450 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2452 { 0x4001, { -1690, 0x0406, 1 } }, // 9
2453 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2454 { 0x4001, { 4600, 0x0406, 1 } }, // b
2455 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2456 { 0x4001, { 1690, 0x0406, 1 } }, // d
2457 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2458 { 0x4001, { 7980, 0x0406, 1 } }, // f
2459 { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
2460 { 0x4001, { 1270, 0x0406, 1 } }, // 11
2461 { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
2462 { 0x4001, { 4000, 0x0406, 1 } }, // 13
2463 { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
2464 { 0x4001, { 1750, 0x0406, 1 } }, // 15
2465 { 0x6000, { 0x0415, 0x0408, 0 } }, // 16
2466 { 0x4001, { 800, 0x0406, 1 } }, // 17
2467 { 0x6000, { 0x0417, 0x0408, 0 } }, // 18
2468 { 0x4001, { 1650, 0x0406, 1 } }, // 19
2469 { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
2470 { 0x4001, { 2340, 0x0406, 1 } }, // 1b
2471 { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
2472 { 0x4001, { 3640, 0x0406, 1 } }, // 1d
2473 { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
2474 { 0x4001, { 4670, 0x0406, 1 } }, // 1f
2475 { 0x6000, { 0x041f, 0x0407, 0 } }, // 20
2476 { 0x4001, { -1570, 0x0406, 1 } }, // 21
2477 { 0x6000, { 0x0421, 0x0408, 0 } }, // 22
2478 { 0x4001, { -3390, 0x0406, 1 } }, // 23
2479 { 0x6000, { 0x0423, 0x0408, 0 } }, // 24
2480 { 0x4001, { -6050, 0x0406, 1 } }, // 25
2481 { 0x6000, { 0x0425, 0x0408, 0 } }, // 26
2482 { 0x4001, { 2540, 0x0406, 1 } }, // 27
2483 { 0x6000, { 0x0427, 0x0407, 0 } }, // 28
2484 { 0x4001, { -8050, 0x0406, 1 } }, // 29
2485 { 0x6000, { 0x0429, 0x0408, 0 } }, // 2a
2486 { 0x4001, { -2540, 0x0406, 1 } }, // 2b
2487 { 0x6000, { 0x042b, 0x0407, 0 } }, // 2c
2488 { 0x4001, { -4460, 0x0406, 1 } }, // 2d
2489 { 0x6000, { 0x042d, 0x0407, 0 } }, // 2e
2490 { 0x4001, { -2330, 0x0406, 1 } }, // 2f
2491 { 0x6000, { 0x042f, 0x0407, 0 } }, // 30
2492 { 0x4001, { -4700, 0x0406, 1 } }, // 31
2493 { 0x6000, { 0x0431, 0x0408, 0 } }, // 32
2494 { 0x4001, { -1270, 0x0406, 1 } }, // 33
2495 { 0x6000, { 0x0433, 0x0407, 0 } }, // 34
2496 { 0x4001, { -5720, 0x0406, 1 } }, // 35
2497 { 0x6000, { 0x0435, 0x0408, 0 } }, // 36
2498 { 0x4001, { -2540, 0x0406, 1 } }, // 37
2499 { 0x6000, { 0x0437, 0x0408, 0 } }, // 38
2500 { 0x4001, { 1800, 0x0406, 1 } }, // 39
2501 { 0x6000, { 0x0439, 0x0407, 0 } }, // 3a
2502 { 0x4001, { -1700, 0x0406, 1 } }, // 3b
2503 { 0x6000, { 0x043b, 0x0408, 0 } }, // 3c
2504 { 0x4001, { 6290, 0x0406, 1 } }, // 3d
2505 { 0x6000, { 0x043d, 0x0408, 0 } } // 3e
2507 static const mso_CustomShape msoActionButtonHelp =
2509 (SvxMSDffVertPair*)mso_sptActionButtonHelpVert, SAL_N_ELEMENTS( mso_sptActionButtonHelpVert ),
2510 (sal_uInt16*)mso_sptActionButtonHelpSegm, sizeof( mso_sptActionButtonHelpSegm ) >> 1,
2511 (SvxMSDffCalculationData*)mso_sptActionButtonHelpCalc, SAL_N_ELEMENTS( mso_sptActionButtonHelpCalc ),
2512 (sal_Int32*)mso_sptDefault1400,
2513 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
2514 21600, 21600,
2515 10800, 10800,
2516 NULL, 0,
2517 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
2520 static const SvxMSDffVertPair mso_sptActionButtonInformationVert[] =
2522 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2523 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2524 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2525 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2526 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2527 { 0x7 MSO_I, 0xc MSO_I }, { 0xa MSO_I, 0x8 MSO_I }, { 0x7 MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 8 MSO_I }, { 0x7 MSO_I, 0xc MSO_I },
2528 { 0x7 MSO_I, 0x14 MSO_I }, { 0x12 MSO_I, 0x2a MSO_I }, { 0x7 MSO_I, 0x18 MSO_I }, { 0x16 MSO_I, 0x2a MSO_I }, { 0x7 MSO_I, 0x14 MSO_I },
2529 { 0x1a MSO_I, 0x1c MSO_I }, { 0x1e MSO_I, 0x1c MSO_I }, { 0x1e MSO_I, 0x20 MSO_I }, { 0x22 MSO_I, 0x20 MSO_I },
2530 { 0x22 MSO_I, 0x24 MSO_I }, { 0x1a MSO_I, 0x24 MSO_I }, { 0x1a MSO_I, 0x20 MSO_I }, { 0x26 MSO_I, 0x20 MSO_I },
2531 { 0x26 MSO_I, 0x28 MSO_I }, { 0x1a MSO_I, 0x28 MSO_I }
2533 static const sal_uInt16 mso_sptActionButtonInformationSegm[] =
2535 0x4000, 0x0003, 0x6001, 0x8000,
2536 0x4000, 0x0003, 0x6001, 0x8000,
2537 0x4000, 0x0003, 0x6001, 0x8000,
2538 0x4000, 0x0003, 0x6001, 0x8000,
2539 0x4000, 0x0003, 0x6001, 0x8000,
2540 0x4000, 0xa704, 0x6000, 0x8000,
2541 0x4000, 0xa704, 0x6000, 0x8000,
2542 0x4000, 0x0009, 0x6001, 0x8000
2544 static const SvxMSDffCalculationData mso_sptActionButtonInformationCalc[] = // adj value 0 - 5400
2546 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2547 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2548 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2549 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2550 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2551 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2552 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2553 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2554 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2556 { 0x4001, { -8050, 0x0406, 1 } }, // 9
2557 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2558 { 0x4001, { -8050, 0x0406, 1 } }, // b
2559 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2560 { 0x4001, { 8050, 0x0406, 1 } }, // d
2561 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2562 { 0x4001, { 8050, 0x0406, 1 } }, // f
2563 { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
2565 { 0x4001, { -2060, 0x0406, 1 } }, // 11
2566 { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
2567 { 0x4001, { -7620, 0x0406, 1 } }, // 13
2568 { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
2569 { 0x4001, { 2060, 0x0406, 1 } }, // 15
2570 { 0x6000, { 0x0415, 0x0407, 0 } }, // 16
2571 { 0x4001, { -3500, 0x0406, 1 } }, // 17
2572 { 0x6000, { 0x0417, 0x0408, 0 } }, // 18
2574 { 0x4001, { -2960, 0x0406, 1 } }, // 19
2575 { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
2576 { 0x4001, { -2960, 0x0406, 1 } }, // 1b
2577 { 0x6000, { 0x041b, 0x0408, 0 } }, // 1c
2578 { 0x4001, { 1480, 0x0406, 1 } }, // 1d
2579 { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
2580 { 0x4001, { 5080, 0x0406, 1 } }, // 1f
2581 { 0x6000, { 0x041f, 0x0408, 0 } }, // 20
2582 { 0x4001, { 2960, 0x0406, 1 } }, // 21
2583 { 0x6000, { 0x0421, 0x0407, 0 } }, // 22
2584 { 0x4001, { 6140, 0x0406, 1 } }, // 23
2585 { 0x6000, { 0x0423, 0x0408, 0 } }, // 24
2586 { 0x4001, { -1480, 0x0406, 1 } }, // 25
2587 { 0x6000, { 0x0425, 0x0407, 0 } }, // 26
2588 { 0x4001, { -1920, 0x0406, 1 } }, // 27
2589 { 0x6000, { 0x0427, 0x0408, 0 } }, // 28
2591 { 0x4001, { -5560, 0x0406, 1 } }, // 29
2592 { 0x6000, { 0x0429, 0x0408, 0 } }, // 2a
2595 static const mso_CustomShape msoActionButtonInformation =
2597 (SvxMSDffVertPair*)mso_sptActionButtonInformationVert, SAL_N_ELEMENTS( mso_sptActionButtonInformationVert ),
2598 (sal_uInt16*)mso_sptActionButtonInformationSegm, sizeof( mso_sptActionButtonInformationSegm ) >> 1,
2599 (SvxMSDffCalculationData*)mso_sptActionButtonInformationCalc, SAL_N_ELEMENTS( mso_sptActionButtonInformationCalc ),
2600 (sal_Int32*)mso_sptDefault1400,
2601 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
2602 21600, 21600,
2603 10800, 10800,
2604 NULL, 0,
2605 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
2608 static const SvxMSDffVertPair mso_sptActionButtonBackPreviousVert[] =
2610 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2611 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2612 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2613 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I,4 MSO_I },
2614 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2616 { 0xa MSO_I, 8 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I }
2618 static const sal_uInt16 mso_sptActionButtonForwardBackSegm[] =
2620 0x4000, 0x0003, 0x6001, 0x8000,
2621 0x4000, 0x0003, 0x6001, 0x8000,
2622 0x4000, 0x0003, 0x6001, 0x8000,
2623 0x4000, 0x0003, 0x6001, 0x8000,
2624 0x4000, 0x0003, 0x6001, 0x8000,
2625 0x4000, 0x0002, 0x6001, 0x8000
2627 static const SvxMSDffCalculationData mso_sptActionButtonForwardBackCalc[] = // adj value 0 - 5400
2629 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2630 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2631 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2632 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2633 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2634 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2635 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2636 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2637 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2639 { 0x4001, { -8050, 0x0406, 1 } }, // 9
2640 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2641 { 0x4001, { -8050, 0x0406, 1 } }, // b
2642 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2643 { 0x4001, { 8050, 0x0406, 1 } }, // d
2644 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2645 { 0x4001, { 8050, 0x0406, 1 } }, // f
2646 { 0x6000, { 0x040f, 0x0408, 0 } } // 10
2648 static const mso_CustomShape msoActionButtonBackPrevious =
2650 (SvxMSDffVertPair*)mso_sptActionButtonBackPreviousVert, SAL_N_ELEMENTS( mso_sptActionButtonBackPreviousVert ),
2651 (sal_uInt16*)mso_sptActionButtonForwardBackSegm, sizeof( mso_sptActionButtonForwardBackSegm ) >> 1,
2652 (SvxMSDffCalculationData*)mso_sptActionButtonForwardBackCalc, SAL_N_ELEMENTS( mso_sptActionButtonForwardBackCalc ),
2653 (sal_Int32*)mso_sptDefault1400,
2654 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
2655 21600, 21600,
2656 10800, 10800,
2657 NULL, 0,
2658 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
2661 static const SvxMSDffVertPair mso_sptActionButtonForwardNextVert[] =
2663 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2664 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2665 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2666 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2667 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2669 { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 8 MSO_I }, { 0xa MSO_I, 0x10 MSO_I }
2671 static const mso_CustomShape msoActionButtonForwardNext =
2673 (SvxMSDffVertPair*)mso_sptActionButtonForwardNextVert, SAL_N_ELEMENTS( mso_sptActionButtonForwardNextVert ),
2674 (sal_uInt16*)mso_sptActionButtonForwardBackSegm, sizeof( mso_sptActionButtonForwardBackSegm ) >> 1,
2675 (SvxMSDffCalculationData*)mso_sptActionButtonForwardBackCalc, SAL_N_ELEMENTS( mso_sptActionButtonForwardBackCalc ),
2676 (sal_Int32*)mso_sptDefault1400,
2677 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
2678 21600, 21600,
2679 10800, 10800,
2680 NULL, 0,
2681 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
2684 static const SvxMSDffVertPair mso_sptActionButtonBeginningVert[] =
2686 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2687 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2688 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2689 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2690 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2692 { 0xa MSO_I, 8 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0xc MSO_I },
2693 { 0x14 MSO_I, 0xc MSO_I }, { 0x14 MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I }
2695 static const sal_uInt16 mso_sptActionButtonBeginningEndSegm[] =
2697 0x4000, 0x0003, 0x6001, 0x8000,
2698 0x4000, 0x0003, 0x6001, 0x8000,
2699 0x4000, 0x0003, 0x6001, 0x8000,
2700 0x4000, 0x0003, 0x6001, 0x8000,
2701 0x4000, 0x0003, 0x6001, 0x8000,
2703 0x4000, 0x0002, 0x6001, 0x8000,
2704 0x4000, 0x0003, 0x6001, 0x8000
2706 static const SvxMSDffCalculationData mso_sptActionButtonBeginningEndCalc[] = // adj value 0 - 5400
2708 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2709 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2710 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2711 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2712 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2713 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2714 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2715 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2716 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2718 { 0x4001, { -4020, 0x0406, 1 } }, // 9
2719 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2720 { 0x4001, { -8050, 0x0406, 1 } }, // b
2721 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2722 { 0x4001, { 8050, 0x0406, 1 } }, // d
2723 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2724 { 0x4001, { 8050, 0x0406, 1 } }, // f
2725 { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
2727 { 0x4001, { -8050, 0x0406, 1 } }, // 11
2728 { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
2729 { 0x4001, { -6140, 0x0406, 1 } }, // 13
2730 { 0x6000, { 0x0413, 0x0407, 0 } }, // 14
2733 { 0x4001, { 4020, 0x0406, 1 } }, // 15
2734 { 0x6000, { 0x0415, 0x0407, 0 } }, // 16
2735 { 0x4001, { 6140, 0x0406, 1 } }, // 17
2736 { 0x6000, { 0x0417, 0x0407, 0 } } // 18
2738 static const mso_CustomShape msoActionButtonBeginning =
2740 (SvxMSDffVertPair*)mso_sptActionButtonBeginningVert, SAL_N_ELEMENTS( mso_sptActionButtonBeginningVert ),
2741 (sal_uInt16*)mso_sptActionButtonBeginningEndSegm, sizeof( mso_sptActionButtonBeginningEndSegm ) >> 1,
2742 (SvxMSDffCalculationData*)mso_sptActionButtonBeginningEndCalc, SAL_N_ELEMENTS( mso_sptActionButtonBeginningEndCalc ),
2743 (sal_Int32*)mso_sptDefault1400,
2744 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
2745 21600, 21600,
2746 10800, 10800,
2747 NULL, 0,
2748 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
2751 static const SvxMSDffVertPair mso_sptActionButtonEndVert[] =
2753 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2754 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2755 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2756 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2757 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2759 { 0x16 MSO_I, 8 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0xc MSO_I },
2761 { 0x18 MSO_I, 0xc MSO_I }, { 0x18 MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 0xc MSO_I }
2763 static const mso_CustomShape msoActionButtonEnd =
2765 (SvxMSDffVertPair*)mso_sptActionButtonEndVert, SAL_N_ELEMENTS( mso_sptActionButtonEndVert ),
2766 (sal_uInt16*)mso_sptActionButtonBeginningEndSegm, sizeof( mso_sptActionButtonBeginningEndSegm ) >> 1,
2767 (SvxMSDffCalculationData*)mso_sptActionButtonBeginningEndCalc, SAL_N_ELEMENTS( mso_sptActionButtonBeginningEndCalc ),
2768 (sal_Int32*)mso_sptDefault1400,
2769 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
2770 21600, 21600,
2771 10800, 10800,
2772 NULL, 0,
2773 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
2776 static const SvxMSDffVertPair mso_sptActionButtonReturnVert[] =
2778 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2779 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2780 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2781 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2782 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2784 { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I }, // ppp
2785 { 0xe MSO_I, 0x12 MSO_I }, { 0x14 MSO_I, 0x16 MSO_I }, { 0x18 MSO_I, 0x16 MSO_I }, // ccp
2786 { 7 MSO_I, 0x16 MSO_I }, // p
2787 { 0x1a MSO_I, 0x16 MSO_I }, { 0x1c MSO_I, 0x12 MSO_I }, { 0x1c MSO_I, 0x10 MSO_I }, // ccp
2788 { 0x1c MSO_I, 0xc MSO_I }, { 7 MSO_I, 0xc MSO_I }, { 0x1e MSO_I, 0x20 MSO_I }, { 0x22 MSO_I, 0xc MSO_I },// pppp
2789 { 0x24 MSO_I, 0xc MSO_I }, { 0x24 MSO_I, 0x10 MSO_I }, // pp
2790 { 0x24 MSO_I, 0x26 MSO_I }, { 0x28 MSO_I, 0x2a MSO_I }, { 7 MSO_I, 0x2a MSO_I }, // ccp
2791 { 0x18 MSO_I, 0x2a MSO_I }, // p
2792 { 0x2c MSO_I, 0x2a MSO_I }, { 0xa MSO_I, 0x26 MSO_I }, { 0xa MSO_I, 0x10 MSO_I } // ccp
2794 static const sal_uInt16 mso_sptActionButtonReturnSegm[] =
2796 0x4000, 0x0003, 0x6001, 0x8000,
2797 0x4000, 0x0003, 0x6001, 0x8000,
2798 0x4000, 0x0003, 0x6001, 0x8000,
2799 0x4000, 0x0003, 0x6001, 0x8000,
2800 0x4000, 0x0003, 0x6001, 0x8000,
2801 0x4000, 0x0002, 0x2001, 0x0001, 0x2001, 0x0006,0x2001, 0x0001, 0x2001, 0x6001, 0x8000
2803 static const SvxMSDffCalculationData mso_sptActionButtonReturnCalc[] = // adj value 0 - 5400
2805 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2806 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2807 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2808 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2809 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2810 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2811 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2812 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2813 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2815 { 0x4001, { -8050, 0x0406, 1 } }, // 9
2816 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2817 { 0x4001, { -3800, 0x0406, 1 } }, // b
2818 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2819 { 0x4001, { -4020, 0x0406, 1 } }, // d
2820 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2821 { 0x4001, { 2330, 0x0406, 1 } }, // f
2822 { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
2823 { 0x4001, { 3390, 0x0406, 1 } }, // 11
2824 { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
2825 { 0x4001, { -3100, 0x0406, 1 } }, // 13
2826 { 0x6000, { 0x0413, 0x0407, 0 } }, // 14
2827 { 0x4001, { 4230, 0x0406, 1 } }, // 15
2828 { 0x6000, { 0x0415, 0x0408, 0 } }, // 16
2829 { 0x4001, { -1910, 0x0406, 1 } }, // 17
2830 { 0x6000, { 0x0417, 0x0407, 0 } }, // 18
2831 { 0x4001, { 1190, 0x0406, 1 } }, // 19
2832 { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
2833 { 0x4001, { 2110, 0x0406, 1 } }, // 1b
2834 { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
2835 { 0x4001, { 4030, 0x0406, 1 } }, // 1d
2836 { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
2837 { 0x4001, { -7830, 0x0406, 1 } }, // 1f
2838 { 0x6000, { 0x041f, 0x0408, 0 } }, // 20
2839 { 0x4001, { 8250, 0x0406, 1 } }, // 21
2840 { 0x6000, { 0x0421, 0x0407, 0 } }, // 22
2841 { 0x4001, { 6140, 0x0406, 1 } }, // 23
2842 { 0x6000, { 0x0423, 0x0407, 0 } }, // 24
2843 { 0x4001, { 5510, 0x0406, 1 } }, // 25
2844 { 0x6000, { 0x0425, 0x0408, 0 } }, // 26
2845 { 0x4001, { 3180, 0x0406, 1 } }, // 27
2846 { 0x6000, { 0x0427, 0x0407, 0 } }, // 28
2847 { 0x4001, { 8450, 0x0406, 1 } }, // 29
2848 { 0x6000, { 0x0429, 0x0408, 0 } }, // 2a
2849 { 0x4001, { -5090, 0x0406, 1 } }, // 2b
2850 { 0x6000, { 0x042b, 0x0407, 0 } } // 2c
2852 static const mso_CustomShape msoActionButtonReturn =
2854 (SvxMSDffVertPair*)mso_sptActionButtonReturnVert, SAL_N_ELEMENTS( mso_sptActionButtonReturnVert ),
2855 (sal_uInt16*)mso_sptActionButtonReturnSegm, sizeof( mso_sptActionButtonReturnSegm ) >> 1,
2856 (SvxMSDffCalculationData*)mso_sptActionButtonReturnCalc, SAL_N_ELEMENTS( mso_sptActionButtonReturnCalc ),
2857 (sal_Int32*)mso_sptDefault1400,
2858 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
2859 21600, 21600,
2860 10800, 10800,
2861 NULL, 0,
2862 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
2865 static const SvxMSDffVertPair mso_sptActionButtonDocumentVert[] =
2867 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2868 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2869 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2870 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2871 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2873 { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x10 MSO_I, 0x14 MSO_I },
2874 { 0xa MSO_I, 0x14 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0xe MSO_I, 0x12 MSO_I }
2876 static const sal_uInt16 mso_sptActionButtonDocumentSegm[] =
2878 0x4000, 0x0003, 0x6001, 0x8000,
2879 0x4000, 0x0003, 0x6001, 0x8000,
2880 0x4000, 0x0003, 0x6001, 0x8000,
2881 0x4000, 0x0003, 0x6001, 0x8000,
2882 0x4000, 0x0003, 0x6001, 0x8000,
2884 0x4000, 0x0004, 0x6001, 0x8000,
2885 0x4000, 0x0002, 0x6001, 0x8000
2887 static const SvxMSDffCalculationData mso_sptActionButtonDocumentCalc[] = // adj value 0 - 5400
2889 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2890 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2891 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2892 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2893 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2894 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2895 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2896 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2897 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2899 { 0x4001, { -6350, 0x0406, 1 } }, // 9
2900 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2901 { 0x4001, { -7830, 0x0406, 1 } }, // b
2902 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2903 { 0x4001, { 1690, 0x0406, 1 } }, // d
2904 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2905 { 0x4001, { 6350, 0x0406, 1 } }, // f
2906 { 0x6000, { 0x040f, 0x0407, 0 } }, // 10
2907 { 0x4001, { -3810, 0x0406, 1 } }, // 11
2908 { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
2909 { 0x4001, { 7830, 0x0406, 1 } }, // 13
2910 { 0x6000, { 0x0413, 0x0408, 0 } } // 14
2912 static const mso_CustomShape msoActionButtonDocument =
2914 (SvxMSDffVertPair*)mso_sptActionButtonDocumentVert, SAL_N_ELEMENTS( mso_sptActionButtonDocumentVert ),
2915 (sal_uInt16*)mso_sptActionButtonDocumentSegm, sizeof( mso_sptActionButtonDocumentSegm ) >> 1,
2916 (SvxMSDffCalculationData*)mso_sptActionButtonDocumentCalc, SAL_N_ELEMENTS( mso_sptActionButtonDocumentCalc ),
2917 (sal_Int32*)mso_sptDefault1400,
2918 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
2919 21600, 21600,
2920 10800, 10800,
2921 NULL, 0,
2922 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
2925 static const SvxMSDffVertPair mso_sptActionButtonSoundVert[] =
2927 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2928 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2929 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2930 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2931 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2933 { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x10 MSO_I, 0x14 MSO_I },
2934 { 0xe MSO_I, 0x16 MSO_I }, { 0xa MSO_I, 0x16 MSO_I }, { 0x18 MSO_I, 8 MSO_I }, { 0x1a MSO_I, 8 MSO_I },
2936 { 0x18 MSO_I, 0xc MSO_I }, { 0x1a MSO_I, 0x1c MSO_I },
2938 { 0x18 MSO_I, 0x16 MSO_I }, { 0x1a MSO_I, 0x1e MSO_I }
2940 static const sal_uInt16 mso_sptActionButtonSoundSegm[] =
2942 0x4000, 0x0003, 0x6001, 0x8000,
2943 0x4000, 0x0003, 0x6001, 0x8000,
2944 0x4000, 0x0003, 0x6001, 0x8000,
2945 0x4000, 0x0003, 0x6001, 0x8000,
2946 0x4000, 0x0003, 0x6001, 0x8000,
2948 0x4000, 0x0005, 0x6001, 0x8000,
2949 0x4000, 0x0001, 0x8000,
2950 0x4000, 0x0001, 0x8000,
2951 0x4000, 0x0001, 0x8000
2953 static const SvxMSDffCalculationData mso_sptActionButtonSoundCalc[] = // adj value 0 - 5400
2955 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2956 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2957 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2958 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2959 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2960 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2961 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2962 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2963 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2965 { 0x4001, { -8050, 0x0406, 1 } }, // 9
2966 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2967 { 0x4001, { -2750, 0x0406, 1 } }, // b
2968 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2969 { 0x4001, { -2960, 0x0406, 1 } }, // d
2970 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2971 { 0x4001, { 2120, 0x0406, 1 } }, // f
2972 { 0x6000, { 0x040f, 0x0407, 0 } }, // 10
2973 { 0x4001, { -8050, 0x0406, 1 } }, // 11
2974 { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
2975 { 0x4001, { 8050, 0x0406, 1 } }, // 13
2976 { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
2977 { 0x4001, { 2750, 0x0406, 1 } }, // 15
2978 { 0x6000, { 0x0415, 0x0408, 0 } }, // 16
2979 { 0x4001, { 4020, 0x0406, 1 } }, // 17
2980 { 0x6000, { 0x0417, 0x0407, 0 } }, // 18
2981 { 0x4001, { 8050, 0x0406, 1 } }, // 19
2982 { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
2983 { 0x4001, { -5930, 0x0406, 1 } }, // 1b
2984 { 0x6000, { 0x041b, 0x0408, 0 } }, // 1c
2985 { 0x4001, { 5930, 0x0406, 1 } }, // 1d
2986 { 0x6000, { 0x041d, 0x0408, 0 } } // 1e
2988 static const mso_CustomShape msoActionButtonSound =
2990 (SvxMSDffVertPair*)mso_sptActionButtonSoundVert, SAL_N_ELEMENTS( mso_sptActionButtonSoundVert ),
2991 (sal_uInt16*)mso_sptActionButtonSoundSegm, sizeof( mso_sptActionButtonSoundSegm ) >> 1,
2992 (SvxMSDffCalculationData*)mso_sptActionButtonSoundCalc, SAL_N_ELEMENTS( mso_sptActionButtonSoundCalc ),
2993 (sal_Int32*)mso_sptDefault1400,
2994 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
2995 21600, 21600,
2996 10800, 10800,
2997 NULL, 0,
2998 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
3001 static const SvxMSDffVertPair mso_sptActionButtonMovieVert[] =
3003 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
3004 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
3005 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
3006 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
3007 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
3009 { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x14 MSO_I, 0x12 MSO_I },
3010 { 0x16 MSO_I, 0x18 MSO_I }, { 0x16 MSO_I, 0x1a MSO_I }, { 0x1c MSO_I, 0x1a MSO_I }, { 0x1e MSO_I, 0x18 MSO_I },
3011 { 0x20 MSO_I, 0x18 MSO_I }, { 0x20 MSO_I, 0x22 MSO_I }, { 0x1e MSO_I, 0x22 MSO_I }, { 0x1c MSO_I, 0x24 MSO_I },
3012 { 0x16 MSO_I, 0x24 MSO_I }, { 0x16 MSO_I, 0x26 MSO_I }, { 0x2a MSO_I, 0x26 MSO_I }, { 0x2a MSO_I, 0x28 MSO_I },
3013 { 0x10 MSO_I, 0x28 MSO_I }, { 0xe MSO_I, 0x2c MSO_I }, { 0xa MSO_I, 0x2c MSO_I }
3015 static const sal_uInt16 mso_sptActionButtonMovieSegm[] =
3017 0x4000, 0x0003, 0x6001, 0x8000,
3018 0x4000, 0x0003, 0x6001, 0x8000,
3019 0x4000, 0x0003, 0x6001, 0x8000,
3020 0x4000, 0x0003, 0x6001, 0x8000,
3021 0x4000, 0x0003, 0x6001, 0x8000,
3022 0x4000, 0x0012, 0x6001, 0x8000
3024 static const SvxMSDffCalculationData mso_sptActionButtonMovieCalc[] = // adj value 0 - 5400
3026 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
3027 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
3028 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
3029 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
3030 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
3031 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
3032 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
3033 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
3034 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
3036 { 0x4001, { -8050, 0x0406, 1 } }, // 9
3037 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
3038 { 0x4001, { -4020, 0x0406, 1 } }, // b
3039 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
3040 { 0x4001, { -7000, 0x0406, 1 } }, // d
3041 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
3042 { 0x4001, { -6560, 0x0406, 1 } }, // f
3043 { 0x6000, { 0x040f, 0x0407, 0 } }, // 10
3044 { 0x4001, { -3600, 0x0406, 1 } }, // 11
3045 { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
3046 { 0x4001, { 4020, 0x0406, 1 } }, // 13
3047 { 0x6000, { 0x0413, 0x0407, 0 } }, // 14
3048 { 0x4001, { 4660, 0x0406, 1 } }, // 15
3049 { 0x6000, { 0x0415, 0x0407, 0 } }, // 16
3050 { 0x4001, { -2960, 0x0406, 1 } }, // 17
3051 { 0x6000, { 0x0417, 0x0408, 0 } }, // 18
3052 { 0x4001, { -2330, 0x0406, 1 } }, // 19
3053 { 0x6000, { 0x0419, 0x0408, 0 } }, // 1a
3054 { 0x4001, { 6780, 0x0406, 1 } }, // 1b
3055 { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
3056 { 0x4001, { 7200, 0x0406, 1 } }, // 1d
3057 { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
3058 { 0x4001, { 8050, 0x0406, 1 } }, // 1f
3059 { 0x6000, { 0x041f, 0x0407, 0 } }, // 20
3060 { 0x4001, { 2960, 0x0406, 1 } }, // 21
3061 { 0x6000, { 0x0421, 0x0408, 0 } }, // 22
3062 { 0x4001, { 2330, 0x0406, 1 } }, // 23
3063 { 0x6000, { 0x0423, 0x0408, 0 } }, // 24
3064 { 0x4001, { 3800, 0x0406, 1 } }, // 25
3065 { 0x6000, { 0x0425, 0x0408, 0 } }, // 26
3066 { 0x4001, { -1060, 0x0406, 1 } }, // 27
3067 { 0x6000, { 0x0427, 0x0408, 0 } }, // 28
3068 { 0x4001, { -6350, 0x0406, 1 } }, // 29
3069 { 0x6000, { 0x0429, 0x0407, 0 } }, // 2a
3070 { 0x4001, { -640, 0x0406, 1 } }, // 2b
3071 { 0x6000, { 0x042b, 0x0408, 0 } } // 2c
3073 static const mso_CustomShape msoActionButtonMovie =
3075 (SvxMSDffVertPair*)mso_sptActionButtonMovieVert, SAL_N_ELEMENTS( mso_sptActionButtonMovieVert ),
3076 (sal_uInt16*)mso_sptActionButtonMovieSegm, sizeof( mso_sptActionButtonMovieSegm ) >> 1,
3077 (SvxMSDffCalculationData*)mso_sptActionButtonMovieCalc, SAL_N_ELEMENTS( mso_sptActionButtonMovieCalc ),
3078 (sal_Int32*)mso_sptDefault1400,
3079 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, SAL_N_ELEMENTS( mso_sptActionButtonTextRect ),
3080 21600, 21600,
3081 10800, 10800,
3082 NULL, 0,
3083 (SvxMSDffHandle*)mso_sptButtonHandle, SAL_N_ELEMENTS( mso_sptButtonHandle )
3086 static const SvxMSDffVertPair mso_sptSmileyFaceVert[] = // adj value 15510 - 17520
3088 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
3089 { 7305, 7515 }, { 1000, 1865 }, { 0, 360 },
3090 { 14295, 7515 }, { 1000, 1865 }, { 0, 360 },
3091 { 4870, 1 MSO_I }, { 8680, 2 MSO_I }, { 12920, 2 MSO_I }, { 16730, 1 MSO_I }
3093 static const sal_uInt16 mso_sptSmileyFaceSegm[] =
3095 0xa203, 0x6000, 0x8000,
3096 0xa203, 0x6000, 0x8000,
3097 0xa203, 0x6000, 0x8000,
3098 0x4000, 0x2001, 0xaa00, 0x8000
3100 static const SvxMSDffCalculationData mso_sptSmileyFaceCalc[] =
3102 { 0x2000, { DFF_Prop_adjustValue, 0, 14510 } },
3103 { 0x8000, { 18520, 0, 0x400 } },
3104 { 0x4000, { 14510, 0x400, 0 } }
3107 static const sal_Int32 mso_sptSmileyFaceDefault[] =
3109 1, 18520
3111 static const SvxMSDffHandle mso_sptSmileyHandle[] =
3113 { MSDFF_HANDLE_FLAGS_RANGE,
3114 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 14510, 18520 }
3116 static const mso_CustomShape msoSmileyFace =
3118 (SvxMSDffVertPair*)mso_sptSmileyFaceVert, SAL_N_ELEMENTS( mso_sptSmileyFaceVert ),
3119 (sal_uInt16*)mso_sptSmileyFaceSegm, sizeof( mso_sptSmileyFaceSegm ) >> 1,
3120 (SvxMSDffCalculationData*)mso_sptSmileyFaceCalc, SAL_N_ELEMENTS( mso_sptSmileyFaceCalc ),
3121 (sal_Int32*)mso_sptSmileyFaceDefault,
3122 (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, SAL_N_ELEMENTS( mso_sptEllipseTextRect ),
3123 21600, 21600,
3124 MIN_INT32, MIN_INT32,
3125 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
3126 (SvxMSDffHandle*)mso_sptSmileyHandle, SAL_N_ELEMENTS( mso_sptSmileyHandle ) // handles
3129 static const SvxMSDffVertPair mso_sptDonutVert[] = // adj value 0 - 10800
3131 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
3132 { 10800, 10800 }, { 1 MSO_I, 1 MSO_I }, { 0, 360 }
3134 static const sal_uInt16 mso_sptDonutSegm[] =
3136 0xa203, 0x6000, 0xa203, 0x8000
3138 static const SvxMSDffCalculationData mso_sptDonutCalc[] =
3140 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
3141 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }
3143 static const SvxMSDffHandle mso_sptDonutHandle[] =
3145 { MSDFF_HANDLE_FLAGS_RANGE,
3146 0x100, 10800, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
3148 static const mso_CustomShape msoDonut =
3150 (SvxMSDffVertPair*)mso_sptDonutVert, SAL_N_ELEMENTS( mso_sptDonutVert ),
3151 (sal_uInt16*)mso_sptDonutSegm, sizeof( mso_sptDonutSegm ) >> 1,
3152 (SvxMSDffCalculationData*)mso_sptDonutCalc, SAL_N_ELEMENTS( mso_sptDonutCalc ),
3153 (sal_Int32*)mso_sptDefault5400,
3154 (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, SAL_N_ELEMENTS( mso_sptEllipseTextRect ),
3155 21600, 21600,
3156 MIN_INT32, MIN_INT32,
3157 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
3158 (SvxMSDffHandle*)mso_sptDonutHandle, SAL_N_ELEMENTS( mso_sptDonutHandle ) // handles
3161 static const SvxMSDffVertPair mso_sptNoSmokingVert[] = // adj value 0 - 7200
3163 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
3164 { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 1 MSO_I },
3165 { 9 MSO_I, 0xa MSO_I }, { 0xb MSO_I, 0xc MSO_I }, { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 1 MSO_I },
3166 { 0xd MSO_I, 0xe MSO_I }, { 0xf MSO_I, 0x10 MSO_I }
3168 static const sal_uInt16 mso_sptNoSmokingSegm[] =
3170 0xa203, 0x6000, 0xa404, 0x6000, 0xa404, 0x6000, 0x8000
3172 static const SvxMSDffCalculationData mso_sptNoSmokingCalc[] =
3174 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
3175 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 1
3176 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }, // 2
3177 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } }, // 3
3178 { 0xa080, { 0x403, 0, 0x402 } }, // 4
3179 { 0x8000, { 10800, 0, 0x403 } }, // 5 x1
3180 { 0x4000, { 10800, 0x403, 0 } }, // 6 x2
3181 { 0x8000, { 10800, 0, 0x404 } }, // 7 y1
3182 { 0x4000, { 10800, 0x404, 0 } }, // 8 y2
3183 { 0x6081, { 0x405, 0x407, 45 } }, // 9
3184 { 0x6082, { 0x405, 0x407, 45 } }, // a
3185 { 0x6081, { 0x405, 0x408, 45 } }, // b
3186 { 0x6082, { 0x405, 0x408, 45 } }, // c
3187 { 0x6081, { 0x406, 0x408, 45 } }, // d
3188 { 0x6082, { 0x406, 0x408, 45 } }, // e
3189 { 0x6081, { 0x406, 0x407, 45 } }, // f
3190 { 0x6082, { 0x406, 0x407, 45 } } // 10
3192 static const SvxMSDffHandle mso_sptNoSmokingHandle[] =
3194 { MSDFF_HANDLE_FLAGS_RANGE,
3195 0x100, 10800, 10800, 10800, 0, 7200, MIN_INT32, 0x7fffffff }
3197 static const mso_CustomShape msoNoSmoking =
3199 (SvxMSDffVertPair*)mso_sptNoSmokingVert, SAL_N_ELEMENTS( mso_sptNoSmokingVert ),
3200 (sal_uInt16*)mso_sptNoSmokingSegm, sizeof( mso_sptNoSmokingSegm ) >> 1,
3201 (SvxMSDffCalculationData*)mso_sptNoSmokingCalc, SAL_N_ELEMENTS( mso_sptNoSmokingCalc ),
3202 (sal_Int32*)mso_sptDefault2700,
3203 (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, SAL_N_ELEMENTS( mso_sptEllipseTextRect ),
3204 21600, 21600,
3205 MIN_INT32, MIN_INT32,
3206 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
3207 (SvxMSDffHandle*)mso_sptNoSmokingHandle, SAL_N_ELEMENTS( mso_sptNoSmokingHandle ) // handles
3210 static const SvxMSDffVertPair mso_sptBlockArcVert[] = // adj value 0 (degrees)
3211 { // adj value 1: 0 -> 10800;
3212 { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I },
3213 { 5 MSO_I, 5 MSO_I }, { 6 MSO_I, 6 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }
3215 static const sal_uInt16 mso_sptBlockArcSegm[] =
3217 0xA404, 0xa504, 0x6001, 0x8000
3219 static const sal_Int32 mso_sptBlockArcDefault[] =
3221 2, 180, 5400
3223 static const SvxMSDffCalculationData mso_sptBlockArcCalc[] =
3225 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
3226 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
3227 { 0x2000, { 0x400, 10800, 0 } },
3228 { 0x2000, { 0x401, 10800, 0 } },
3229 { 0x8000, { 21600, 0, 0x402 } },
3230 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
3231 { 0x4000, { 10800, DFF_Prop_adjust2Value, 0 } },
3232 { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } },
3233 { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } }
3235 static const SvxMSDffHandle mso_sptBlockArcHandle[] =
3237 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
3238 0x101, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
3240 static const mso_CustomShape msoBlockArc =
3242 (SvxMSDffVertPair*)mso_sptBlockArcVert, SAL_N_ELEMENTS( mso_sptBlockArcVert ),
3243 (sal_uInt16*)mso_sptBlockArcSegm, sizeof( mso_sptBlockArcSegm ) >> 1,
3244 (SvxMSDffCalculationData*)mso_sptBlockArcCalc, SAL_N_ELEMENTS( mso_sptBlockArcCalc ),
3245 (sal_Int32*)mso_sptBlockArcDefault,
3246 NULL, 0,
3247 21600, 21600,
3248 MIN_INT32, MIN_INT32,
3249 NULL, 0,
3250 (SvxMSDffHandle*)mso_sptBlockArcHandle, SAL_N_ELEMENTS( mso_sptBlockArcHandle ) // handles
3253 // aware : control points are always part of the bounding box
3254 static const SvxMSDffVertPair mso_sptHeartVert[] =
3256 { 10800, 21599 }, { 321, 6886 }, { 70, 6036 }, // ppp
3257 { -9, 5766 }, { -1, 5474 }, { 2, 5192 }, // ccp
3258 { 6, 4918 }, { 43, 4641 }, { 101, 4370 }, // ccp
3259 { 159, 4103 }, { 245, 3837 }, { 353, 3582 }, // ccp
3260 { 460, 3326 }, { 591, 3077 }, { 741, 2839 }, // ccp
3261 { 892, 2598 }, { 1066, 2369 }, { 1253, 2155 }, // ccp
3262 { 1443, 1938 }, { 1651, 1732 }, { 1874, 1543 }, // ccp
3263 { 2097, 1351 }, { 2337, 1174 }, { 2587, 1014 }, // ccp
3264 { 2839, 854 }, { 3106, 708 }, { 3380, 584 }, // ccp
3265 { 3656, 459 }, { 3945, 350 }, { 4237, 264 }, // ccp
3266 { 4533, 176 }, { 4838, 108 }, { 5144, 66 }, // ccp
3267 { 5454, 22 }, { 5771, 1 }, { 6086, 3 }, // ccp
3268 { 6407, 7 }, { 6731, 35 }, { 7048, 89 }, // ccp
3269 { 7374, 144 }, { 7700, 226 }, { 8015, 335 }, // ccp
3270 { 8344, 447 }, { 8667, 590 }, { 8972, 756 }, // ccp
3271 { 9297, 932 }, { 9613, 1135 }, { 9907, 1363 }, // ccp
3272 { 10224, 1609 }, { 10504, 1900 }, { 10802, 2169 }, // ccp
3273 { 11697, 1363 }, // p
3274 { 11971, 1116 }, { 12304, 934 }, { 12630, 756 }, // ccp
3275 { 12935, 590 }, { 13528, 450 }, { 13589, 335 }, // ccp
3276 { 13901, 226 }, { 14227, 144 }, { 14556, 89 }, // ccp
3277 { 14872, 35 }, { 15195, 7 }, { 15517, 3 }, // ccp
3278 { 15830, 0 }, { 16147, 22 }, { 16458, 66 }, // ccp
3279 { 16764, 109 }, { 17068, 177 }, { 17365, 264 }, // ccp
3280 { 17658, 349 }, { 17946, 458 }, { 18222, 584 }, // ccp
3281 { 18496, 708 }, { 18762, 854 }, { 19015, 1014 }, // ccp
3282 { 19264, 1172 }, { 19504, 1349 }, { 19730, 1543 }, // ccp
3283 { 19950, 1731 }, { 20158, 1937 }, { 20350, 2155 }, // ccp
3284 { 20536, 2369 }, { 20710, 2598 }, { 20861, 2839 }, // ccp
3285 { 21010, 3074 }, { 21143, 3323 }, { 21251, 3582 }, // ccp
3286 { 21357, 3835 }, { 21443, 4099 }, { 21502, 4370 }, // ccp
3287 { 21561, 4639 }, { 21595, 4916 }, { 21600, 5192 }, // ccp
3288 { 21606, 5474 }, { 21584, 5760 }, { 21532, 6036 }, // ccp
3289 { 21478, 6326 }, { 21366, 6603 }, { 21282, 6887 }, // ccp
3290 { 10802, 21602 } // p
3292 static const sal_uInt16 mso_sptHeartSegm[] =
3294 0x4000, 0x0002, 0x2010, 0x0001, 0x2010, 0x0001, 0x6001, 0x8000
3296 static const SvxMSDffTextRectangles mso_sptHeartTextRect[] =
3298 { { 5080, 2540 }, { 16520, 13550 } }
3300 static const SvxMSDffVertPair mso_sptHeartGluePoints[] =
3302 { 10800, 2180 }, { 3090, 10800 }, { 10800, 21600 }, { 18490, 10800 }
3304 static const mso_CustomShape msoHeart =
3306 (SvxMSDffVertPair*)mso_sptHeartVert, SAL_N_ELEMENTS( mso_sptHeartVert ),
3307 (sal_uInt16*)mso_sptHeartSegm, sizeof( mso_sptHeartSegm ) >> 1,
3308 NULL, 0,
3309 NULL,
3310 (SvxMSDffTextRectangles*)mso_sptHeartTextRect, SAL_N_ELEMENTS( mso_sptHeartTextRect ),
3311 21615, 21602,
3312 MIN_INT32, MIN_INT32,
3313 (SvxMSDffVertPair*)mso_sptHeartGluePoints, SAL_N_ELEMENTS( mso_sptHeartGluePoints ),
3314 NULL, 0 // handles
3317 static const SvxMSDffVertPair mso_sptLightningBoldVert[] =
3319 { 8458, 0 }, { 0, 3923 }, { 7564, 8416 }, { 4993, 9720 },
3320 { 12197, 13904 }, { 9987, 14934 }, { 21600, 21600 }, { 14768, 12911 },
3321 { 16558, 12016 }, { 11030, 6840 }, { 12831, 6120 }, { 8458, 0 }
3323 static const SvxMSDffTextRectangles mso_sptLightningBoldTextRect[] =
3325 { { 8680, 7410 }, { 13970, 14190 } }
3327 static const SvxMSDffVertPair mso_sptLightningBoldGluePoints[] =
3329 { 8458, 0 }, { 0, 3923 }, { 4993, 9720 }, { 9987, 14934 }, { 21600, 21600 },
3330 { 16558, 12016 }, { 12831, 6120 }
3332 static const mso_CustomShape msoLightningBold =
3334 (SvxMSDffVertPair*)mso_sptLightningBoldVert, SAL_N_ELEMENTS( mso_sptLightningBoldVert ),
3335 NULL, 0,
3336 NULL, 0,
3337 NULL,
3338 (SvxMSDffTextRectangles*)mso_sptLightningBoldTextRect, SAL_N_ELEMENTS( mso_sptLightningBoldTextRect ),
3339 21600, 21600,
3340 MIN_INT32, MIN_INT32,
3341 (SvxMSDffVertPair*)mso_sptLightningBoldGluePoints, SAL_N_ELEMENTS( mso_sptLightningBoldGluePoints ),
3342 NULL, 0 // handles
3345 static const SvxMSDffVertPair mso_sptSunVert[] = // adj value 2700 -> 10125
3347 { 0, 10800 }, { 4 MSO_I, 8 MSO_I }, { 4 MSO_I, 9 MSO_I },
3348 { 0x0a MSO_I, 0x0b MSO_I }, { 0x0c MSO_I, 0x0d MSO_I }, { 0x0e MSO_I, 0x0f MSO_I },
3349 { 0x10 MSO_I, 0x11 MSO_I }, { 0x12 MSO_I, 0x13 MSO_I }, { 0x14 MSO_I, 0x15 MSO_I },
3350 { 0x16 MSO_I, 0x17 MSO_I }, { 0x18 MSO_I, 0x19 MSO_I }, { 0x1a MSO_I, 0x1b MSO_I },
3351 { 0x1c MSO_I, 0x1d MSO_I }, { 0x1e MSO_I, 0x1f MSO_I }, { 0x20 MSO_I, 0x21 MSO_I },
3352 { 0x22 MSO_I, 0x23 MSO_I }, { 0x24 MSO_I, 0x25 MSO_I }, { 0x26 MSO_I, 0x27 MSO_I },
3353 { 0x28 MSO_I, 0x29 MSO_I }, { 0x2a MSO_I, 0x2b MSO_I }, { 0x2c MSO_I, 0x2d MSO_I },
3354 { 0x2e MSO_I, 0x2f MSO_I }, { 0x30 MSO_I, 0x31 MSO_I }, { 0x32 MSO_I, 0x33 MSO_I },
3355 { 10800, 10800 }, { 0x36 MSO_I, 0x36 MSO_I }, { 0, 360 }
3357 static const sal_uInt16 mso_sptSunSegm[] =
3359 0x4000, 0x0002, 0x6001, 0x8000,
3360 0x4000, 0x0002, 0x6001, 0x8000,
3361 0x4000, 0x0002, 0x6001, 0x8000,
3362 0x4000, 0x0002, 0x6001, 0x8000,
3363 0x4000, 0x0002, 0x6001, 0x8000,
3364 0x4000, 0x0002, 0x6001, 0x8000,
3365 0x4000, 0x0002, 0x6001, 0x8000,
3366 0x4000, 0x0002, 0x6001, 0x8000,
3367 0xa203, 0x6000, 0x8000
3369 static const SvxMSDffCalculationData mso_sptSunCalc[] =
3371 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
3372 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
3373 { 0x2000, { DFF_Prop_adjustValue, 0, 2700 } },
3374 { 0x2001, { 0x402, 5080, 7425 } },
3375 { 0x2000, { 0x403, 2540, 0 } },
3376 { 0x8000, { 10125, 0, DFF_Prop_adjustValue } },
3377 { 0x2001, { 0x405, 2120, 7425 } },
3378 { 0x2000, { 0x406, 210, 0 } },
3379 { 0x4000, { 10800, 0x407, 0 } }, // y1 (0x8)
3380 { 0x8000, { 10800, 0, 0x407 } }, // y2 (0x9)
3381 { 0x0081, { 0, 10800, 45 } }, // 0xa
3382 { 0x0082, { 0, 10800, 45 } }, // 0xb
3383 { 0x6081, { 0x404, 0x408, 45 } }, // 0xc
3384 { 0x6082, { 0x404, 0x408, 45 } }, // 0xd
3385 { 0x6081, { 0x404, 0x409, 45 } }, // 0xe
3386 { 0x6082, { 0x404, 0x409, 45 } }, // 0xf
3387 { 0x0081, { 0, 10800, 90 } }, // 0x10
3388 { 0x0082, { 0, 10800, 90 } }, // 0x11
3389 { 0x6081, { 0x404, 0x408, 90 } }, // 0x12
3390 { 0x6082, { 0x404, 0x408, 90 } }, // 0x13
3391 { 0x6081, { 0x404, 0x409, 90 } }, // 0x14
3392 { 0x6082, { 0x404, 0x409, 90 } }, // 0x15
3393 { 0x0081, { 0, 10800, 135 } }, // 0x16
3394 { 0x0082, { 0, 10800, 135 } }, // 0x17
3395 { 0x6081, { 0x404, 0x408, 135 } }, // 0x18
3396 { 0x6082, { 0x404, 0x408, 135 } }, // 0x19
3397 { 0x6081, { 0x404, 0x409, 135 } }, // 0x1a
3398 { 0x6082, { 0x404, 0x409, 135 } }, // 0x1b
3399 { 0x0081, { 0, 10800, 180 } }, // 0x1c
3400 { 0x0082, { 0, 10800, 180 } }, // 0x1d
3401 { 0x6081, { 0x404, 0x408, 180 } }, // 0x1e
3402 { 0x6082, { 0x404, 0x408, 180 } }, // 0x1f
3403 { 0x6081, { 0x404, 0x409, 180 } }, // 0x20
3404 { 0x6082, { 0x404, 0x409, 180 } }, // 0x21
3405 { 0x0081, { 0, 10800, 225 } }, // 0x22
3406 { 0x0082, { 0, 10800, 225 } }, // 0x23
3407 { 0x6081, { 0x404, 0x408, 225 } }, // 0x24
3408 { 0x6082, { 0x404, 0x408, 225 } }, // 0x25
3409 { 0x6081, { 0x404, 0x409, 225 } }, // 0x26
3410 { 0x6082, { 0x404, 0x409, 225 } }, // 0x27
3411 { 0x0081, { 0, 10800, 270 } }, // 0x28
3412 { 0x0082, { 0, 10800, 270 } }, // 0x29
3413 { 0x6081, { 0x404, 0x408, 270 } }, // 0x2a
3414 { 0x6082, { 0x404, 0x408, 270 } }, // 0x2b
3415 { 0x6081, { 0x404, 0x409, 270 } }, // 0x2c
3416 { 0x6082, { 0x404, 0x409, 270 } }, // 0x2d
3417 { 0x0081, { 0, 10800, 315 } }, // 0x2e
3418 { 0x0082, { 0, 10800, 315 } }, // 0x2f
3419 { 0x6081, { 0x404, 0x408, 315 } }, // 0x30
3420 { 0x6082, { 0x404, 0x408, 315 } }, // 0x31
3421 { 0x6081, { 0x404, 0x409, 315 } }, // 0x32
3422 { 0x6082, { 0x404, 0x409, 315 } }, // 0x33
3423 { 0x2081, { DFF_Prop_adjustValue, 10800, 45 } }, // 0x34 ( textbox )
3424 { 0x2081, { DFF_Prop_adjustValue, 10800, 225 } }, // 0x35
3425 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }
3427 static const SvxMSDffTextRectangles mso_sptSunTextRect[] =
3429 { { 0x34 MSO_I, 0x34 MSO_I }, { 0x35 MSO_I, 0x35 MSO_I } }
3431 static const SvxMSDffHandle mso_sptSunHandle[] =
3433 { MSDFF_HANDLE_FLAGS_RANGE,
3434 0x100, 10800, 10800, 10800, 2700, 10125, MIN_INT32, 0x7fffffff }
3436 static const mso_CustomShape msoSun =
3438 (SvxMSDffVertPair*)mso_sptSunVert, SAL_N_ELEMENTS( mso_sptSunVert ),
3439 (sal_uInt16*)mso_sptSunSegm, sizeof( mso_sptSunSegm ) >> 1,
3440 (SvxMSDffCalculationData*)mso_sptSunCalc, SAL_N_ELEMENTS( mso_sptSunCalc ),
3441 (sal_Int32*)mso_sptDefault5400,
3442 (SvxMSDffTextRectangles*)mso_sptSunTextRect, SAL_N_ELEMENTS( mso_sptSunTextRect ),
3443 21600, 21600,
3444 MIN_INT32, MIN_INT32,
3445 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
3446 (SvxMSDffHandle*)mso_sptSunHandle, SAL_N_ELEMENTS( mso_sptSunHandle ) // handles
3449 static const SvxMSDffVertPair mso_sptMoonVert[] = // adj value 0 -> 18900
3451 { 21600, 0 },
3452 { 3 MSO_I, 4 MSO_I }, { 0 MSO_I, 5080 }, { 0 MSO_I, 10800 }, // ccp
3453 { 0 MSO_I, 16520 }, { 3 MSO_I, 5 MSO_I }, { 21600, 21600 }, // ccp
3454 { 9740, 21600 }, { 0, 16730 }, { 0, 10800 }, // ccp
3455 { 0, 4870 }, { 9740, 0 }, { 21600, 0 } // ccp
3457 static const sal_uInt16 mso_sptMoonSegm[] =
3459 0x4000, 0x2004, 0x6000, 0x8000
3461 static const SvxMSDffCalculationData mso_sptMoonCalc[] =
3463 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
3464 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
3465 { 0x2001, { 0x401, 1, 2 } },
3466 { 0x6000, { 0x402, DFF_Prop_adjustValue, 0 } },
3467 { 0x2001, { DFF_Prop_adjustValue, 1794, 10000 } },
3468 { 0x8000, { 21600, 0, 0x0404 } },
3469 { 0x2001, { DFF_Prop_adjustValue, 400, 18900 } },
3470 { 0x8081, { 0, 10800, 0x406 } },
3471 { 0x8082, { 0, 10800, 0x406 } },
3472 { 0x6000, { 0x407, 0x407, 0 } },
3473 { 0x8000, { 21600, 0, 0x408 } }
3475 static const SvxMSDffTextRectangles mso_sptMoonTextRect[] =
3477 { { 9 MSO_I, 8 MSO_I }, { 0 MSO_I, 0xa MSO_I } }
3479 static const SvxMSDffVertPair mso_sptMoonGluePoints[] =
3481 { 21600, 0 }, { 0, 10800 }, { 21600, 21600 }, { 0 MSO_I, 10800 }
3483 static const SvxMSDffHandle mso_sptMoonHandle[] =
3485 { MSDFF_HANDLE_FLAGS_RANGE,
3486 0x100, 10800, 10800, 10800, 0, 18900, MIN_INT32, 0x7fffffff }
3488 static const mso_CustomShape msoMoon =
3490 (SvxMSDffVertPair*)mso_sptMoonVert, SAL_N_ELEMENTS( mso_sptMoonVert ),
3491 (sal_uInt16*)mso_sptMoonSegm, sizeof( mso_sptMoonSegm ) >> 1,
3492 (SvxMSDffCalculationData*)mso_sptMoonCalc, SAL_N_ELEMENTS( mso_sptMoonCalc ),
3493 (sal_Int32*)mso_sptDefault10800,
3494 (SvxMSDffTextRectangles*)mso_sptMoonTextRect, SAL_N_ELEMENTS( mso_sptMoonTextRect ),
3495 21600, 21600,
3496 MIN_INT32, MIN_INT32,
3497 (SvxMSDffVertPair*)mso_sptMoonGluePoints, SAL_N_ELEMENTS( mso_sptMoonGluePoints ),
3498 (SvxMSDffHandle*)mso_sptMoonHandle, SAL_N_ELEMENTS( mso_sptMoonHandle ) // handles
3501 static const SvxMSDffVertPair mso_sptBracketPairVert[] = // adj value 0 -> 10800
3503 { 0 MSO_I, 0 }, { 0, 1 MSO_I }, // left top alignment
3504 { 0, 2 MSO_I }, { 0 MSO_I, 21600 }, // left bottom "
3505 { 3 MSO_I, 21600 }, { 21600, 2 MSO_I }, // right bottom "
3506 { 21600, 1 MSO_I }, { 3 MSO_I, 0 }, // right top "
3507 { 0 MSO_I, 0 }, { 0, 1 MSO_I }, // filling area
3508 { 0, 2 MSO_I }, { 0 MSO_I, 21600 },
3509 { 3 MSO_I, 21600 }, { 21600, 2 MSO_I },
3510 { 21600, 1 MSO_I }, { 3 MSO_I, 0 }
3512 static const sal_uInt16 mso_sptBracketPairSegm[] =
3514 0x4000, 0xa701, 0x0001, 0xa801, 0xaa00, 0x8000,
3515 0x4000, 0xa701, 0x0001, 0xa801, 0xaa00, 0x8000,
3516 0x4000, 0xa701, 0x0001, 0xa801, 0x0001, // filling area
3517 0xa701, 0x0001, 0xa801, 0x6000, 0xab00, 0x8000
3519 static const SvxMSDffCalculationData mso_sptBracketPairCalc[] =
3521 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
3522 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
3523 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
3524 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
3525 { 0x2082, { DFF_Prop_adjustValue, 0, 45 } },
3526 { 0x2000, { 0x404, 0, 10800 } },
3527 { 0x8000, { 0, 0, DFF_Prop_adjustValue } },
3528 { 0xa000, { 0x406, 0, 0x405 } },
3529 { 0xa000, { DFF_Prop_geoLeft, 0, 0x407 } },
3530 { 0xa000, { DFF_Prop_geoTop, 0, 0x407 } },
3531 { 0x6000, { DFF_Prop_geoRight, 0x407, 0 } },
3532 { 0x6000, { DFF_Prop_geoBottom, 0x407, 0 } },
3533 { 0xa000, { DFF_Prop_geoLeft, 0, 0x405 } },
3534 { 0xa000, { DFF_Prop_geoTop, 0, 0x405 } },
3535 { 0x6000, { DFF_Prop_geoRight, 0x405, 0 } },
3536 { 0x6000, { DFF_Prop_geoBottom, 0x405, 0 } }
3538 static const SvxMSDffTextRectangles mso_sptBracketPairTextRect[] =
3540 { { 8 MSO_I, 9 MSO_I }, { 0xa MSO_I, 0xb MSO_I } }
3542 static const SvxMSDffHandle mso_sptBracketPairHandle[] =
3544 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
3545 0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
3547 static const mso_CustomShape msoBracketPair =
3549 (SvxMSDffVertPair*)mso_sptBracketPairVert, SAL_N_ELEMENTS( mso_sptBracketPairVert ),
3550 (sal_uInt16*)mso_sptBracketPairSegm, sizeof( mso_sptBracketPairSegm ) >> 1,
3551 (SvxMSDffCalculationData*)mso_sptBracketPairCalc, SAL_N_ELEMENTS( mso_sptBracketPairCalc ),
3552 (sal_Int32*)mso_sptDefault3700,
3553 (SvxMSDffTextRectangles*)mso_sptBracketPairTextRect, SAL_N_ELEMENTS( mso_sptBracketPairTextRect ),
3554 21600, 21600,
3555 10800, MIN_INT32,
3556 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
3557 (SvxMSDffHandle*)mso_sptBracketPairHandle, SAL_N_ELEMENTS( mso_sptBracketPairHandle ) // handles
3560 static const sal_uInt16 mso_sptPlaqueSegm[] =
3562 0x4000, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x6000, 0x8000
3564 static const SvxMSDffTextRectangles mso_sptPlaqueTextRect[] =
3566 { { 0xc MSO_I, 0xd MSO_I }, { 0xe MSO_I, 0xf MSO_I } }
3568 static const SvxMSDffHandle mso_sptPlaqueHandle[] =
3570 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
3571 0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
3573 static const mso_CustomShape msoPlaque =
3575 (SvxMSDffVertPair*)mso_sptBracketPairVert, SAL_N_ELEMENTS( mso_sptBracketPairVert ),
3576 (sal_uInt16*)mso_sptPlaqueSegm, sizeof( mso_sptPlaqueSegm ) >> 1,
3577 (SvxMSDffCalculationData*)mso_sptBracketPairCalc, SAL_N_ELEMENTS( mso_sptBracketPairCalc ),
3578 (sal_Int32*)mso_sptDefault3600,
3579 (SvxMSDffTextRectangles*)mso_sptPlaqueTextRect, SAL_N_ELEMENTS( mso_sptPlaqueTextRect ),
3580 21600, 21600,
3581 10800, 10800,
3582 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
3583 (SvxMSDffHandle*)mso_sptPlaqueHandle, SAL_N_ELEMENTS( mso_sptPlaqueHandle ) // handles
3586 static const SvxMSDffVertPair mso_sptBracePairVert[] = // adj value 0 -> 5400
3588 { 4 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 6 MSO_I }, { 0 ,10800 }, // left bracket
3589 { 0 MSO_I, 7 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 4 MSO_I, 21600 },
3590 { 8 MSO_I, 21600 }, { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 7 MSO_I }, { 21600, 10800 }, // right bracket
3591 { 3 MSO_I, 6 MSO_I }, { 3 MSO_I, 1 MSO_I }, { 8 MSO_I, 0 },
3592 { 4 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 6 MSO_I }, { 0 ,10800 }, // filling area
3593 { 0 MSO_I, 7 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 4 MSO_I, 21600 },
3594 { 8 MSO_I, 21600 }, { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 7 MSO_I }, { 21600, 10800 },
3595 { 3 MSO_I, 6 MSO_I }, { 3 MSO_I, 1 MSO_I }, { 8 MSO_I, 0 }
3597 static const sal_uInt16 mso_sptBracePairSegm[] =
3599 0x4000, 0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0xaa00, 0x8000,
3600 0x4000, 0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0xaa00, 0x8000,
3601 0x4000, 0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0x0001, // filling area
3602 0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0x6000, 0xab00, 0x8000
3604 static const SvxMSDffCalculationData mso_sptBracePairCalc[] =
3606 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
3607 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
3608 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
3609 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
3610 { 0x2001, { 0x400, 2, 1 } }, // 4
3611 { 0x2001, { DFF_Prop_adjustValue, 2, 1 } }, // 5
3612 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }, // 6
3613 { 0x8000, { 21600, 0, 0x406 } }, // 7
3614 { 0xa000, { DFF_Prop_geoRight, 0, 0x405 } }, // 8
3615 { 0x2001, { DFF_Prop_adjustValue, 1, 3 } }, // 9
3616 { 0x6000, { 0x409, DFF_Prop_adjustValue, 0 } }, // xa
3617 { 0x6000, { DFF_Prop_geoLeft, 0x40a, 0 } }, // xb
3618 { 0x6000, { DFF_Prop_geoTop, 0x409, 0 } }, // xc
3619 { 0xa000, { DFF_Prop_geoRight, 0, 0x40a } }, // xd
3620 { 0xa000, { DFF_Prop_geoBottom, 0, 0x409 } } // xe
3622 static const SvxMSDffTextRectangles mso_sptBracePairTextRect[] =
3624 { { 0xb MSO_I, 0xc MSO_I }, { 0xd MSO_I, 0xe MSO_I } }
3626 static const SvxMSDffHandle mso_sptBracePairHandle[] =
3628 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
3629 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 5400 }
3631 static const mso_CustomShape msoBracePair =
3633 (SvxMSDffVertPair*)mso_sptBracePairVert, SAL_N_ELEMENTS( mso_sptBracePairVert ),
3634 (sal_uInt16*)mso_sptBracePairSegm, sizeof( mso_sptBracePairSegm ) >> 1,
3635 (SvxMSDffCalculationData*)mso_sptBracePairCalc, SAL_N_ELEMENTS( mso_sptBracePairCalc ),
3636 (sal_Int32*)mso_sptDefault1800,
3637 (SvxMSDffTextRectangles*)mso_sptBracePairTextRect, SAL_N_ELEMENTS( mso_sptBracePairTextRect ),
3638 21600, 21600,
3639 10800, MIN_INT32,
3640 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
3641 (SvxMSDffHandle*)mso_sptBracePairHandle, SAL_N_ELEMENTS( mso_sptBracePairHandle ) // handles
3644 static const SvxMSDffCalculationData mso_sptBracketCalc[] =
3646 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
3647 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
3648 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
3649 { 0x6000, { DFF_Prop_geoTop, 0x400, 0 } },
3650 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
3652 static const sal_uInt16 mso_sptBracketSegm[] =
3654 0x4000, 0x2001, 0x0001, 0x2001, 0x8000
3656 static const SvxMSDffVertPair mso_sptLeftBracketVert[] = // adj value 0 -> 10800
3658 { 21600, 0 }, { 10800, 0 }, { 0, 3 MSO_I }, { 0, 1 MSO_I },
3659 { 0, 2 MSO_I }, { 0, 4 MSO_I }, { 10800, 21600 }, { 21600, 21600 }
3661 static const SvxMSDffTextRectangles mso_sptLeftBracketTextRect[] =
3663 { { 6350, 3 MSO_I }, { 21600, 4 MSO_I } }
3665 static const SvxMSDffVertPair mso_sptLeftBracketGluePoints[] =
3667 { 21600, 0 }, { 0, 10800 }, { 21600, 21600 }
3669 static const SvxMSDffHandle mso_sptLeftBracketHandle[] =
3671 { MSDFF_HANDLE_FLAGS_RANGE,
3672 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
3674 static const mso_CustomShape msoLeftBracket =
3676 (SvxMSDffVertPair*)mso_sptLeftBracketVert, SAL_N_ELEMENTS( mso_sptLeftBracketVert ),
3677 (sal_uInt16*)mso_sptBracketSegm, sizeof( mso_sptBracketSegm ) >> 1,
3678 (SvxMSDffCalculationData*)mso_sptBracketCalc, SAL_N_ELEMENTS( mso_sptBracketCalc ),
3679 (sal_Int32*)mso_sptDefault1800,
3680 (SvxMSDffTextRectangles*)mso_sptLeftBracketTextRect, SAL_N_ELEMENTS( mso_sptLeftBracketTextRect ),
3681 21600, 21600,
3682 MIN_INT32, MIN_INT32,
3683 (SvxMSDffVertPair*)mso_sptLeftBracketGluePoints, SAL_N_ELEMENTS( mso_sptLeftBracketGluePoints ),
3684 (SvxMSDffHandle*)mso_sptLeftBracketHandle, SAL_N_ELEMENTS( mso_sptLeftBracketHandle ) // handles
3686 static const SvxMSDffVertPair mso_sptRightBracketVert[] = // adj value 0 -> 10800
3688 { 0, 0 }, { 10800, 0 }, { 21600, 3 MSO_I }, { 21600, 1 MSO_I },
3689 { 21600, 2 MSO_I }, { 21600, 4 MSO_I }, { 10800, 21600 }, { 0, 21600 }
3691 static const SvxMSDffTextRectangles mso_sptRightBracketTextRect[] =
3693 { { 0, 3 MSO_I }, { 15150, 4 MSO_I } }
3695 static const SvxMSDffVertPair mso_sptRightBracketGluePoints[] =
3697 { 0, 0 }, { 0, 21600 }, { 21600, 10800 }
3699 static const SvxMSDffHandle mso_sptRightBracketHandle[] =
3701 { MSDFF_HANDLE_FLAGS_RANGE,
3702 1, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
3704 static const mso_CustomShape msoRightBracket =
3706 (SvxMSDffVertPair*)mso_sptRightBracketVert, SAL_N_ELEMENTS( mso_sptRightBracketVert ),
3707 (sal_uInt16*)mso_sptBracketSegm, sizeof( mso_sptBracketSegm ) >> 1,
3708 (SvxMSDffCalculationData*)mso_sptBracketCalc, SAL_N_ELEMENTS( mso_sptBracketCalc ),
3709 (sal_Int32*)mso_sptDefault1800,
3710 (SvxMSDffTextRectangles*)mso_sptRightBracketTextRect, SAL_N_ELEMENTS( mso_sptRightBracketTextRect ),
3711 21600, 21600,
3712 MIN_INT32, MIN_INT32,
3713 (SvxMSDffVertPair*)mso_sptRightBracketGluePoints, SAL_N_ELEMENTS( mso_sptRightBracketGluePoints ),
3714 (SvxMSDffHandle*)mso_sptRightBracketHandle, SAL_N_ELEMENTS( mso_sptRightBracketHandle ) // handles
3717 static const SvxMSDffCalculationData mso_sptBraceCalc[] =
3719 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
3720 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
3721 { 0xa000, { 0x404, 0, DFF_Prop_adjustValue } },
3722 { 0xa000, { 0x404, 0, 0x400 } },
3723 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
3724 { 0x6000, { 0x404, 0x400, 0 } },
3725 { 0x6000, { 0x404, DFF_Prop_adjustValue, 0 } },
3726 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
3727 { 0x8000, { 21600, 0, 0x400 } },
3728 { 0x2001, { DFF_Prop_adjustValue, 10000, 31953 } },
3729 { 0x8000, { 21600, 0, 0x409 } }
3731 static const sal_uInt16 mso_sptBraceSegm[] =
3733 0x4000, 0x2001, 0x0001, 0x2002, 0x0001, 0x2001, 0x8000
3735 static const sal_Int32 mso_sptBraceDefault[] =
3737 2, 1800, 10800
3739 static const SvxMSDffVertPair mso_sptLeftBraceVert[] =
3741 { 21600, 0 }, // p
3742 { 16200, 0 }, { 10800, 0 MSO_I }, { 10800, 1 MSO_I }, // ccp
3743 { 10800, 2 MSO_I }, // p
3744 { 10800, 3 MSO_I }, { 5400, 4 MSO_I }, { 0, 4 MSO_I }, // ccp
3745 { 5400, 4 MSO_I }, { 10800, 5 MSO_I }, { 10800, 6 MSO_I }, // ccp
3746 { 10800, 7 MSO_I }, // p
3747 { 10800, 8 MSO_I }, { 16200, 21600 }, { 21600, 21600 } // ccp
3749 static const SvxMSDffTextRectangles mso_sptLeftBraceTextRect[] =
3751 { { 13800, 9 MSO_I }, { 21600, 10 MSO_I } }
3753 static const SvxMSDffHandle mso_sptLeftBraceHandle[] =
3755 { MSDFF_HANDLE_FLAGS_RANGE,
3756 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 5400 },
3757 { MSDFF_HANDLE_FLAGS_RANGE,
3758 0, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 21600 }
3760 static const mso_CustomShape msoLeftBrace = // adj value0 0 -> 5400
3761 { // adj value1 0 -> 21600
3762 (SvxMSDffVertPair*)mso_sptLeftBraceVert, SAL_N_ELEMENTS( mso_sptLeftBraceVert ),
3763 (sal_uInt16*)mso_sptBraceSegm, sizeof( mso_sptBraceSegm ) >> 1,
3764 (SvxMSDffCalculationData*)mso_sptBraceCalc, SAL_N_ELEMENTS( mso_sptBraceCalc ),
3765 (sal_Int32*)mso_sptBraceDefault,
3766 (SvxMSDffTextRectangles*)mso_sptLeftBraceTextRect, SAL_N_ELEMENTS( mso_sptLeftBraceTextRect ),
3767 21600, 21600,
3768 MIN_INT32, MIN_INT32,
3769 (SvxMSDffVertPair*)mso_sptLeftBracketGluePoints, SAL_N_ELEMENTS( mso_sptLeftBracketGluePoints ),
3770 (SvxMSDffHandle*)mso_sptLeftBraceHandle, SAL_N_ELEMENTS( mso_sptLeftBraceHandle ) // handles
3772 static const SvxMSDffVertPair mso_sptRightBraceVert[] =
3774 { 0, 0 }, // p
3775 { 5400, 0 }, { 10800, 0 MSO_I }, { 10800, 1 MSO_I }, // ccp
3776 { 10800, 2 MSO_I }, // p
3777 { 10800, 3 MSO_I }, { 16200, 4 MSO_I }, { 21600, 4 MSO_I }, // ccp
3778 { 16200, 4 MSO_I }, { 10800, 5 MSO_I }, { 10800, 6 MSO_I }, // ccp
3779 { 10800, 7 MSO_I }, // p
3780 { 10800, 8 MSO_I }, { 5400, 21600 }, { 0, 21600 } // ccp
3782 static const SvxMSDffTextRectangles mso_sptRightBraceTextRect[] =
3784 { { 0, 9 MSO_I }, { 7800, 10 MSO_I } }
3786 static const SvxMSDffHandle mso_sptRightBraceHandle[] =
3788 { MSDFF_HANDLE_FLAGS_RANGE,
3789 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 5400 },
3790 { MSDFF_HANDLE_FLAGS_RANGE,
3791 1, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 21600 }
3793 static const mso_CustomShape msoRightBrace = // adj value0 0 -> 5400
3794 { // adj value1 0 -> 21600
3795 (SvxMSDffVertPair*)mso_sptRightBraceVert, SAL_N_ELEMENTS( mso_sptRightBraceVert ),
3796 (sal_uInt16*)mso_sptBraceSegm, sizeof( mso_sptBraceSegm ) >> 1,
3797 (SvxMSDffCalculationData*)mso_sptBraceCalc, SAL_N_ELEMENTS( mso_sptBraceCalc ),
3798 (sal_Int32*)mso_sptBraceDefault,
3799 (SvxMSDffTextRectangles*)mso_sptRightBraceTextRect, SAL_N_ELEMENTS( mso_sptRightBraceTextRect ),
3800 21600, 21600,
3801 MIN_INT32, MIN_INT32,
3802 (SvxMSDffVertPair*)mso_sptRightBracketGluePoints, SAL_N_ELEMENTS( mso_sptRightBracketGluePoints ),
3803 (SvxMSDffHandle*)mso_sptRightBraceHandle, SAL_N_ELEMENTS( mso_sptRightBraceHandle ) // handles
3806 static const SvxMSDffVertPair mso_sptIrregularSeal1Vert[] =
3808 { 10901, 5905 }, { 8458, 2399 }, { 7417, 6425 }, { 476, 2399 },
3809 { 4732, 7722 }, { 106, 8718 }, { 3828, 11880 }, { 243, 14689 },
3810 { 5772, 14041 }, { 4868, 17719 }, { 7819, 15730 }, { 8590, 21600 },
3811 { 10637, 15038 }, { 13349, 19840 }, { 14125, 14561 }, { 18248, 18195 },
3812 { 16938, 13044 }, { 21600, 13393 }, { 17710, 10579 }, { 21198, 8242 },
3813 { 16806, 7417 }, { 18482, 4560 }, { 14257, 5429 }, { 14623, 106 }, { 10901, 5905 }
3815 static const SvxMSDffTextRectangles mso_sptIrregularSeal1TextRect[] =
3817 { { 4680, 6570 }, { 16140, 13280 } }
3819 static const SvxMSDffVertPair mso_sptIrregularSeal1GluePoints[] =
3821 { 14623, 106 }, { 106, 8718 }, { 8590, 21600 }, { 21600, 13393 }
3823 static const mso_CustomShape msoIrregularSeal1 =
3825 (SvxMSDffVertPair*)mso_sptIrregularSeal1Vert, SAL_N_ELEMENTS( mso_sptIrregularSeal1Vert ),
3826 NULL, 0,
3827 NULL, 0,
3828 NULL,
3829 (SvxMSDffTextRectangles*)mso_sptIrregularSeal1TextRect, SAL_N_ELEMENTS( mso_sptIrregularSeal1TextRect ),
3830 21600, 21600,
3831 MIN_INT32, MIN_INT32,
3832 (SvxMSDffVertPair*)mso_sptIrregularSeal1GluePoints, SAL_N_ELEMENTS( mso_sptIrregularSeal1GluePoints ),
3833 NULL, 0 // handles
3836 static const SvxMSDffVertPair mso_sptIrregularSeal2Vert[] =
3838 { 11464, 4340 }, { 9722, 1887 }, { 8548, 6383 }, { 4503, 3626 },
3839 { 5373, 7816 }, { 1174, 8270 }, { 3934, 11592 }, { 0, 12875 },
3840 { 3329, 15372 }, { 1283, 17824 }, { 4804, 18239 }, { 4918, 21600 },
3841 { 7525, 18125 }, { 8698, 19712 }, { 9871, 17371 }, { 11614, 18844 },
3842 { 12178, 15937 }, { 14943, 17371 }, { 14640, 14348 }, { 18878, 15632 },
3843 { 16382, 12311 }, { 18270, 11292 }, { 16986, 9404 }, { 21600, 6646 },
3844 { 16382, 6533 }, { 18005, 3172 }, { 14524, 5778 }, { 14789, 0 },
3845 { 11464, 4340 }
3847 static const SvxMSDffTextRectangles mso_sptIrregularSeal2TextRect[] =
3849 { { 5400, 6570 }, { 14160, 15290 } }
3851 static const SvxMSDffVertPair mso_sptIrregularSeal2GluePoints[] =
3853 { 9722, 1887 }, { 0, 12875 }, { 11614, 18844 }, { 21600, 6646 }
3855 static const mso_CustomShape msoIrregularSeal2 =
3857 (SvxMSDffVertPair*)mso_sptIrregularSeal2Vert, SAL_N_ELEMENTS( mso_sptIrregularSeal2Vert ),
3858 NULL, 0,
3859 NULL, 0,
3860 NULL,
3861 (SvxMSDffTextRectangles*)mso_sptIrregularSeal2TextRect, SAL_N_ELEMENTS( mso_sptIrregularSeal2TextRect ),
3862 21600, 21600,
3863 MIN_INT32, MIN_INT32,
3864 (SvxMSDffVertPair*)mso_sptIrregularSeal2GluePoints, SAL_N_ELEMENTS( mso_sptIrregularSeal2GluePoints ),
3865 NULL, 0 // handles
3868 static const SvxMSDffVertPair mso_sptSeal4Vert[] = // adjustment1 : 0 - 10800
3870 { 0, 10800 }, { 4 MSO_I, 4 MSO_I }, { 10800, 0 }, { 3 MSO_I, 4 MSO_I },
3871 { 21600, 10800 }, { 3 MSO_I, 3 MSO_I }, { 10800, 21600 }, { 4 MSO_I, 3 MSO_I },
3872 { 0, 10800 }
3874 static const SvxMSDffCalculationData mso_sptSeal4Calc[] =
3876 { 0x0000, { 7600, 0, 0 } },
3877 { 0x6001, { 0x400, DFF_Prop_adjustValue, 10800 } },
3878 { 0xa000, { 0x400, 0, 0x401 } },
3879 { 0x4000, { 10800, 0x402, 0 } },
3880 { 0x8000, { 10800, 0, 0x402 } }
3882 static const SvxMSDffTextRectangles mso_sptSeal4TextRect[] =
3884 { { 4 MSO_I, 4 MSO_I }, { 3 MSO_I, 3 MSO_I } }
3886 static const SvxMSDffHandle mso_sptSealHandle[] =
3888 { MSDFF_HANDLE_FLAGS_RANGE,
3889 0x100, 10800, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
3891 static const mso_CustomShape msoSeal4 =
3893 (SvxMSDffVertPair*)mso_sptSeal4Vert, SAL_N_ELEMENTS( mso_sptSeal4Vert ),
3894 NULL, 0,
3895 (SvxMSDffCalculationData*)mso_sptSeal4Calc, SAL_N_ELEMENTS( mso_sptSeal4Calc ),
3896 (sal_Int32*)mso_sptDefault8100,
3897 (SvxMSDffTextRectangles*)mso_sptSeal4TextRect, SAL_N_ELEMENTS( mso_sptSeal4TextRect ),
3898 21600, 21600,
3899 MIN_INT32, MIN_INT32,
3900 NULL, 0,
3901 (SvxMSDffHandle*)mso_sptSealHandle, SAL_N_ELEMENTS( mso_sptSealHandle ) // handles
3904 static const SvxMSDffVertPair mso_sptStarVert[] =
3906 { 10797, 0 }, { 8278, 8256 }, { 0, 8256 }, { 6722, 13405 },
3907 { 4198, 21600 }, { 10797, 16580 }, { 17401, 21600 }, { 14878, 13405 },
3908 { 21600, 8256 }, { 13321, 8256 }, { 10797, 0 }
3910 static const SvxMSDffTextRectangles mso_sptStarTextRect[] =
3912 { { 6722, 8256 }, { 14878, 15460 } }
3914 static const mso_CustomShape msoStar =
3916 (SvxMSDffVertPair*)mso_sptStarVert, SAL_N_ELEMENTS( mso_sptStarVert ),
3917 NULL, 0,
3918 NULL, 0,
3919 NULL,
3920 (SvxMSDffTextRectangles*)mso_sptStarTextRect, SAL_N_ELEMENTS( mso_sptStarTextRect ),
3921 21600, 21600,
3922 MIN_INT32, MIN_INT32,
3923 NULL, 0,
3924 NULL, 0 // handles
3927 static const SvxMSDffCalculationData mso_sptSeal24Calc[] =
3929 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0x00
3930 { 0x2081, { 0x400, 10800, 315 } }, // 0x01 ( textframe )
3931 { 0x2082, { 0x400, 10800, 315 } }, // 0x02
3932 { 0x2081, { 0x400, 10800, 135 } }, // 0x03
3933 { 0x2082, { 0x400, 10800, 135 } }, // 0x04
3934 { 0x0081, { 0, 10800, 0 } },
3935 { 0x0082, { 0, 10800, 0 } },
3936 { 0x2081, { 0x400, 10800, 7 } },
3937 { 0x2082, { 0x400, 10800, 7 } },
3938 { 0x0081, { 0, 10800, 15 } },
3939 { 0x0082, { 0, 10800, 15 } },
3940 { 0x2081, { 0x400, 10800, 22 } },
3941 { 0x2082, { 0x400, 10800, 22 } },
3942 { 0x0081, { 0, 10800, 30 } },
3943 { 0x0082, { 0, 10800, 30 } },
3944 { 0x2081, { 0x400, 10800, 37 } },
3945 { 0x2082, { 0x400, 10800, 37 } },
3946 { 0x0081, { 0, 10800, 45 } },
3947 { 0x0082, { 0, 10800, 45 } },
3948 { 0x2081, { 0x400, 10800, 52 } },
3949 { 0x2082, { 0x400, 10800, 52 } },
3950 { 0x0081, { 0, 10800, 60 } },
3951 { 0x0082, { 0, 10800, 60 } },
3952 { 0x2081, { 0x400, 10800, 67 } },
3953 { 0x2082, { 0x400, 10800, 67 } },
3954 { 0x0081, { 0, 10800, 75 } },
3955 { 0x0082, { 0, 10800, 75 } },
3956 { 0x2081, { 0x400, 10800, 82 } },
3957 { 0x2082, { 0x400, 10800, 82 } },
3958 { 0x0081, { 0, 10800, 90 } },
3959 { 0x0082, { 0, 10800, 90 } },
3960 { 0x2081, { 0x400, 10800, 97 } },
3961 { 0x2082, { 0x400, 10800, 97 } },
3962 { 0x0081, { 0, 10800, 105 } },
3963 { 0x0082, { 0, 10800, 105 } },
3964 { 0x2081, { 0x400, 10800, 112 } },
3965 { 0x2082, { 0x400, 10800, 112 } },
3966 { 0x0081, { 0, 10800, 120 } },
3967 { 0x0082, { 0, 10800, 120 } },
3968 { 0x2081, { 0x400, 10800, 127 } },
3969 { 0x2082, { 0x400, 10800, 127 } },
3970 { 0x0081, { 0, 10800, 135 } },
3971 { 0x0082, { 0, 10800, 135 } },
3972 { 0x2081, { 0x400, 10800, 142 } },
3973 { 0x2082, { 0x400, 10800, 142 } },
3974 { 0x0081, { 0, 10800, 150 } },
3975 { 0x0082, { 0, 10800, 150 } },
3976 { 0x2081, { 0x400, 10800, 157 } },
3977 { 0x2082, { 0x400, 10800, 157 } },
3978 { 0x0081, { 0, 10800, 165 } },
3979 { 0x0082, { 0, 10800, 165 } },
3980 { 0x2081, { 0x400, 10800, 172 } },
3981 { 0x2082, { 0x400, 10800, 172 } },
3982 { 0x0081, { 0, 10800, 180 } },
3983 { 0x0082, { 0, 10800, 180 } },
3984 { 0x2081, { 0x400, 10800, 187 } },
3985 { 0x2082, { 0x400, 10800, 187 } },
3986 { 0x0081, { 0, 10800, 195 } },
3987 { 0x0082, { 0, 10800, 195 } },
3988 { 0x2081, { 0x400, 10800, 202 } },
3989 { 0x2082, { 0x400, 10800, 202 } },
3990 { 0x0081, { 0, 10800, 210 } },
3991 { 0x0082, { 0, 10800, 210 } },
3992 { 0x2081, { 0x400, 10800, 217 } },
3993 { 0x2082, { 0x400, 10800, 217 } },
3994 { 0x0081, { 0, 10800, 225 } },
3995 { 0x0082, { 0, 10800, 225 } },
3996 { 0x2081, { 0x400, 10800, 232 } },
3997 { 0x2082, { 0x400, 10800, 232 } },
3998 { 0x0081, { 0, 10800, 240 } },
3999 { 0x0082, { 0, 10800, 240 } },
4000 { 0x2081, { 0x400, 10800, 247 } },
4001 { 0x2082, { 0x400, 10800, 247 } },
4002 { 0x0081, { 0, 10800, 255 } },
4003 { 0x0082, { 0, 10800, 255 } },
4004 { 0x2081, { 0x400, 10800, 262 } },
4005 { 0x2082, { 0x400, 10800, 262 } },
4006 { 0x0081, { 0, 10800, 270 } },
4007 { 0x0082, { 0, 10800, 270 } },
4008 { 0x2081, { 0x400, 10800, 277 } },
4009 { 0x2082, { 0x400, 10800, 277 } },
4010 { 0x0081, { 0, 10800, 285 } },
4011 { 0x0082, { 0, 10800, 285 } },
4012 { 0x2081, { 0x400, 10800, 292 } },
4013 { 0x2082, { 0x400, 10800, 292 } },
4014 { 0x0081, { 0, 10800, 300 } },
4015 { 0x0082, { 0, 10800, 300 } },
4016 { 0x2081, { 0x400, 10800, 307 } },
4017 { 0x2082, { 0x400, 10800, 307 } },
4018 { 0x0081, { 0, 10800, 315 } },
4019 { 0x0082, { 0, 10800, 315 } },
4020 { 0x2081, { 0x400, 10800, 322 } },
4021 { 0x2082, { 0x400, 10800, 322 } },
4022 { 0x0081, { 0, 10800, 330 } },
4023 { 0x0082, { 0, 10800, 330 } },
4024 { 0x2081, { 0x400, 10800, 337 } },
4025 { 0x2082, { 0x400, 10800, 337 } },
4026 { 0x0081, { 0, 10800, 345 } },
4027 { 0x0082, { 0, 10800, 345 } },
4028 { 0x2081, { 0x400, 10800, 352 } },
4029 { 0x2082, { 0x400, 10800, 352 } }
4031 static const SvxMSDffVertPair mso_sptSeal8Vert[] = // adj value 0 -> 10800
4033 { 5 MSO_I, 6 MSO_I }, { 11 MSO_I, 12 MSO_I }, { 17 MSO_I, 18 MSO_I }, { 23 MSO_I, 24 MSO_I },
4034 { 29 MSO_I, 30 MSO_I }, { 35 MSO_I, 36 MSO_I }, { 41 MSO_I, 42 MSO_I }, { 47 MSO_I, 48 MSO_I },
4035 { 53 MSO_I, 54 MSO_I }, { 59 MSO_I, 60 MSO_I }, { 65 MSO_I, 66 MSO_I }, { 71 MSO_I, 72 MSO_I },
4036 { 77 MSO_I, 78 MSO_I }, { 83 MSO_I, 84 MSO_I }, { 89 MSO_I, 90 MSO_I }, { 95 MSO_I, 96 MSO_I },
4037 { 5 MSO_I, 6 MSO_I }
4039 static const SvxMSDffTextRectangles mso_sptSealTextRect[] =
4041 { { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 4 MSO_I } }
4043 static const mso_CustomShape msoSeal8 =
4045 (SvxMSDffVertPair*)mso_sptSeal8Vert, SAL_N_ELEMENTS( mso_sptSeal8Vert ),
4046 NULL, 0,
4047 (SvxMSDffCalculationData*)mso_sptSeal24Calc, SAL_N_ELEMENTS( mso_sptSeal24Calc ),
4048 (sal_Int32*)mso_sptDefault2500,
4049 (SvxMSDffTextRectangles*)mso_sptSealTextRect, SAL_N_ELEMENTS( mso_sptSealTextRect ),
4050 21600, 21600,
4051 MIN_INT32, MIN_INT32,
4052 NULL, 0,
4053 (SvxMSDffHandle*)mso_sptSealHandle, SAL_N_ELEMENTS( mso_sptSealHandle ) // handles
4055 static const SvxMSDffVertPair mso_sptSeal16Vert[] = // adj value 0 -> 10800
4057 { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
4058 { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
4059 { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
4060 { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
4061 { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
4062 { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
4063 { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
4064 { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
4065 { 0x05 MSO_I, 0x06 MSO_I }
4067 static const SvxMSDffCalculationData mso_sptSeal16Calc[] =
4069 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0x00
4070 { 0x2081, { 0x400, 10800, 315 } }, // 0x01 ( textframe )
4071 { 0x2082, { 0x400, 10800, 315 } }, // 0x02
4072 { 0x2081, { 0x400, 10800, 135 } }, // 0x03
4073 { 0x2082, { 0x400, 10800, 135 } }, // 0x04
4074 { 0x0081, { 0, 10800, 0 } },
4075 { 0x0082, { 0, 10800, 0 } },
4076 { 0x2081, { 0x400, 10800, 11 } },
4077 { 0x2082, { 0x400, 10800, 11 } },
4078 { 0x0081, { 0, 10800, 22 } },
4079 { 0x0082, { 0, 10800, 22 } },
4080 { 0x2081, { 0x400, 10800, 33 } },
4081 { 0x2082, { 0x400, 10800, 33 } },
4082 { 0x0081, { 0, 10800, 45 } },
4083 { 0x0082, { 0, 10800, 45 } },
4084 { 0x2081, { 0x400, 10800, 56 } },
4085 { 0x2082, { 0x400, 10800, 56 } },
4086 { 0x0081, { 0, 10800, 67 } },
4087 { 0x0082, { 0, 10800, 67 } },
4088 { 0x2081, { 0x400, 10800, 78 } },
4089 { 0x2082, { 0x400, 10800, 78 } },
4090 { 0x0081, { 0, 10800, 90 } },
4091 { 0x0082, { 0, 10800, 90 } },
4092 { 0x2081, { 0x400, 10800, 101 } },
4093 { 0x2082, { 0x400, 10800, 101 } },
4094 { 0x0081, { 0, 10800, 112 } },
4095 { 0x0082, { 0, 10800, 112 } },
4096 { 0x2081, { 0x400, 10800, 123 } },
4097 { 0x2082, { 0x400, 10800, 123 } },
4098 { 0x0081, { 0, 10800, 135 } },
4099 { 0x0082, { 0, 10800, 135 } },
4100 { 0x2081, { 0x400, 10800, 146 } },
4101 { 0x2082, { 0x400, 10800, 146 } },
4102 { 0x0081, { 0, 10800, 157 } },
4103 { 0x0082, { 0, 10800, 157 } },
4104 { 0x2081, { 0x400, 10800, 168 } },
4105 { 0x2082, { 0x400, 10800, 168 } },
4106 { 0x0081, { 0, 10800, 180 } },
4107 { 0x0082, { 0, 10800, 180 } },
4108 { 0x2081, { 0x400, 10800, 191 } },
4109 { 0x2082, { 0x400, 10800, 191 } },
4110 { 0x0081, { 0, 10800, 202 } },
4111 { 0x0082, { 0, 10800, 202 } },
4112 { 0x2081, { 0x400, 10800, 213 } },
4113 { 0x2082, { 0x400, 10800, 213 } },
4114 { 0x0081, { 0, 10800, 225 } },
4115 { 0x0082, { 0, 10800, 225 } },
4116 { 0x2081, { 0x400, 10800, 236 } },
4117 { 0x2082, { 0x400, 10800, 236 } },
4118 { 0x0081, { 0, 10800, 247 } },
4119 { 0x0082, { 0, 10800, 247 } },
4120 { 0x2081, { 0x400, 10800, 258 } },
4121 { 0x2082, { 0x400, 10800, 258 } },
4122 { 0x0081, { 0, 10800, 270 } },
4123 { 0x0082, { 0, 10800, 270 } },
4124 { 0x2081, { 0x400, 10800, 281 } },
4125 { 0x2082, { 0x400, 10800, 281 } },
4126 { 0x0081, { 0, 10800, 292 } },
4127 { 0x0082, { 0, 10800, 292 } },
4128 { 0x2081, { 0x400, 10800, 303 } },
4129 { 0x2082, { 0x400, 10800, 303 } },
4130 { 0x0081, { 0, 10800, 315 } },
4131 { 0x0082, { 0, 10800, 315 } },
4132 { 0x2081, { 0x400, 10800, 326 } },
4133 { 0x2082, { 0x400, 10800, 326 } },
4134 { 0x0081, { 0, 10800, 337 } },
4135 { 0x0082, { 0, 10800, 337 } },
4136 { 0x2081, { 0x400, 10800, 348 } },
4137 { 0x2082, { 0x400, 10800, 348 } }
4139 static const mso_CustomShape msoSeal16 =
4141 (SvxMSDffVertPair*)mso_sptSeal16Vert, SAL_N_ELEMENTS( mso_sptSeal16Vert ),
4142 NULL, 0,
4143 (SvxMSDffCalculationData*)mso_sptSeal16Calc, SAL_N_ELEMENTS( mso_sptSeal16Calc ),
4144 (sal_Int32*)mso_sptDefault2500,
4145 (SvxMSDffTextRectangles*)mso_sptSealTextRect, SAL_N_ELEMENTS( mso_sptSealTextRect ),
4146 21600, 21600,
4147 MIN_INT32, MIN_INT32,
4148 NULL, 0,
4149 (SvxMSDffHandle*)mso_sptSealHandle, SAL_N_ELEMENTS( mso_sptSealHandle ) // handles
4151 static const SvxMSDffVertPair mso_sptSeal24Vert[] =
4153 { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
4154 { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
4155 { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
4156 { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
4157 { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
4158 { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
4159 { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
4160 { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
4161 { 0x45 MSO_I, 0x46 MSO_I }, { 0x47 MSO_I, 0x48 MSO_I }, { 0x49 MSO_I, 0x4a MSO_I }, { 0x4b MSO_I, 0x4c MSO_I },
4162 { 0x4d MSO_I, 0x4e MSO_I }, { 0x4f MSO_I, 0x50 MSO_I }, { 0x51 MSO_I, 0x52 MSO_I }, { 0x53 MSO_I, 0x54 MSO_I },
4163 { 0x55 MSO_I, 0x56 MSO_I }, { 0x57 MSO_I, 0x58 MSO_I }, { 0x59 MSO_I, 0x5a MSO_I }, { 0x5b MSO_I, 0x5c MSO_I },
4164 { 0x5d MSO_I, 0x5e MSO_I }, { 0x5f MSO_I, 0x60 MSO_I }, { 0x61 MSO_I, 0x62 MSO_I }, { 0x63 MSO_I, 0x64 MSO_I },
4165 { 0x05 MSO_I, 0x06 MSO_I }
4167 static const mso_CustomShape msoSeal24 =
4169 (SvxMSDffVertPair*)mso_sptSeal24Vert, SAL_N_ELEMENTS( mso_sptSeal24Vert ),
4170 NULL, 0,
4171 (SvxMSDffCalculationData*)mso_sptSeal24Calc, SAL_N_ELEMENTS( mso_sptSeal24Calc ),
4172 (sal_Int32*)mso_sptDefault2500,
4173 (SvxMSDffTextRectangles*)mso_sptSealTextRect, SAL_N_ELEMENTS( mso_sptSealTextRect ),
4174 21600, 21600,
4175 MIN_INT32, MIN_INT32,
4176 NULL, 0,
4177 (SvxMSDffHandle*)mso_sptSealHandle, SAL_N_ELEMENTS( mso_sptSealHandle ) // handles
4179 static const SvxMSDffCalculationData mso_sptSeal32Calc[] =
4181 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0x00
4182 { 0x2081, { 0x400, 10800, 315 } }, // 0x01 ( textframe )
4183 { 0x2082, { 0x400, 10800, 315 } }, // 0x02
4184 { 0x2081, { 0x400, 10800, 135 } }, // 0x03
4185 { 0x2082, { 0x400, 10800, 135 } }, // 0x04
4186 { 0x0081, { 0, 10800, 0 } },
4187 { 0x0082, { 0, 10800, 0 } },
4188 { 0x2081, { 0x400, 10800, 5 } },
4189 { 0x2082, { 0x400, 10800, 5 } },
4190 { 0x0081, { 0, 10800, 11 } },
4191 { 0x0082, { 0, 10800, 11 } },
4192 { 0x2081, { 0x400, 10800, 16 } },
4193 { 0x2082, { 0x400, 10800, 16 } },
4194 { 0x0081, { 0, 10800, 22 } },
4195 { 0x0082, { 0, 10800, 22 } },
4196 { 0x2081, { 0x400, 10800, 28 } },
4197 { 0x2082, { 0x400, 10800, 28 } },
4198 { 0x0081, { 0, 10800, 33 } },
4199 { 0x0082, { 0, 10800, 33 } },
4200 { 0x2081, { 0x400, 10800, 39 } },
4201 { 0x2082, { 0x400, 10800, 39 } },
4202 { 0x0081, { 0, 10800, 45 } },
4203 { 0x0082, { 0, 10800, 45 } },
4204 { 0x2081, { 0x400, 10800, 50 } },
4205 { 0x2082, { 0x400, 10800, 50 } },
4206 { 0x0081, { 0, 10800, 56 } },
4207 { 0x0082, { 0, 10800, 56 } },
4208 { 0x2081, { 0x400, 10800, 61 } },
4209 { 0x2082, { 0x400, 10800, 61 } },
4210 { 0x0081, { 0, 10800, 67 } },
4211 { 0x0082, { 0, 10800, 67 } },
4212 { 0x2081, { 0x400, 10800, 73 } },
4213 { 0x2082, { 0x400, 10800, 73 } },
4214 { 0x0081, { 0, 10800, 78 } },
4215 { 0x0082, { 0, 10800, 78 } },
4216 { 0x2081, { 0x400, 10800, 84 } },
4217 { 0x2082, { 0x400, 10800, 84 } },
4218 { 0x0081, { 0, 10800, 90 } },
4219 { 0x0082, { 0, 10800, 90 } },
4220 { 0x2081, { 0x400, 10800, 95 } },
4221 { 0x2082, { 0x400, 10800, 95 } },
4222 { 0x0081, { 0, 10800, 101 } },
4223 { 0x0082, { 0, 10800, 101 } },
4224 { 0x2081, { 0x400, 10800, 106 } },
4225 { 0x2082, { 0x400, 10800, 106 } },
4226 { 0x0081, { 0, 10800, 112 } },
4227 { 0x0082, { 0, 10800, 112 } },
4228 { 0x2081, { 0x400, 10800, 118 } },
4229 { 0x2082, { 0x400, 10800, 118 } },
4230 { 0x0081, { 0, 10800, 123 } },
4231 { 0x0082, { 0, 10800, 123 } },
4232 { 0x2081, { 0x400, 10800, 129 } },
4233 { 0x2082, { 0x400, 10800, 129 } },
4234 { 0x0081, { 0, 10800, 135 } },
4235 { 0x0082, { 0, 10800, 135 } },
4236 { 0x2081, { 0x400, 10800, 140 } },
4237 { 0x2082, { 0x400, 10800, 140 } },
4238 { 0x0081, { 0, 10800, 146 } },
4239 { 0x0082, { 0, 10800, 146 } },
4240 { 0x2081, { 0x400, 10800, 151 } },
4241 { 0x2082, { 0x400, 10800, 151 } },
4242 { 0x0081, { 0, 10800, 157 } },
4243 { 0x0082, { 0, 10800, 157 } },
4244 { 0x2081, { 0x400, 10800, 163 } },
4245 { 0x2082, { 0x400, 10800, 163 } },
4246 { 0x0081, { 0, 10800, 168 } },
4247 { 0x0082, { 0, 10800, 168 } },
4248 { 0x2081, { 0x400, 10800, 174 } },
4249 { 0x2082, { 0x400, 10800, 174 } },
4250 { 0x0081, { 0, 10800, 180 } },
4251 { 0x0082, { 0, 10800, 180 } },
4252 { 0x2081, { 0x400, 10800, 185 } },
4253 { 0x2082, { 0x400, 10800, 185 } },
4254 { 0x0081, { 0, 10800, 191 } },
4255 { 0x0082, { 0, 10800, 191 } },
4256 { 0x2081, { 0x400, 10800, 196 } },
4257 { 0x2082, { 0x400, 10800, 196 } },
4258 { 0x0081, { 0, 10800, 202 } },
4259 { 0x0082, { 0, 10800, 202 } },
4260 { 0x2081, { 0x400, 10800, 208 } },
4261 { 0x2082, { 0x400, 10800, 208 } },
4262 { 0x0081, { 0, 10800, 213 } },
4263 { 0x0082, { 0, 10800, 213 } },
4264 { 0x2081, { 0x400, 10800, 219 } },
4265 { 0x2082, { 0x400, 10800, 219 } },
4266 { 0x0081, { 0, 10800, 225 } },
4267 { 0x0082, { 0, 10800, 225 } },
4268 { 0x2081, { 0x400, 10800, 230 } },
4269 { 0x2082, { 0x400, 10800, 230 } },
4270 { 0x0081, { 0, 10800, 236 } },
4271 { 0x0082, { 0, 10800, 236 } },
4272 { 0x2081, { 0x400, 10800, 241 } },
4273 { 0x2082, { 0x400, 10800, 241 } },
4274 { 0x0081, { 0, 10800, 247 } },
4275 { 0x0082, { 0, 10800, 247 } },
4276 { 0x2081, { 0x400, 10800, 253 } },
4277 { 0x2082, { 0x400, 10800, 253 } },
4278 { 0x0081, { 0, 10800, 258 } },
4279 { 0x0082, { 0, 10800, 258 } },
4280 { 0x2081, { 0x400, 10800, 264 } },
4281 { 0x2082, { 0x400, 10800, 264 } },
4282 { 0x0081, { 0, 10800, 270 } },
4283 { 0x0082, { 0, 10800, 270 } },
4284 { 0x2081, { 0x400, 10800, 275 } },
4285 { 0x2082, { 0x400, 10800, 275 } },
4286 { 0x0081, { 0, 10800, 281 } },
4287 { 0x0082, { 0, 10800, 281 } },
4288 { 0x2081, { 0x400, 10800, 286 } },
4289 { 0x2082, { 0x400, 10800, 286 } },
4290 { 0x0081, { 0, 10800, 292 } },
4291 { 0x0082, { 0, 10800, 292 } },
4292 { 0x2081, { 0x400, 10800, 298 } },
4293 { 0x2082, { 0x400, 10800, 298 } },
4294 { 0x0081, { 0, 10800, 303 } },
4295 { 0x0082, { 0, 10800, 303 } },
4296 { 0x2081, { 0x400, 10800, 309 } },
4297 { 0x2082, { 0x400, 10800, 309 } },
4298 { 0x0081, { 0, 10800, 315 } },
4299 { 0x0082, { 0, 10800, 315 } },
4300 { 0x2081, { 0x400, 10800, 320 } },
4301 { 0x2082, { 0x400, 10800, 320 } },
4302 { 0x0081, { 0, 10800, 326 } },
4303 { 0x0082, { 0, 10800, 326 } },
4304 { 0x2081, { 0x400, 10800, 331 } },
4305 { 0x2082, { 0x400, 10800, 331 } },
4306 { 0x0081, { 0, 10800, 337 } },
4307 { 0x0082, { 0, 10800, 337 } },
4308 { 0x2081, { 0x400, 10800, 343 } },
4309 { 0x2082, { 0x400, 10800, 343 } },
4310 { 0x0081, { 0, 10800, 348 } },
4311 { 0x0082, { 0, 10800, 348 } },
4312 { 0x2081, { 0x400, 10800, 354 } },
4313 { 0x2082, { 0x400, 10800, 354 } }
4315 static const SvxMSDffVertPair mso_sptSeal32Vert[] =
4317 { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
4318 { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
4319 { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
4320 { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
4321 { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
4322 { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
4323 { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
4324 { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
4325 { 0x45 MSO_I, 0x46 MSO_I }, { 0x47 MSO_I, 0x48 MSO_I }, { 0x49 MSO_I, 0x4a MSO_I }, { 0x4b MSO_I, 0x4c MSO_I },
4326 { 0x4d MSO_I, 0x4e MSO_I }, { 0x4f MSO_I, 0x50 MSO_I }, { 0x51 MSO_I, 0x52 MSO_I }, { 0x53 MSO_I, 0x54 MSO_I },
4327 { 0x55 MSO_I, 0x56 MSO_I }, { 0x57 MSO_I, 0x58 MSO_I }, { 0x59 MSO_I, 0x5a MSO_I }, { 0x5b MSO_I, 0x5c MSO_I },
4328 { 0x5d MSO_I, 0x5e MSO_I }, { 0x5f MSO_I, 0x60 MSO_I }, { 0x61 MSO_I, 0x62 MSO_I }, { 0x63 MSO_I, 0x64 MSO_I },
4329 { 0x65 MSO_I, 0x66 MSO_I }, { 0x67 MSO_I, 0x68 MSO_I }, { 0x69 MSO_I, 0x6a MSO_I }, { 0x6b MSO_I, 0x6c MSO_I },
4330 { 0x6d MSO_I, 0x6e MSO_I }, { 0x6f MSO_I, 0x70 MSO_I }, { 0x71 MSO_I, 0x72 MSO_I }, { 0x73 MSO_I, 0x74 MSO_I },
4331 { 0x75 MSO_I, 0x76 MSO_I }, { 0x77 MSO_I, 0x78 MSO_I }, { 0x79 MSO_I, 0x7a MSO_I }, { 0x7b MSO_I, 0x7c MSO_I },
4332 { 0x7d MSO_I, 0x7e MSO_I }, { 0x7f MSO_I, 0x80 MSO_I }, { 0x81 MSO_I, 0x82 MSO_I }, { 0x83 MSO_I, 0x84 MSO_I },
4333 { 0x05 MSO_I, 0x06 MSO_I }
4335 static const mso_CustomShape msoSeal32 =
4337 (SvxMSDffVertPair*)mso_sptSeal32Vert, SAL_N_ELEMENTS( mso_sptSeal32Vert ),
4338 NULL, 0,
4339 (SvxMSDffCalculationData*)mso_sptSeal32Calc, SAL_N_ELEMENTS( mso_sptSeal32Calc ),
4340 (sal_Int32*)mso_sptDefault2500,
4341 (SvxMSDffTextRectangles*)mso_sptSealTextRect, SAL_N_ELEMENTS( mso_sptSealTextRect ),
4342 21600, 21600,
4343 MIN_INT32, MIN_INT32,
4344 NULL, 0,
4345 (SvxMSDffHandle*)mso_sptSealHandle, SAL_N_ELEMENTS( mso_sptSealHandle )
4348 static const SvxMSDffVertPair mso_sptRibbon2Vert[] = // adjustment1 : x 2700 - 8100 def 5400
4349 { // adjustment2 : y 14400 - 21600 def 18900
4350 { 12 MSO_I, 1 MSO_I }, { 12 MSO_I, 13 MSO_I }, // pp
4351 { 12 MSO_I, 14 MSO_I }, { 15 MSO_I, 21600 }, { 16 MSO_I, 21600 }, // ccp
4352 { 0, 21600 }, { 2750, 7 MSO_I }, { 0, 2 MSO_I }, { 0 MSO_I, 2 MSO_I }, // pppp
4353 { 0 MSO_I, 4 MSO_I }, // p
4354 { 0 MSO_I, 5 MSO_I }, { 10 MSO_I, 0 }, { 11 MSO_I, 0 }, // ccp
4355 { 17 MSO_I, 0 }, // p
4356 { 18 MSO_I, 0 }, { 19 MSO_I, 5 MSO_I }, { 19 MSO_I, 4 MSO_I }, // ccp
4357 { 19 MSO_I, 2 MSO_I }, { 21600, 2 MSO_I }, { 18850, 7 MSO_I }, { 21600, 21600 }, // pppp
4358 { 20 MSO_I, 21600 }, // p
4359 { 21 MSO_I, 21600 }, { 22 MSO_I, 14 MSO_I }, { 22 MSO_I, 13 MSO_I }, // ccp
4360 { 22 MSO_I, 1 MSO_I }, { 12 MSO_I, 1 MSO_I }, { 12 MSO_I, 13 MSO_I }, // ppp
4361 { 12 MSO_I, 23 MSO_I }, { 15 MSO_I, 24 MSO_I }, { 16 MSO_I, 24 MSO_I }, // ccp
4362 { 11 MSO_I, 24 MSO_I }, // p
4363 { 10 MSO_I, 24 MSO_I }, { 0 MSO_I, 26 MSO_I }, { 0 MSO_I, 25 MSO_I }, // ccp
4364 { 0 MSO_I, 27 MSO_I }, { 10 MSO_I, 1 MSO_I }, { 11 MSO_I, 1 MSO_I }, // ccp
4366 { 22 MSO_I, 1 MSO_I }, { 22 MSO_I, 13 MSO_I }, // pp
4367 { 22 MSO_I, 23 MSO_I }, { 21 MSO_I, 24 MSO_I }, { 20 MSO_I, 24 MSO_I }, // ccp
4368 { 17 MSO_I, 24 MSO_I }, // p
4369 { 18 MSO_I, 24 MSO_I }, { 19 MSO_I, 26 MSO_I }, { 19 MSO_I, 25 MSO_I }, // ccp
4370 { 19 MSO_I, 27 MSO_I }, { 18 MSO_I, 1 MSO_I }, { 17 MSO_I, 1 MSO_I }, // ccp
4372 { 0 MSO_I, 25 MSO_I }, { 0 MSO_I, 2 MSO_I }, // pp
4374 { 19 MSO_I, 25 MSO_I }, { 19 MSO_I, 2 MSO_I } // pp
4376 static const sal_uInt16 mso_sptRibbon2Segm[] =
4378 0x4000, 0x0001, 0x2001, 0x0005, 0x2001, 0x0001, 0x2001, 0x0005, 0x2001, 0x0001, 0x6001, 0x8000,
4379 0x4000, 0x0001, 0x2001, 0x0001, 0x2002, 0x6001, 0x8000,
4380 0x4000, 0x0001, 0x2001, 0x0001, 0x2002, 0x6001, 0x8000,
4381 0x4000, 0x0001, 0x8000,
4382 0x4000, 0x0001, 0x8000
4384 static const SvxMSDffCalculationData mso_sptRibbon2Calc[] =
4386 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 00
4387 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 01
4388 { 0x8000, { 21600, 0, 0x401 } }, // 02
4389 { 0x2001, { 0x402, 1, 2 } }, // 03
4390 { 0x2001, { 0x403, 1, 2 } }, // 04
4391 { 0x2001, { 0x404, 1, 2 } }, // 05
4392 { 0x2001, { 0x401, 1, 2 } }, // 06
4393 { 0x8000, { 21600, 0, 0x406 } }, // 07
4394 { 0x0000, { 420, 0, 0 } }, // 08
4395 { 0x2001, { 0x408, 2, 1 } }, // 09
4396 { 0x6000, { 0x400, 0x408, 0 } }, // 10
4397 { 0x6000, { 0x400, 0x409, 0 } }, // 11
4398 { 0x2000, { 0x400, 2700, 0 } }, // 12
4399 { 0x8000, { 21600, 0, 0x404 } }, // 13
4400 { 0x8000, { 21600, 0, 0x405 } }, // 14
4401 { 0xa000, { 0x40c, 0, 0x408 } }, // 15
4402 { 0xa000, { 0x40c, 0, 0x409 } }, // 16
4404 { 0x8000, { 21600, 0, 0x40b } }, // 17
4405 { 0x8000, { 21600, 0, 0x40a } }, // 18
4406 { 0x8000, { 21600, 0, 0x400 } }, // 19
4407 { 0x8000, { 21600, 0, 0x410 } }, // 20
4408 { 0x8000, { 21600, 0, 0x40f } }, // 21
4409 { 0x8000, { 21600, 0, 0x40c } }, // 22
4411 { 0xa000, { 0x40d, 0, 0x405 } }, // 23
4412 { 0x6000, { 0x401, 0x403, 0 } }, // 24
4413 { 0x6000, { 0x401, 0x404, 0 } }, // 25
4414 { 0x6000, { 0x419, 0x405, 0 } }, // 26
4415 { 0xa000, { 0x419, 0, 0x405 } } // 27
4417 static const sal_Int32 mso_sptRibbon2Default[] =
4419 2, 5400, 18900
4421 static const SvxMSDffTextRectangles mso_sptRibbon2TextRect[] =
4423 { { 0 MSO_I, 0 }, { 19 MSO_I, 1 MSO_I } }
4425 static const SvxMSDffHandle mso_sptRibbon2Handle[] =
4427 { MSDFF_HANDLE_FLAGS_RANGE,
4428 0x100, 0, 10800, 10800, 2700, 8100, MIN_INT32, 0x7fffffff },
4429 { MSDFF_HANDLE_FLAGS_RANGE,
4430 10800, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 14400, 21600 }
4432 static const mso_CustomShape msoRibbon2 =
4434 (SvxMSDffVertPair*)mso_sptRibbon2Vert, SAL_N_ELEMENTS( mso_sptRibbon2Vert ),
4435 (sal_uInt16*)mso_sptRibbon2Segm, sizeof( mso_sptRibbon2Segm ) >> 1,
4436 (SvxMSDffCalculationData*)mso_sptRibbon2Calc, SAL_N_ELEMENTS( mso_sptRibbon2Calc ),
4437 (sal_Int32*)mso_sptRibbon2Default,
4438 (SvxMSDffTextRectangles*)mso_sptRibbon2TextRect, SAL_N_ELEMENTS( mso_sptRibbon2TextRect ),
4439 21600, 21600,
4440 MIN_INT32, MIN_INT32,
4441 NULL, 0,
4442 (SvxMSDffHandle*)mso_sptRibbon2Handle, SAL_N_ELEMENTS( mso_sptRibbon2Handle )
4445 static const SvxMSDffVertPair mso_sptRibbonVert[] =
4447 { 0, 0 }, { 3 MSO_I, 0 },
4448 { 4 MSO_I, 11 MSO_I }, { 4 MSO_I, 10 MSO_I }, { 5 MSO_I, 10 MSO_I }, { 5 MSO_I, 11 MSO_I },
4449 { 6 MSO_I, 0 }, { 21600, 0 }, { 18 MSO_I, 14 MSO_I }, { 21600, 15 MSO_I }, { 9 MSO_I, 15 MSO_I }, { 9 MSO_I, 16 MSO_I }, { 8 MSO_I, 21600 }, { 1 MSO_I, 21600 },
4450 { 0 MSO_I, 16 MSO_I }, { 0 MSO_I, 15 MSO_I }, { 0, 15 MSO_I }, { 2700, 14 MSO_I },
4452 { 4 MSO_I, 11 MSO_I },
4453 { 3 MSO_I, 12 MSO_I }, { 1 MSO_I, 12 MSO_I },
4454 { 0 MSO_I, 13 MSO_I }, { 1 MSO_I, 10 MSO_I }, { 4 MSO_I, 10 MSO_I },
4455 { 5 MSO_I, 11 MSO_I },
4456 { 6 MSO_I, 12 MSO_I }, { 8 MSO_I, 12 MSO_I },
4457 { 9 MSO_I, 13 MSO_I }, { 8 MSO_I, 10 MSO_I }, { 5 MSO_I, 10 MSO_I },
4458 { 0 MSO_I, 13 MSO_I },
4459 { 0 MSO_I, 15 MSO_I },
4460 { 9 MSO_I, 13 MSO_I },
4461 { 9 MSO_I, 15 MSO_I }
4463 static const sal_uInt16 mso_sptRibbonSegm[] =
4465 0x4000, 0x0001, 0xa701, 0x0003, 0xa801, 0x0005, 0xa801, 0x0001, 0xa701, 0x0003, 0x6000, 0x8000,
4466 0x4000, 0xaa00, 0xa801, 0x0001, 0xa702, 0x0001, 0x8000,
4467 0x4000, 0xaa00, 0xa801, 0x0001, 0xa702, 0x0001, 0x8000,
4468 0x4000, 0xaa00, 0x0001, 0x8000,
4469 0x4000, 0xaa00, 0x0001, 0x8000
4471 static const SvxMSDffCalculationData mso_sptRibbonCalc[] =
4473 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 00
4474 { 0x2000, { 0x400, 675, 0 } }, // 01
4475 { 0x2000, { 0x401, 675, 0 } }, // 02
4476 { 0x2000, { 0x402, 675, 0 } }, // 03
4477 { 0x2000, { 0x403, 675, 0 } }, // 04
4478 { 0x8000, { 21600, 0, 0x404 } }, // 05
4479 { 0x8000, { 21600, 0, 0x403 } }, // 06
4480 { 0x8000, { 21600, 0, 0x402 } }, // 07
4481 { 0x8000, { 21600, 0, 0x401 } }, // 08
4482 { 0x8000, { 21600, 0, 0x400 } }, // 09
4483 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 10
4484 { 0x2001, { 0x40a, 1, 4 } }, // 11
4485 { 0x2001, { 0x40b, 2, 1 } }, // 12
4486 { 0x2001, { 0x40b, 3, 1 } }, // 13
4487 { 0x8000, { 10800, 0, 0x40c } }, // 14
4488 { 0x8000, { 21600, 0, 0x40a } }, // 15
4489 { 0x8000, { 21600, 0, 0x40b } }, // 16
4490 { 0x0001, { 21600, 1, 2 } }, // 17
4491 { 0x0000, { 21600, 0, 2700 } }, // 18
4492 { 0x2000, { 0x411, 0, 2700 } } // 19
4494 static const sal_Int32 mso_sptRibbonDefault[] =
4496 2, 5400, 2700
4498 static const SvxMSDffTextRectangles mso_sptRibbonTextRect[] =
4500 { { 0 MSO_I, 10 MSO_I }, { 9 MSO_I, 21600 } }
4502 static const SvxMSDffVertPair mso_sptRibbonGluePoints[] =
4504 { 17 MSO_I, 10 MSO_I }, { 2700, 14 MSO_I }, { 17 MSO_I, 21600 }, { 18 MSO_I, 14 MSO_I }
4506 static const SvxMSDffHandle mso_sptRibbonHandle[] =
4508 { MSDFF_HANDLE_FLAGS_RANGE,
4509 0x100, 0, 10800, 10800, 2700, 8100, MIN_INT32, 0x7fffffff },
4510 { MSDFF_HANDLE_FLAGS_RANGE,
4511 10800, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 7200 }
4513 static const mso_CustomShape msoRibbon =
4515 (SvxMSDffVertPair*)mso_sptRibbonVert, SAL_N_ELEMENTS( mso_sptRibbonVert ),
4516 (sal_uInt16*)mso_sptRibbonSegm, sizeof( mso_sptRibbonSegm ) >> 1,
4517 (SvxMSDffCalculationData*)mso_sptRibbonCalc, SAL_N_ELEMENTS( mso_sptRibbonCalc ),
4518 (sal_Int32*)mso_sptRibbonDefault,
4519 (SvxMSDffTextRectangles*)mso_sptRibbonTextRect, SAL_N_ELEMENTS( mso_sptRibbonTextRect ),
4520 21600, 21600,
4521 MIN_INT32, MIN_INT32,
4522 (SvxMSDffVertPair*)mso_sptRibbonGluePoints, SAL_N_ELEMENTS( mso_sptRibbonGluePoints ),
4523 (SvxMSDffHandle*)mso_sptRibbonHandle, SAL_N_ELEMENTS( mso_sptRibbonHandle )
4525 //msosptEllipseRibbon
4526 //svg path = ar@9@38@8@37,0@27@0@26@9@13@8@4@0@25@22@25@9@38@8@37@22@26@3@27l@7@40@3,wa@9@35@8@10@3,0@21@33@9@36@8@1@21@31@20@31@9@35@8@10@20@33,,l@5@40xewr@9@36@8@1@20@31@0@32nfl@20@33ear@9@36@8@1@21@31@22@32nfl@21@33em@0@26nfl@0@32em@22@26nfl@22@32e
4527 //odp path = A ?f9 ?f38 ?f8 ?f37 0 ?f27 ?f0 ?f26 ?f9 ?f13 ?f8 ?f4 ?f0 ?f25 ?f22 ?f25 ?f9 ?f38 ?f8 ?f37 ?f22 ?f26 ?f3 ?f27 L ?f7 ?f40 ?f3 0 W ?f9 ?f35 ?f8 ?f10 ?f3 0 ?f21 ?f33 ?f9 ?f36 ?f8 ?f1 ?f21 ?f31 ?f20 ?f31 ?f9 ?f35 ?f8 ?f10 ?f20 ?f33 0 0 L ?f5 ?f40 Z N W ?f9 ?f36 ?f8 ?f1 ?f20 ?f31 ?f0 ?f32 F L ?f20 ?f33 N A ?f9 ?f36 ?f8 ?f1 ?f21 ?f31 ?f22 ?f32 F L ?f21 ?f33 N M ?f0 ?f26 F L ?f0 ?f32 N M ?f22 ?f26 F L ?f22 ?f32 N
4528 static const SvxMSDffVertPair mso_sptEllipseRibbonVert[] =
4530 { 9 MSO_I , 38 MSO_I },
4531 { 8 MSO_I , 37 MSO_I },
4532 { 0 , 27 MSO_I },
4533 { 0 MSO_I , 26 MSO_I },
4534 { 9 MSO_I , 13 MSO_I },
4535 { 8 MSO_I , 4 MSO_I },
4536 { 0 MSO_I , 25 MSO_I },
4537 { 22 MSO_I , 25 MSO_I },
4538 { 9 MSO_I , 38 MSO_I },
4539 { 8 MSO_I , 37 MSO_I },
4540 { 22 MSO_I , 26 MSO_I },
4541 { 3 MSO_I , 27 MSO_I },
4542 { 7 MSO_I , 40 MSO_I },
4543 { 3 MSO_I , 0 },
4544 { 9 MSO_I , 35 MSO_I },
4545 { 8 MSO_I , 10 MSO_I },
4546 { 3 MSO_I , 0 },
4547 { 21 MSO_I , 33 MSO_I },
4548 { 9 MSO_I , 36 MSO_I },
4549 { 8 MSO_I , 1 MSO_I },
4550 { 21 MSO_I , 31 MSO_I },
4551 { 20 MSO_I , 31 MSO_I },
4552 { 9 MSO_I , 35 MSO_I },
4553 { 8 MSO_I , 10 MSO_I },
4554 { 20 MSO_I , 33 MSO_I },
4555 { 0 , 0 },
4556 { 5 MSO_I , 40 MSO_I },
4557 { 9 MSO_I , 36 MSO_I },
4558 { 8 MSO_I , 1 MSO_I },
4559 { 20 MSO_I , 31 MSO_I },
4560 { 0 MSO_I , 32 MSO_I },
4561 { 20 MSO_I , 33 MSO_I },
4562 { 9 MSO_I , 36 MSO_I },
4563 { 8 MSO_I , 1 MSO_I },
4564 { 21 MSO_I , 31 MSO_I },
4565 { 22 MSO_I , 32 MSO_I },
4566 { 21 MSO_I , 33 MSO_I },
4567 { 0 MSO_I , 26 MSO_I },
4568 { 0 MSO_I , 32 MSO_I },
4569 { 22 MSO_I , 26 MSO_I },
4570 { 22 MSO_I , 32 MSO_I }
4573 static const sal_uInt16 mso_sptEllipseRibbonSegm[] =
4575 0xa30c /*ar*/,0x0002/*l*/,0xa50c/*wa*/,0x0001/*l*/,
4576 0x6001/*x*/, 0x8000/*e*/,0xa504/*wr*/,0xaa00/*nf*/,
4577 0x0001/*l*/, 0x8000/*e*/,0xa304/*ar*/,0xaa00/*nf*/,
4578 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
4579 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
4580 0x0001/*l*/, 0x8000/*e*/
4583 static const SvxMSDffCalculationData mso_sptEllipseRibbonCalc[] =
4585 { 0x2000 , { DFF_Prop_adjustValue , 0 , 0 } }, //val #0
4586 { 0x2000 , { DFF_Prop_adjust2Value , 0 , 0 } }, //val #1
4587 { 0x2000 , { DFF_Prop_adjust3Value , 0 , 0 } }, //val #2
4588 { 0x2000 , { DFF_Prop_geoRight , 0 , 0 } }, //val width
4589 { 0x2000 , { DFF_Prop_geoBottom , 0 , 0 } }, //val height
4590 { 0x2001 , { DFF_Prop_geoRight , 1 , 8 } }, //prod width 1 8
4591 { 0x2001 , { DFF_Prop_geoRight , 1 , 2 } }, //prod width 1 2
4592 { 0x2001 , { DFF_Prop_geoRight , 7 , 8 } }, //prod width 7 8
4593 { 0x2001 , { DFF_Prop_geoRight , 3 , 2 } }, //prod width 3 2
4594 { 0x8000 , { 0 , 0 , 0x406 } }, //sum 0 0 @6
4595 { 0xa000 , { DFF_Prop_geoBottom , 0 , DFF_Prop_adjust3Value } }, //sum height 0 #2
4596 { 0x2001 , { 0x40a , 30573 , 4096 } }, //prod @10 30573 4096
4597 { 0x2001 , { 0x40b , 2 , 1 } }, //prod @11 2 1
4598 { 0xa000 , { DFF_Prop_geoBottom , 0 , 0x40c } }, //sum height 0 @12
4599 { 0x6000 , { 0x40b , DFF_Prop_adjust3Value , 0 } }, //sum @11 #2 0
4600 { 0xe000 , { 0x40b , DFF_Prop_geoBottom , DFF_Prop_adjust2Value } }, //sum @11 height #1
4601 { 0xa000 , { DFF_Prop_geoBottom , 0 , DFF_Prop_adjust2Value } }, //sum height 0 #1
4602 { 0x2001 , { 0x410 , 1 , 2 } }, //prod @16 1 2
4603 { 0x6000 , { 0x40b , 0x411 , 0 } }, //sum @11 @17 0
4604 { 0xe000 , { 0x40e , DFF_Prop_adjust2Value , DFF_Prop_geoBottom } }, //sum @14 #1 height
4605 { 0x6000 , { DFF_Prop_adjustValue , 0x405 , 0 } }, //sum #0 @5 0
4606 { 0xa000 , { DFF_Prop_geoRight , 0 , 0x414 } }, //sum width 0 @20
4607 { 0xa000 , { DFF_Prop_geoRight , 0 , DFF_Prop_adjustValue } }, //sum width 0 #0
4608 { 0xa000 , { 0x406 , 0 , DFF_Prop_adjustValue } }, //sum @6 0 #0
4609 { 0xe00f , { 0x417 , DFF_Prop_geoRight , 0x40b } }, //ellipse @23 width @11
4610 { 0xe000 , { 0x418 , DFF_Prop_geoBottom , 0x40b } }, //sum @24 height @11
4611 { 0xe000 , { 0x419 , 0x40b , 0x413 } }, //sum @25 @11 @19
4612 { 0xe000 , { DFF_Prop_adjust3Value , 0x40b , 0x413 } }, //sum #2 @11 @19
4613 { 0x2001 , { 0x40b , 2391 , 32768 } }, //prod @11 2391 32768
4614 { 0xa000 , { 0x406 , 0 , 0x414 } }, //sum @6 0 @20
4615 { 0xe00f , { 0x41d , DFF_Prop_geoRight , 0x40b } }, //ellipse @29 width @11
4616 { 0xe000 , { DFF_Prop_adjust2Value , 0x41e , 0x40b } }, //sum #1 @30 @11
4617 { 0xe000 , { 0x419 , DFF_Prop_adjust2Value , DFF_Prop_geoBottom } }, //sum @25 #1 height
4618 { 0xe000 , { DFF_Prop_geoBottom , 0x41e , 0x40e } }, //sum height @30 @14
4619 { 0x6000 , { 0x40b , 0x40e , 0 } }, //sum @11 @14 0
4620 { 0xa000 , { DFF_Prop_geoBottom , 0 , 0x422 } }, //sum height 0 @34
4621 { 0xe000 , { 0x423 , 0x413 , 0x40b } }, //sum @35 @19 @11
4622 { 0xe000 , { 0x40a , 0x40f , 0x40b } }, //sum @10 @15 @11
4623 { 0xe000 , { 0x423 , 0x40f , 0x40b } }, //sum @35 @15 @11
4624 { 0xe000 , { 0x41c , 0x40e , 0x412 } }, //sum @28 @14 @18
4625 { 0xa000 , { DFF_Prop_geoBottom , 0 , 0x427 } }, //sum height 0 @39
4626 { 0xa000 , { 0x413 , 0 , 0x412 } }, //sum @19 0 @18
4627 { 0x2001 , { 0x429 , 2 , 3 } }, //prod @41 2 3
4628 { 0xa000 , { DFF_Prop_adjust2Value , 0 , 0x42a } }, //sum #1 0 @42
4629 { 0xa000 , { DFF_Prop_adjust3Value , 0 , 0x42a } }, //sum #2 0 @42
4630 { 0x2004 , { 0x42c , 20925 , 0 } }, //min @44 20925
4631 { 0x2001 , { DFF_Prop_geoRight , 3 , 8 } }, //prod width 3 8
4632 { 0x2000 , { 0x42e , 0 , 4 } }, //sum @46 0 4
4635 static const SvxMSDffTextRectangles mso_sptEllipseRibbonTextRect[] =
4636 {//@0,@1,@22,@25
4637 { { 0 MSO_I, 1 MSO_I }, { 22 MSO_I, 25 MSO_I } }
4640 static const sal_Int32 mso_sptEllipseRibbonDefault[] =
4642 3,5400,5400,18900
4645 static const SvxMSDffHandle mso_sptEllipseRibbonHandle[] =
4647 //position="#0,bottomRight" xrange="@5,@47
4648 //position="center,#1" yrange="@10,@43
4649 //position="topLeft,#2" yrange="@27,@45
4650 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL| MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
4651 0x100, 21600, 0, 0, 0x8/*5+3*/, 0x32/*47+3*/, MIN_INT32, 0x7fffffff },
4652 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
4653 10800, 0x101, 0, 0, MIN_INT32, 0x7fffffff,0xd/*10+3*/, 0x2e /*43+3*/ },
4654 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
4655 0, 0x102, 0, 0, MIN_INT32, 0x7fffffff,0x1e/*27+3*/, 0x30 /*45+3*/ }
4658 static const mso_CustomShape msosptEllipseRibbon =
4660 (SvxMSDffVertPair*)mso_sptEllipseRibbonVert, sizeof( mso_sptEllipseRibbonVert ) / sizeof( SvxMSDffVertPair ),
4661 (sal_uInt16*)mso_sptEllipseRibbonSegm, sizeof( mso_sptEllipseRibbonSegm ) >> 1,
4662 (SvxMSDffCalculationData*)mso_sptEllipseRibbonCalc, sizeof( mso_sptEllipseRibbonCalc ) / sizeof( SvxMSDffCalculationData ),
4663 (sal_Int32*)mso_sptEllipseRibbonDefault,
4664 (SvxMSDffTextRectangles*)mso_sptEllipseRibbonTextRect, sizeof( mso_sptEllipseRibbonTextRect ) / sizeof( SvxMSDffTextRectangles ),
4665 21600, 21600,
4666 MIN_INT32, MIN_INT32,
4667 NULL, 0,
4668 (SvxMSDffHandle*)mso_sptEllipseRibbonHandle, sizeof( mso_sptEllipseRibbonHandle ) / sizeof( SvxMSDffHandle )
4671 //msosptEllipseRibbon2
4672 //svg path = wr@9@34@8@35,0@24@0@23@9,0@8@11@0@22@19@22@9@34@8@35@19@23@3@24l@7@36@3@4at@9@31@8@32@3@4@18@30@9@1@8@33@18@28@17@28@9@31@8@32@17@30,0@4l@5@36xear@9@1@8@33@17@28@0@29nfl@17@30ewr@9@1@8@33@18@28@19@29nfl@18@30em@0@23nfl@0@29em@19@23nfl@19@29e
4673 static const SvxMSDffVertPair mso_sptEllipseRibbon2Vert[] =
4675 { 9 MSO_I , 34 MSO_I },
4676 { 8 MSO_I , 35 MSO_I },
4677 { 0 , 24 MSO_I },
4678 { 0 MSO_I , 23 MSO_I },
4679 { 9 MSO_I , 0 },
4680 { 8 MSO_I , 11 MSO_I },
4681 { 0 MSO_I , 22 MSO_I },
4682 { 19 MSO_I , 22 MSO_I },
4683 { 9 MSO_I , 34 MSO_I },
4684 { 8 MSO_I , 35 MSO_I },
4685 { 19 MSO_I , 23 MSO_I },
4686 { 3 MSO_I , 24 MSO_I },
4687 { 7 MSO_I , 36 MSO_I },
4688 { 3 MSO_I , 4 MSO_I },
4689 { 9 MSO_I , 31 MSO_I },
4690 { 8 MSO_I , 32 MSO_I },
4691 { 3 MSO_I , 4 MSO_I },
4692 { 18 MSO_I , 30 MSO_I },
4693 { 9 MSO_I , 1 MSO_I },
4694 { 8 MSO_I , 33 MSO_I },
4695 { 18 MSO_I , 28 MSO_I },
4696 { 17 MSO_I , 28 MSO_I },
4697 { 9 MSO_I , 31 MSO_I },
4698 { 8 MSO_I , 32 MSO_I },
4699 { 17 MSO_I , 30 MSO_I },
4700 { 0 , 4l MSO_I },
4701 { 5 MSO_I , 36 MSO_I },
4702 { 9 MSO_I , 1 MSO_I },
4703 { 8 MSO_I , 33 MSO_I },
4704 { 17 MSO_I , 28 MSO_I },
4705 { 0 MSO_I , 29 MSO_I },
4706 { 17 MSO_I , 30 MSO_I },
4707 { 9 MSO_I , 1 MSO_I },
4708 { 8 MSO_I , 33 MSO_I },
4709 { 18 MSO_I , 28 MSO_I },
4710 { 19 MSO_I , 29 MSO_I },
4711 { 18 MSO_I , 30 MSO_I },
4712 { 0 MSO_I , 23 MSO_I },
4713 { 0 MSO_I , 29 MSO_I },
4714 { 19 MSO_I , 23 MSO_I },
4715 { 19 MSO_I , 29 MSO_I }
4717 static const sal_uInt16 mso_sptEllipseRibbon2Segm[] =
4719 0xa50c/*wr*/,0x0002/*l*/,0xa30c/*at*/,0x0001/*l*/,
4720 0x6001/*x*/, 0x8000/*e*/,0xa304/*ar*/,0xaa00/*nf*/,
4721 0x0001/*l*/, 0x8000/*e*/,0xa504/*wr*/,0xaa00/*nf*/,
4722 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
4723 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
4724 0x0001/*l*/, 0x8000/*e*/
4727 static const SvxMSDffCalculationData mso_sptEllipseRibbon2Calc[] =
4729 { 0x2000 , { DFF_Prop_adjustValue , 0 , 0 } }, //val #0
4730 { 0x2000 , { DFF_Prop_adjust2Value , 0 , 0 } }, //val #1
4731 { 0x2000 , { DFF_Prop_adjust3Value , 0 , 0 } }, //val #2
4732 { 0x2000 , { DFF_Prop_geoRight , 0 , 0 } }, //val width
4733 { 0x2000 , { DFF_Prop_geoBottom , 0 , 0 } }, //val height
4734 { 0x2001 , { DFF_Prop_geoRight , 1 , 8 } }, //prod width 1 8
4735 { 0x2001 , { DFF_Prop_geoRight , 1 , 2 } }, //prod width 1 2
4736 { 0x2001 , { DFF_Prop_geoRight , 7 , 8 } }, //prod width 7 8
4737 { 0x2001 , { DFF_Prop_geoRight , 3 , 2 } }, //prod width 3 2
4738 { 0x8000 , { 0 , 0 , 0x406 } }, //sum 0 0 @6
4739 { 0x2001 , { DFF_Prop_adjust3Value , 30573 , 4096 } }, //prod #2 30573 4096
4740 { 0x2001 , { 0x40a , 2 , 1 } }, //prod @10 2 1
4741 { 0xe000 , { 0x40a , DFF_Prop_geoBottom , DFF_Prop_adjust3Value } }, //sum @10 height #2
4742 { 0x6000 , { 0x40a , DFF_Prop_adjust2Value , 0 } }, //sum @10 #1 0
4743 { 0x2001 , { DFF_Prop_adjust2Value , 1 , 2 } }, //prod #1 1 2
4744 { 0x6000 , { 0x40a , 0x40e , 0 } }, //sum @10 @14 0
4745 { 0xa000 , { 0x40c , 0 , DFF_Prop_adjust2Value } }, //sum @12 0 #1
4746 { 0x6000 , { DFF_Prop_adjustValue , 0x405 , 0 } }, //sum #0 @5 0
4747 { 0xa000 , { DFF_Prop_geoRight , 0 , 0x411 } }, //sum width 0 @17
4748 { 0xa000 , { DFF_Prop_geoRight , 0 , DFF_Prop_adjustValue } }, //sum width 0 #0
4749 { 0xa000 , { 0x406 , 0 , DFF_Prop_adjustValue } }, //sum @6 0 #0
4750 { 0xe00f , { 0x414 , DFF_Prop_geoRight , 0x40a } }, //ellipse @20 width @10
4751 { 0xa000 , { 0x40a , 0 , 0x415 } }, //sum @10 0 @21
4752 { 0xe000 , { 0x416 , 0x410 , 0x40a } }, //sum @22 @16 @10
4753 { 0xe000 , { DFF_Prop_adjust3Value , 0x410 , 0x40a } }, //sum #2 @16 @10
4754 { 0x2001 , { 0x40a , 2391 , 32768 } }, //prod @10 2391 32768
4755 { 0xa000 , { 0x406 , 0 , 0x411 } }, //sum @6 0 @17
4756 { 0xe00f , { 0x41a , DFF_Prop_geoRight , 0x40a } }, //ellipse @26 width @10
4757 { 0xe000 , { 0x40a , DFF_Prop_adjust2Value , 0x41b } }, //sum @10 #1 @27
4758 { 0x6000 , { 0x416 , DFF_Prop_adjust2Value , 0 } }, //sum @22 #1 0
4759 { 0xa000 , { 0x40c , 0 , 0x41b } }, //sum @12 0 @27
4760 { 0xa000 , { DFF_Prop_geoBottom , 0 , DFF_Prop_adjust3Value } }, //sum height 0 #2
4761 { 0x6000 , { 0x40a , 0x40c , 0 } }, //sum @10 @12 0
4762 { 0xe000 , { 0x420 , 0x40a , 0x410 } }, //sum @32 @10 @16
4763 { 0xe000 , { 0x41f , 0x40a , 0x40d } }, //sum @31 @10 @13
4764 { 0xe000 , { 0x420 , 0x40a , 0x40d } }, //sum @32 @10 @13
4765 { 0xe000 , { 0x419 , 0x40c , 0x40f } }, //sum @25 @12 @15
4766 { 0xa000 , { 0x410 , 0 , 0x40f } }, //sum @16 0 @15
4767 { 0x2001 , { 0x425 , 2 , 3 } }, //prod @37 2 3
4768 { 0x6000 , { 0x401 , 0x426 , 0 } }, //sum @1 @38 0
4769 { 0x6000 , { DFF_Prop_adjust3Value , 0x426 , 0 } }, //sum #2 @38 0
4770 { 0x2005 , { 0x428 , 675 , 0 } }, //max @40 675
4771 { 0x2001 , { DFF_Prop_geoRight , 3 , 8 } }, //prod width 3 8
4772 { 0x2000 , { 0x42a , 0 , 4 } } //sum @42 0 4
4775 static const SvxMSDffTextRectangles mso_sptEllipseRibbon2TextRect[] =
4776 {//@0,@22,@19,@1
4777 { { 0 MSO_I, 22 MSO_I }, { 19 MSO_I, 1 MSO_I } }
4780 static const sal_Int32 mso_sptEllipseRibbon2Default[] =
4782 3,5400,16200,2700
4785 static const SvxMSDffHandle mso_sptEllipseRibbon2Handle[] =
4787 //position="#0,topLeft" xrange="@5,@43
4788 //position="center,#1" yrange="@39,@31
4789 //position="topLeft,#2" yrange="@41,@24
4790 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL| MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
4791 0x100, 0, 0, 0, 0x8/*5+3*/, 0x2e/*43+3*/, MIN_INT32, 0x7fffffff },
4792 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
4793 10800, 0x101, 0, 0, MIN_INT32, 0x7fffffff,0x2a/*39+3*/, 0x22 /*31+3*/ },
4794 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
4795 0, 0x102, 0, 0, MIN_INT32, 0x7fffffff,0x2c/*41+3*/, 0x1b /*24+3*/ }
4798 static const mso_CustomShape msosptEllipseRibbon2 =
4800 (SvxMSDffVertPair*)mso_sptEllipseRibbon2Vert, sizeof( mso_sptEllipseRibbon2Vert ) / sizeof( SvxMSDffVertPair ),
4801 (sal_uInt16*)mso_sptEllipseRibbon2Segm, sizeof( mso_sptEllipseRibbon2Segm ) >> 1,
4802 (SvxMSDffCalculationData*)mso_sptEllipseRibbon2Calc, sizeof( mso_sptEllipseRibbon2Calc ) / sizeof( SvxMSDffCalculationData ),
4803 (sal_Int32*)mso_sptEllipseRibbon2Default,
4804 (SvxMSDffTextRectangles*)mso_sptEllipseRibbon2TextRect, sizeof( mso_sptEllipseRibbon2TextRect ) / sizeof( SvxMSDffTextRectangles ),
4805 21600, 21600,
4806 MIN_INT32, MIN_INT32,
4807 NULL, 0,
4808 (SvxMSDffHandle*)mso_sptEllipseRibbon2Handle, sizeof( mso_sptEllipseRibbon2Handle ) / sizeof( SvxMSDffHandle )
4810 // End
4811 static const SvxMSDffVertPair mso_sptVerticalScrollVert[] = // adjustment1 : 0 - 5400
4813 { 1 MSO_I, 21600 }, { 0, 11 MSO_I }, { 1 MSO_I, 12 MSO_I }, { 0 MSO_I, 12 MSO_I },
4814 { 0 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 }, { 2 MSO_I, 0 }, { 21600, 1 MSO_I },
4815 { 2 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 11 MSO_I }, { 5 MSO_I, 21600 },
4817 { 6 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 4 MSO_I, 1 MSO_I },
4819 { 0 MSO_I, 11 MSO_I }, { 1 MSO_I, 21600 }, { 0, 11 MSO_I }, { 1 MSO_I, 12 MSO_I },
4820 { 9 MSO_I, 10 MSO_I }, { 1 MSO_I, 11 MSO_I },
4822 { 4 MSO_I, 0 }, { 6 MSO_I, 1 MSO_I },
4824 { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I },
4826 { 4 MSO_I, 0 MSO_I },
4827 { 2 MSO_I, 0 MSO_I }
4829 static const sal_uInt16 mso_sptVerticalScrollSegm[] =
4831 0x4000, 0xa702, 0x0002, 0xa801, 0x0001, 0xa702, 0x0002, 0xa801, 0x6001, 0x8000,
4832 0x4000, 0xa801, 0xa702, 0x6000, 0x8000,
4833 0x4000, 0xa803, 0xa702, 0x6001, 0x8000,
4834 0x4000, 0xa701, 0x8000,
4835 0x4000, 0x0001, 0x8000,
4836 0x4000, 0x0001, 0x8000
4838 static const SvxMSDffCalculationData mso_sptScrollCalc[] =
4840 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
4841 { 0x2001, { 0x400, 1, 2 } },
4842 { 0xa000, { DFF_Prop_geoRight, 0, 0x401 } },
4843 { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
4844 { 0x6000, { 0x400, 0x401, 0 } },
4845 { 0xa000, { DFF_Prop_geoRight, 0, 0x404 } },
4846 { 0x2001, { 0x400, 2, 1 } },
4847 { 0x2001, { 0x401, 1, 2 } },
4848 { 0x6000, { 0x400, 0x407, 0 } },
4849 { 0x6000, { 0x401, 0x407, 0 } },
4850 { 0xa000, { DFF_Prop_geoBottom, 0, 0x409 } },
4851 { 0xa000, { DFF_Prop_geoBottom, 0, 0x401 } },
4852 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } },
4853 { 0xa000, { DFF_Prop_geoBottom, 0, 0x404 } }
4855 static const SvxMSDffTextRectangles mso_sptScrollTextRect[] =
4857 { { 0 MSO_I, 0 MSO_I }, { 3 MSO_I, 12 MSO_I } }
4859 static const SvxMSDffHandle mso_sptVerticalScrollHandle[] =
4861 { MSDFF_HANDLE_FLAGS_RANGE,
4862 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 5400 }
4864 static const mso_CustomShape msoVerticalScroll =
4866 (SvxMSDffVertPair*)mso_sptVerticalScrollVert, SAL_N_ELEMENTS( mso_sptVerticalScrollVert ),
4867 (sal_uInt16*)mso_sptVerticalScrollSegm, sizeof( mso_sptVerticalScrollSegm ) >> 1,
4868 (SvxMSDffCalculationData*)mso_sptScrollCalc, SAL_N_ELEMENTS( mso_sptScrollCalc ),
4869 (sal_Int32*)mso_sptDefault2700,
4870 (SvxMSDffTextRectangles*)mso_sptScrollTextRect, SAL_N_ELEMENTS( mso_sptScrollTextRect ),
4871 21600, 21600,
4872 11000, 10800,
4873 NULL, 0,
4874 (SvxMSDffHandle*)mso_sptVerticalScrollHandle, SAL_N_ELEMENTS( mso_sptVerticalScrollHandle )
4876 static const SvxMSDffVertPair mso_sptHorizontalScrollVert[] = // adjustment1 : 0 - 5400
4878 { 0, 4 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 1 MSO_I },
4879 { 2 MSO_I, 0 }, { 21600, 1 MSO_I }, { 21600, 13 MSO_I }, { 2 MSO_I, 12 MSO_I },
4880 { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I }, { 1 MSO_I, 21600 }, { 0, 11 MSO_I },
4882 { 1 MSO_I, 4 MSO_I }, { 9 MSO_I, 8 MSO_I }, { 0 MSO_I, 4 MSO_I }, { 1 MSO_I, 6 MSO_I },
4884 { 2 MSO_I, 1 MSO_I }, { 3 MSO_I, 9 MSO_I }, { 3 MSO_I, 1 MSO_I }, { 2 MSO_I, 0 },
4885 { 21600, 1 MSO_I }, { 2 MSO_I, 0 MSO_I },
4887 { 1 MSO_I, 6 MSO_I },
4888 { 0, 4 MSO_I },
4890 { 2 MSO_I, 0 MSO_I },
4891 { 3 MSO_I, 0 MSO_I },
4893 { 0 MSO_I, 4 MSO_I },
4894 { 0 MSO_I, 11 MSO_I }
4896 static const sal_uInt16 mso_sptHorizontalScrollSegm[] =
4898 0x4000, 0xa801, 0x0002, 0xa802, 0x0001, 0xa801, 0x0002, 0xa802, 0x6001, 0x8000,
4899 0x4000, 0xa803, 0x6000, 0x8000,
4900 0x4000, 0xa803, 0xa702, 0x6000, 0x8000,
4901 0x4000, 0xa701, 0x8000,
4902 0x4000, 0x0001, 0x8000,
4903 0x4000, 0x0001, 0x8000
4905 static const SvxMSDffHandle mso_sptHorizontalScrollHandle[] =
4907 { MSDFF_HANDLE_FLAGS_RANGE,
4908 0x100, 0, 10800, 10800, 0, 5400, MIN_INT32, 0x7fffffff }
4910 static const mso_CustomShape msoHorizontalScroll =
4912 (SvxMSDffVertPair*)mso_sptHorizontalScrollVert, SAL_N_ELEMENTS( mso_sptHorizontalScrollVert ),
4913 (sal_uInt16*)mso_sptHorizontalScrollSegm, sizeof( mso_sptHorizontalScrollSegm ) >> 1,
4914 (SvxMSDffCalculationData*)mso_sptScrollCalc, SAL_N_ELEMENTS( mso_sptScrollCalc ),
4915 (sal_Int32*)mso_sptDefault2700,
4916 (SvxMSDffTextRectangles*)mso_sptScrollTextRect, SAL_N_ELEMENTS( mso_sptScrollTextRect ),
4917 21600, 21600,
4918 10800, 11000,
4919 NULL, 0,
4920 (SvxMSDffHandle*)mso_sptHorizontalScrollHandle, SAL_N_ELEMENTS( mso_sptHorizontalScrollHandle )
4923 static const SvxMSDffVertPair mso_sptFlowChartProcessVert[] =
4925 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
4927 static const mso_CustomShape msoFlowChartProcess =
4929 (SvxMSDffVertPair*)mso_sptFlowChartProcessVert, SAL_N_ELEMENTS( mso_sptFlowChartProcessVert ),
4930 NULL, 0,
4931 NULL, 0,
4932 NULL,
4933 NULL, 0,
4934 21600, 21600,
4935 MIN_INT32, MIN_INT32,
4936 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
4937 NULL, 0 // handles
4940 static const SvxMSDffVertPair mso_sptFlowChartAlternateProcessVert[] =
4942 { 0, 2 MSO_I }, { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 21600, 2 MSO_I },
4943 { 21600, 3 MSO_I }, { 1 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0, 3 MSO_I }
4945 static const sal_uInt16 mso_sptFlowChartAlternateProcessSegm[] =
4947 0x4000, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x6000, 0x8000
4949 static const SvxMSDffCalculationData mso_sptFlowChartAlternateProcessCalc[] =
4951 { 0x2000, { DFF_Prop_geoLeft, 2540, 0 } },
4952 { 0x2000, { DFF_Prop_geoRight, 0, 2540 } },
4953 { 0x2000, { DFF_Prop_geoTop, 2540, 0 } },
4954 { 0x2000, { DFF_Prop_geoBottom, 0, 2540 } },
4955 { 0x2000, { DFF_Prop_geoLeft, 800, 0 } },
4956 { 0x2000, { DFF_Prop_geoRight, 0, 800 } },
4957 { 0x2000, { DFF_Prop_geoTop, 800, 0 } },
4958 { 0x2000, { DFF_Prop_geoBottom,0, 800 } }
4960 static const SvxMSDffTextRectangles mso_sptFlowChartAlternateProcessTextRect[] =
4962 { { 4 MSO_I, 6 MSO_I }, { 5 MSO_I, 7 MSO_I } }
4964 static const mso_CustomShape msoFlowChartAlternateProcess =
4966 (SvxMSDffVertPair*)mso_sptFlowChartAlternateProcessVert, SAL_N_ELEMENTS( mso_sptFlowChartAlternateProcessVert ),
4967 (sal_uInt16*)mso_sptFlowChartAlternateProcessSegm, sizeof( mso_sptFlowChartAlternateProcessSegm ) >> 1,
4968 (SvxMSDffCalculationData*)mso_sptFlowChartAlternateProcessCalc, SAL_N_ELEMENTS( mso_sptFlowChartAlternateProcessCalc ),
4969 NULL,
4970 (SvxMSDffTextRectangles*)mso_sptFlowChartAlternateProcessTextRect, SAL_N_ELEMENTS( mso_sptFlowChartAlternateProcessTextRect ),
4971 21600, 21600,
4972 MIN_INT32, MIN_INT32,
4973 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
4974 NULL, 0 // handles
4977 static const SvxMSDffVertPair mso_sptFlowChartDecisionVert[] =
4979 { 0, 10800 }, { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 10800 }
4981 static const SvxMSDffTextRectangles mso_sptFlowChartDecisionTextRect[] =
4983 { { 5400, 5400 }, { 16200, 16200 } }
4985 static const mso_CustomShape msoFlowChartDecision =
4987 (SvxMSDffVertPair*)mso_sptFlowChartDecisionVert, SAL_N_ELEMENTS( mso_sptFlowChartDecisionVert ),
4988 NULL, 0,
4989 NULL, 0,
4990 NULL,
4991 (SvxMSDffTextRectangles*)mso_sptFlowChartDecisionTextRect, SAL_N_ELEMENTS( mso_sptFlowChartDecisionTextRect ),
4992 21600, 21600,
4993 MIN_INT32, MIN_INT32,
4994 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
4995 NULL, 0 // handles
4998 static const SvxMSDffVertPair mso_sptFlowChartInputOutputVert[] =
5000 { 4230, 0 }, { 21600, 0 }, { 17370, 21600 }, { 0, 21600 }, { 4230, 0 }
5002 static const SvxMSDffTextRectangles mso_sptFlowChartInputOutputTextRect[] =
5004 { { 4230, 0 }, { 17370, 21600 } }
5006 static const SvxMSDffVertPair mso_sptFlowChartInputOutputGluePoints[] =
5008 { 12960, 0 }, { 10800, 0 }, { 2160, 10800 }, { 8600, 21600 }, { 10800, 21600 }, { 19400, 10800 }
5010 static const mso_CustomShape msoFlowChartInputOutput =
5012 (SvxMSDffVertPair*)mso_sptFlowChartInputOutputVert, SAL_N_ELEMENTS( mso_sptFlowChartInputOutputVert ),
5013 NULL, 0,
5014 NULL, 0,
5015 NULL,
5016 (SvxMSDffTextRectangles*)mso_sptFlowChartInputOutputTextRect, SAL_N_ELEMENTS( mso_sptFlowChartInputOutputTextRect ),
5017 21600, 21600,
5018 MIN_INT32, MIN_INT32,
5019 (SvxMSDffVertPair*)mso_sptFlowChartInputOutputGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartInputOutputGluePoints ),
5020 NULL, 0 // handles
5023 static const SvxMSDffVertPair mso_sptFlowChartPredefinedProcessVert[] =
5025 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
5027 { 2540, 0 }, { 2540, 21600 },
5029 { 21600 - 2540, 0 }, { 21600 - 2540, 21600 }
5031 static const sal_uInt16 mso_sptFlowChartPredefinedProcessSegm[] =
5033 0x4000, 0x0003, 0x6000, 0x8000,
5034 0x4000, 0x0001, 0x8000,
5035 0x4000, 0x0001, 0x8000
5037 static const SvxMSDffTextRectangles mso_sptFlowChartPredefinedProcessTextRect[] =
5039 { { 2540, 0 }, { 21600 - 2540, 21600 } }
5041 static const mso_CustomShape msoFlowChartPredefinedProcess =
5043 (SvxMSDffVertPair*)mso_sptFlowChartPredefinedProcessVert, SAL_N_ELEMENTS( mso_sptFlowChartPredefinedProcessVert ),
5044 (sal_uInt16*)mso_sptFlowChartPredefinedProcessSegm, sizeof( mso_sptFlowChartPredefinedProcessSegm ) >> 1,
5045 NULL, 0,
5046 NULL,
5047 (SvxMSDffTextRectangles*)mso_sptFlowChartPredefinedProcessTextRect, SAL_N_ELEMENTS( mso_sptFlowChartPredefinedProcessTextRect ),
5048 21600, 21600,
5049 MIN_INT32, MIN_INT32,
5050 NULL, 0,
5051 NULL, 0 // handles
5054 static const SvxMSDffVertPair mso_sptFlowChartInternalStorageVert[] =
5056 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
5058 { 4230, 0 }, { 4230, 21600 },
5060 { 0, 4230 }, { 21600, 4230 }
5062 static const sal_uInt16 mso_sptFlowChartInternalStorageSegm[] =
5064 0x4000, 0x0003, 0x6000, 0x8000,
5065 0x4000, 0x0001, 0x8000,
5066 0x4000, 0x0001, 0x8000
5068 static const SvxMSDffTextRectangles mso_sptFlowChartInternalStorageTextRect[] =
5070 { { 4230, 4230 }, { 21600, 21600 } }
5072 static const mso_CustomShape msoFlowChartInternalStorage =
5074 (SvxMSDffVertPair*)mso_sptFlowChartInternalStorageVert, SAL_N_ELEMENTS( mso_sptFlowChartInternalStorageVert ),
5075 (sal_uInt16*)mso_sptFlowChartInternalStorageSegm, sizeof( mso_sptFlowChartInternalStorageSegm ) >> 1,
5076 NULL, 0,
5077 NULL,
5078 (SvxMSDffTextRectangles*)mso_sptFlowChartInternalStorageTextRect, SAL_N_ELEMENTS( mso_sptFlowChartInternalStorageTextRect ),
5079 21600, 21600,
5080 MIN_INT32, MIN_INT32,
5081 NULL, 0,
5082 NULL, 0 // handles
5085 static const SvxMSDffVertPair mso_sptFlowChartDocumentVert[] =
5087 { 0, 0 }, { 21600, 0 }, { 21600, 17360 },
5088 { 13050, 17220 }, { 13340, 20770 }, { 5620, 21600 }, // ccp
5089 { 2860, 21100 }, { 1850, 20700 }, { 0, 20120 } // ccp
5091 static const sal_uInt16 mso_sptFlowChartDocumentSegm[] =
5093 0x4000, 0x0002, 0x2002, 0x6000, 0x8000
5095 static const SvxMSDffTextRectangles mso_sptFlowChartDocumentTextRect[] =
5097 { { 0, 0 }, { 21600, 17360 } }
5099 static const SvxMSDffVertPair mso_sptFlowChartDocumentGluePoints[] =
5101 { 10800, 0 }, { 0, 10800 }, { 10800, 20320 }, { 21600, 10800 }
5103 static const mso_CustomShape msoFlowChartDocument =
5105 (SvxMSDffVertPair*)mso_sptFlowChartDocumentVert, SAL_N_ELEMENTS( mso_sptFlowChartDocumentVert ),
5106 (sal_uInt16*)mso_sptFlowChartDocumentSegm, sizeof( mso_sptFlowChartDocumentSegm ) >> 1,
5107 NULL, 0,
5108 NULL,
5109 (SvxMSDffTextRectangles*)mso_sptFlowChartDocumentTextRect, SAL_N_ELEMENTS( mso_sptFlowChartDocumentTextRect ),
5110 21600, 21600,
5111 MIN_INT32, MIN_INT32,
5112 (SvxMSDffVertPair*)mso_sptFlowChartDocumentGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartDocumentGluePoints ),
5113 NULL, 0 // handles
5116 static const SvxMSDffVertPair mso_sptFlowChartMultidocumentVert[] =
5118 { 0, 3600 }, { 1500, 3600 }, { 1500, 1800 }, { 3000, 1800 },
5119 { 3000, 0 }, { 21600, 0 }, { 21600, 14409 }, { 21600 - 1500, 14409 },
5120 { 21600 - 1500, 14409 + 1800 }, { 21600 - 3000, 14409 + 1800 }, { 21600 - 3000, 14409 + 3600 },
5121 { 11610, 14293 + 3600 }, { 11472, 17239 + 3600 }, { 4833, 17928 + 3600 }, // ccp
5122 { 2450, 17513 + 3600 }, { 1591, 17181 + 3600 }, { 0, 16700 + 3600 }, // ccp
5124 { 1500, 3600 }, { 21600 - 3000, 3600 }, { 21600 - 3000, 14409 + 1800 },
5126 { 3000, 1800 }, { 21600 - 1500, 1800 }, { 21600 - 1500, 14409 }
5128 static const sal_uInt16 mso_sptFlowChartMultidocumentSegm[] =
5130 0x4000, 0x000a, 0x2002, 0x6000, 0x8000,
5131 0x4000, 0xaa00, 0x0002, 0x8000, // NO FILL
5132 0x4000, 0xaa00, 0x0002, 0x8000 // NO FILL
5134 static const SvxMSDffTextRectangles mso_sptFlowChartMultidocumentTextRect[] =
5136 { { 0, 3600 }, { 21600 - 3000, 14409 + 3600 } }
5138 static const SvxMSDffVertPair mso_sptFlowChartMultidocumentGluePoints[] =
5140 { 10800, 0 }, { 0, 10800 }, { 10800, 19890 }, { 21600, 10800 }
5142 static const mso_CustomShape msoFlowChartMultidocument =
5144 (SvxMSDffVertPair*)mso_sptFlowChartMultidocumentVert, SAL_N_ELEMENTS( mso_sptFlowChartMultidocumentVert ),
5145 (sal_uInt16*)mso_sptFlowChartMultidocumentSegm, sizeof( mso_sptFlowChartMultidocumentSegm ) >> 1,
5146 NULL, 0,
5147 NULL,
5148 (SvxMSDffTextRectangles*)mso_sptFlowChartMultidocumentTextRect, SAL_N_ELEMENTS( mso_sptFlowChartMultidocumentTextRect ),
5149 21600, 21600,
5150 MIN_INT32, MIN_INT32,
5151 (SvxMSDffVertPair*)mso_sptFlowChartMultidocumentGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartMultidocumentGluePoints ),
5152 NULL, 0 // handles
5155 static const SvxMSDffVertPair mso_sptFlowChartTerminatorVert[] =
5157 { 3470, 21600 }, { 0, 10800 }, { 3470, 0 }, { 18130, 0 },
5158 { 21600, 10800 }, { 18130, 21600 }
5160 static const sal_uInt16 mso_sptFlowChartTerminatorSegm[] =
5162 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000
5164 static const SvxMSDffTextRectangles mso_sptFlowChartTerminatorTextRect[] =
5166 { { 1060, 3180 }, { 20540, 18420 } }
5168 static const mso_CustomShape msoFlowChartTerminator =
5170 (SvxMSDffVertPair*)mso_sptFlowChartTerminatorVert, SAL_N_ELEMENTS( mso_sptFlowChartTerminatorVert ),
5171 (sal_uInt16*)mso_sptFlowChartTerminatorSegm, sizeof( mso_sptFlowChartTerminatorSegm ) >> 1,
5172 NULL, 0,
5173 NULL,
5174 (SvxMSDffTextRectangles*)mso_sptFlowChartTerminatorTextRect, SAL_N_ELEMENTS( mso_sptFlowChartTerminatorTextRect ),
5175 21600, 21600,
5176 MIN_INT32, MIN_INT32,
5177 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
5178 NULL, 0 // handles
5181 static const SvxMSDffVertPair mso_sptFlowChartPreparationVert[] =
5183 { 4350, 0 }, { 17250, 0 }, { 21600, 10800 }, { 17250, 21600 },
5184 { 4350, 21600 }, { 0, 10800 }, { 4350, 0 }
5186 static const SvxMSDffTextRectangles mso_sptFlowChartPreparationTextRect[] =
5188 { { 4350, 0 }, { 17250, 21600 } }
5190 static const mso_CustomShape msoFlowChartPreparation =
5192 (SvxMSDffVertPair*)mso_sptFlowChartPreparationVert, SAL_N_ELEMENTS( mso_sptFlowChartPreparationVert ),
5193 NULL, 0,
5194 NULL, 0,
5195 NULL,
5196 (SvxMSDffTextRectangles*)mso_sptFlowChartPreparationTextRect, SAL_N_ELEMENTS( mso_sptFlowChartPreparationTextRect ),
5197 21600, 21600,
5198 MIN_INT32, MIN_INT32,
5199 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
5200 NULL, 0 // handles
5203 static const SvxMSDffVertPair mso_sptFlowChartManualInputVert[] =
5205 { 0, 4300 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 4300 }
5207 static const SvxMSDffTextRectangles mso_sptFlowChartManualInputTextRect[] =
5209 { { 0, 4300 }, { 21600, 21600 } }
5211 static const SvxMSDffVertPair mso_sptFlowChartManualInputGluePoints[] =
5213 { 10800, 2150 }, { 0, 10800 }, { 10800, 19890 }, { 21600, 10800 }
5215 static const mso_CustomShape msoFlowChartManualInput =
5217 (SvxMSDffVertPair*)mso_sptFlowChartManualInputVert, SAL_N_ELEMENTS( mso_sptFlowChartManualInputVert ),
5218 NULL, 0,
5219 NULL, 0,
5220 NULL,
5221 (SvxMSDffTextRectangles*)mso_sptFlowChartManualInputTextRect, SAL_N_ELEMENTS( mso_sptFlowChartManualInputTextRect ),
5222 21600, 21600,
5223 MIN_INT32, MIN_INT32,
5224 (SvxMSDffVertPair*)mso_sptFlowChartManualInputGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartManualInputGluePoints ),
5225 NULL, 0 // handles
5228 static const SvxMSDffVertPair mso_sptFlowChartManualOperationVert[] =
5230 { 0, 0 }, { 21600, 0 }, { 17250, 21600 }, { 4350, 21600 }, { 0, 0 }
5232 static const SvxMSDffTextRectangles mso_sptFlowChartManualOperationTextRect[] =
5234 { { 4350, 0 }, { 17250, 21600 } }
5236 static const SvxMSDffVertPair mso_sptFlowChartManualOperationGluePoints[] =
5238 { 10800, 0 }, { 2160, 10800 }, { 10800, 21600 }, { 19440, 10800 }
5240 static const mso_CustomShape msoFlowChartManualOperation =
5242 (SvxMSDffVertPair*)mso_sptFlowChartManualOperationVert, SAL_N_ELEMENTS( mso_sptFlowChartManualOperationVert ),
5243 NULL, 0,
5244 NULL, 0,
5245 NULL,
5246 (SvxMSDffTextRectangles*)mso_sptFlowChartManualOperationTextRect, SAL_N_ELEMENTS( mso_sptFlowChartManualOperationTextRect ),
5247 21600, 21600,
5248 MIN_INT32, MIN_INT32,
5249 (SvxMSDffVertPair*)mso_sptFlowChartManualOperationGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartManualOperationGluePoints ),
5250 NULL, 0 // handles
5253 static const SvxMSDffVertPair mso_sptFlowChartConnectorVert[] =
5255 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 }
5257 static const sal_uInt16 mso_sptFlowChartConnectorSegm[] =
5259 0xa203, 0x6000, 0x8000
5261 static const SvxMSDffTextRectangles mso_sptFlowChartConnectorTextRect[] =
5263 { { 3180, 3180 }, { 18420, 18420 } }
5265 static const mso_CustomShape msoFlowChartConnector =
5267 (SvxMSDffVertPair*)mso_sptFlowChartConnectorVert, SAL_N_ELEMENTS( mso_sptFlowChartConnectorVert ),
5268 (sal_uInt16*)mso_sptFlowChartConnectorSegm, sizeof( mso_sptFlowChartConnectorSegm ) >> 1,
5269 NULL, 0,
5270 NULL,
5271 (SvxMSDffTextRectangles*)mso_sptFlowChartConnectorTextRect, SAL_N_ELEMENTS( mso_sptFlowChartConnectorTextRect ),
5272 21600, 21600,
5273 MIN_INT32, MIN_INT32,
5274 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
5275 NULL, 0 // handles
5278 static const SvxMSDffVertPair mso_sptFlowChartOffpageConnectorVert[] =
5280 { 0, 0 }, { 21600, 0 }, { 21600, 17150 }, { 10800, 21600 },
5281 { 0, 17150 }, { 0, 0 }
5283 static const SvxMSDffTextRectangles mso_sptFlowChartOffpageConnectorTextRect[] =
5285 { { 0, 0 }, { 21600, 17150 } }
5287 static const mso_CustomShape msoFlowChartOffpageConnector =
5289 (SvxMSDffVertPair*)mso_sptFlowChartOffpageConnectorVert, SAL_N_ELEMENTS( mso_sptFlowChartOffpageConnectorVert ),
5290 NULL, 0,
5291 NULL, 0,
5292 NULL,
5293 (SvxMSDffTextRectangles*)mso_sptFlowChartOffpageConnectorTextRect, SAL_N_ELEMENTS( mso_sptFlowChartOffpageConnectorTextRect ),
5294 21600, 21600,
5295 MIN_INT32, MIN_INT32,
5296 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
5297 NULL, 0 // handles
5300 static const SvxMSDffVertPair mso_sptFlowChartPunchedCardVert[] =
5302 { 4300, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
5303 { 0, 4300 }, { 4300, 0 }
5305 static const SvxMSDffTextRectangles mso_sptFlowChartPunchedCardTextRect[] =
5307 { { 0, 4300 }, { 21600, 21600 } }
5309 static const mso_CustomShape msoFlowChartPunchedCard =
5311 (SvxMSDffVertPair*)mso_sptFlowChartPunchedCardVert, SAL_N_ELEMENTS( mso_sptFlowChartPunchedCardVert ),
5312 NULL, 0,
5313 NULL, 0,
5314 NULL,
5315 (SvxMSDffTextRectangles*)mso_sptFlowChartPunchedCardTextRect, SAL_N_ELEMENTS( mso_sptFlowChartPunchedCardTextRect ),
5316 21600, 21600,
5317 MIN_INT32, MIN_INT32,
5318 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
5319 NULL, 0 // handles
5322 static const SvxMSDffVertPair mso_sptFlowChartPunchedTapeVert[] =
5324 { 0, 2230 }, // p
5325 { 820, 3990 }, { 3410, 3980 }, { 5370, 4360 }, // ccp
5326 { 7430, 4030 }, { 10110, 3890 }, { 10690, 2270 }, // ccp
5327 { 11440, 300 }, { 14200, 160 }, { 16150, 0 }, // ccp
5328 { 18670, 170 }, { 20690, 390 }, { 21600, 2230 }, // ccp
5329 { 21600, 19420 }, // p
5330 { 20640, 17510 }, { 18320, 17490 }, { 16140, 17240 }, // ccp
5331 { 14710, 17370 }, { 11310, 17510 }, { 10770, 19430 }, // ccp
5332 { 10150, 21150 }, { 7380, 21290 }, { 5290, 21600 }, // ccp
5333 { 3220, 21250 }, { 610, 21130 }, { 0, 19420 } // ccp
5335 static const sal_uInt16 mso_sptFlowChartPunchedTapeSegm[] =
5337 0x4000, 0x2004, 0x0001, 0x2004, 0x6000, 0x8000
5339 static const SvxMSDffTextRectangles mso_sptFlowChartPunchedTapeTextRect[] =
5341 { { 0, 4360 }, { 21600, 17240 } }
5343 static const SvxMSDffVertPair mso_sptFlowChartPunchedTapeGluePoints[] =
5345 { 10800, 2020 }, { 0, 10800 }, { 10800, 19320 }, { 21600, 10800 }
5347 static const mso_CustomShape msoFlowChartPunchedTape =
5349 (SvxMSDffVertPair*)mso_sptFlowChartPunchedTapeVert, SAL_N_ELEMENTS( mso_sptFlowChartPunchedTapeVert ),
5350 (sal_uInt16*)mso_sptFlowChartPunchedTapeSegm, sizeof( mso_sptFlowChartPunchedTapeSegm ) >> 1,
5351 NULL, 0,
5352 NULL,
5353 (SvxMSDffTextRectangles*)mso_sptFlowChartPunchedTapeTextRect, SAL_N_ELEMENTS( mso_sptFlowChartPunchedTapeTextRect ),
5354 21600, 21600,
5355 MIN_INT32, MIN_INT32,
5356 (SvxMSDffVertPair*)mso_sptFlowChartPunchedTapeGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartPunchedTapeGluePoints ),
5357 NULL, 0 // handles
5360 static const SvxMSDffVertPair mso_sptFlowChartSummingJunctionVert[] =
5362 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
5364 { 3100, 3100 },
5365 { 18500, 18500 },
5367 { 3100, 18500 },
5368 { 18500, 3100 }
5370 static const sal_uInt16 mso_sptFlowChartSummingJunctionSegm[] =
5372 0xa203, 0x6000, 0x8000,
5373 0x4000, 0x0001, 0x8000,
5374 0x4000, 0x0001, 0x8000
5376 static const SvxMSDffTextRectangles mso_sptFlowChartSummingJunctionTextRect[] =
5378 { { 3100, 3100 }, { 18500, 18500 } }
5380 static const mso_CustomShape msoFlowChartSummingJunction =
5382 (SvxMSDffVertPair*)mso_sptFlowChartSummingJunctionVert, SAL_N_ELEMENTS( mso_sptFlowChartSummingJunctionVert ),
5383 (sal_uInt16*)mso_sptFlowChartSummingJunctionSegm, sizeof( mso_sptFlowChartSummingJunctionSegm ) >> 1,
5384 NULL, 0,
5385 NULL,
5386 (SvxMSDffTextRectangles*)mso_sptFlowChartSummingJunctionTextRect, SAL_N_ELEMENTS( mso_sptFlowChartSummingJunctionTextRect ),
5387 21600, 21600,
5388 MIN_INT32, MIN_INT32,
5389 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
5390 NULL, 0 // handles
5393 static const SvxMSDffVertPair mso_sptFlowChartOrVert[] =
5395 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
5397 { 0, 10800 }, { 21600, 10800 },
5399 { 10800, 0 }, { 10800, 21600 }
5401 static const sal_uInt16 mso_sptFlowChartOrSegm[] =
5403 0xa203, 0x6000, 0x8000,
5404 0x4000, 0x0001, 0x8000,
5405 0x4000, 0x0001, 0x8000
5407 static const SvxMSDffTextRectangles mso_sptFlowChartOrTextRect[] =
5409 { { 3100, 3100 }, { 18500, 18500 } }
5411 static const mso_CustomShape msoFlowChartOr =
5413 (SvxMSDffVertPair*)mso_sptFlowChartOrVert, SAL_N_ELEMENTS( mso_sptFlowChartOrVert ),
5414 (sal_uInt16*)mso_sptFlowChartOrSegm, sizeof( mso_sptFlowChartOrSegm ) >> 1,
5415 NULL, 0,
5416 NULL,
5417 (SvxMSDffTextRectangles*)mso_sptFlowChartOrTextRect, SAL_N_ELEMENTS( mso_sptFlowChartOrTextRect ),
5418 21600, 21600,
5419 MIN_INT32, MIN_INT32,
5420 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, SAL_N_ELEMENTS( mso_sptEllipseGluePoints ),
5421 NULL, 0 // handles
5424 static const SvxMSDffVertPair mso_sptFlowChartCollateVert[] =
5426 { 0, 0 }, { 21600, 21600 }, { 0, 21600 }, { 21600, 0 }, { 0, 0 }
5428 static const SvxMSDffTextRectangles mso_sptFlowChartCollateTextRect[] =
5430 { { 5400, 5400 }, { 16200, 16200 } }
5432 static const SvxMSDffVertPair mso_sptFlowChartCollateGluePoints[] =
5434 { 10800, 0 }, { 10800, 10800 }, { 10800, 21600 }
5436 static const mso_CustomShape msoFlowChartCollate =
5438 (SvxMSDffVertPair*)mso_sptFlowChartCollateVert, SAL_N_ELEMENTS( mso_sptFlowChartCollateVert ),
5439 NULL, 0,
5440 NULL, 0,
5441 NULL,
5442 (SvxMSDffTextRectangles*)mso_sptFlowChartCollateTextRect, SAL_N_ELEMENTS( mso_sptFlowChartCollateTextRect ),
5443 21600, 21600,
5444 MIN_INT32, MIN_INT32,
5445 (SvxMSDffVertPair*)mso_sptFlowChartCollateGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartCollateGluePoints ),
5446 NULL, 0 // handles
5449 static const SvxMSDffVertPair mso_sptFlowChartSortVert[] =
5451 { 0, 10800 }, { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 },
5453 { 0, 10800 }, { 21600, 10800 }
5455 static const sal_uInt16 mso_sptFlowChartSortSegm[] =
5457 0x4000, 0x0003, 0x6000, 0x8000,
5458 0x4000, 0x0001, 0x8000
5460 static const SvxMSDffTextRectangles mso_sptFlowChartSortTextRect[] =
5462 { { 5400, 5400 }, { 16200, 16200 } }
5464 static const mso_CustomShape msoFlowChartSort =
5466 (SvxMSDffVertPair*)mso_sptFlowChartSortVert, SAL_N_ELEMENTS( mso_sptFlowChartSortVert ),
5467 (sal_uInt16*)mso_sptFlowChartSortSegm, sizeof( mso_sptFlowChartSortSegm ) >> 1,
5468 NULL, 0,
5469 NULL,
5470 (SvxMSDffTextRectangles*)mso_sptFlowChartSortTextRect, SAL_N_ELEMENTS( mso_sptFlowChartSortTextRect ),
5471 21600, 21600,
5472 MIN_INT32, MIN_INT32,
5473 NULL, 0,
5474 NULL, 0 // handles
5477 static const SvxMSDffVertPair mso_sptFlowChartExtractVert[] =
5479 { 10800, 0 }, { 21600, 21600 }, { 0, 21600 }, { 10800, 0 }
5481 static const SvxMSDffTextRectangles mso_sptFlowChartExtractTextRect[] =
5483 { { 5400, 10800 }, { 16200, 21600 } }
5485 static const SvxMSDffVertPair mso_sptFlowChartExtractGluePoints[] =
5487 { 10800, 0 }, { 5400, 10800 }, { 10800, 21600 }, { 16200, 10800 }
5489 static const mso_CustomShape msoFlowChartExtract =
5491 (SvxMSDffVertPair*)mso_sptFlowChartExtractVert, SAL_N_ELEMENTS( mso_sptFlowChartExtractVert ),
5492 NULL, 0,
5493 NULL, 0,
5494 NULL,
5495 (SvxMSDffTextRectangles*)mso_sptFlowChartExtractTextRect, SAL_N_ELEMENTS( mso_sptFlowChartExtractTextRect ),
5496 21600, 21600,
5497 MIN_INT32, MIN_INT32,
5498 (SvxMSDffVertPair*)mso_sptFlowChartExtractGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartExtractGluePoints ),
5499 NULL, 0 // handles
5502 static const SvxMSDffVertPair mso_sptFlowChartMergeVert[] =
5504 { 0, 0 }, { 21600, 0 }, { 10800, 21600 }, { 0, 0 }
5506 static const SvxMSDffTextRectangles mso_sptFlowChartMergeTextRect[] =
5508 { { 5400, 0 }, { 16200, 10800 } }
5510 static const mso_CustomShape msoFlowChartMerge =
5512 (SvxMSDffVertPair*)mso_sptFlowChartMergeVert, SAL_N_ELEMENTS( mso_sptFlowChartMergeVert ),
5513 NULL, 0,
5514 NULL, 0,
5515 NULL,
5516 (SvxMSDffTextRectangles*)mso_sptFlowChartMergeTextRect, SAL_N_ELEMENTS( mso_sptFlowChartMergeTextRect ),
5517 21600, 21600,
5518 MIN_INT32, MIN_INT32,
5519 (SvxMSDffVertPair*)mso_sptFlowChartExtractGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartExtractGluePoints ),
5520 NULL, 0 // handles
5523 static const SvxMSDffVertPair mso_sptFlowChartOnlineStorageVert[] =
5525 { 3600, 21600 }, { 0, 10800 }, { 3600, 0 }, { 21600, 0 },
5526 { 18000, 10800 }, { 21600, 21600 }
5528 static const sal_uInt16 mso_sptFlowChartOnlineStorageSegm[] =
5530 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000
5532 static const SvxMSDffTextRectangles mso_sptFlowChartOnlineStorageTextRect[] =
5534 { { 3600, 0 }, { 18000, 21600 } }
5536 static const SvxMSDffVertPair mso_sptFlowChartOnlineStorageGluePoints[] =
5538 { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 18000, 10800 }
5540 static const mso_CustomShape msoFlowChartOnlineStorage =
5542 (SvxMSDffVertPair*)mso_sptFlowChartOnlineStorageVert, SAL_N_ELEMENTS( mso_sptFlowChartOnlineStorageVert ),
5543 (sal_uInt16*)mso_sptFlowChartOnlineStorageSegm, sizeof( mso_sptFlowChartOnlineStorageSegm ) >> 1,
5544 NULL, 0,
5545 NULL,
5546 (SvxMSDffTextRectangles*)mso_sptFlowChartOnlineStorageTextRect, SAL_N_ELEMENTS( mso_sptFlowChartOnlineStorageTextRect ),
5547 21600, 21600,
5548 MIN_INT32, MIN_INT32,
5549 (SvxMSDffVertPair*)mso_sptFlowChartOnlineStorageGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartOnlineStorageGluePoints ),
5550 NULL, 0 // handles
5553 static const SvxMSDffVertPair mso_sptFlowChartDelayVert[] =
5555 { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 21600 },
5556 { 0, 0 }
5558 static const sal_uInt16 mso_sptFlowChartDelaySegm[] =
5560 0x4000, 0xa702, 0x0002, 0x6000, 0x8000
5562 static const SvxMSDffTextRectangles mso_sptFlowChartDelayTextRect[] =
5564 { { 0, 3100 }, { 18500, 18500 } }
5566 static const mso_CustomShape msoFlowChartDelay =
5568 (SvxMSDffVertPair*)mso_sptFlowChartDelayVert, SAL_N_ELEMENTS( mso_sptFlowChartDelayVert ),
5569 (sal_uInt16*)mso_sptFlowChartDelaySegm, sizeof( mso_sptFlowChartDelaySegm ) >> 1,
5570 NULL, 0,
5571 NULL,
5572 (SvxMSDffTextRectangles*)mso_sptFlowChartDelayTextRect, SAL_N_ELEMENTS( mso_sptFlowChartDelayTextRect ),
5573 21600, 21600,
5574 MIN_INT32, MIN_INT32,
5575 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
5576 NULL, 0 // handles
5579 static const SvxMSDffVertPair mso_sptFlowChartMagneticTapeVert[] =
5581 { 20980, 18150 }, { 20980, 21600 }, { 10670, 21600 },
5582 { 4770, 21540 }, { 0, 16720 }, { 0, 10800 }, // ccp
5583 { 0, 4840 }, { 4840, 0 }, { 10800, 0 }, // ccp
5584 { 16740, 0 }, { 21600, 4840 }, { 21600, 10800 }, // ccp
5585 { 21600, 13520 }, { 20550, 16160 }, { 18670, 18170 } // ccp
5587 static const sal_uInt16 mso_sptFlowChartMagneticTapeSegm[] =
5589 0x4000, 0x0002, 0x2004, 0x6000, 0x8000
5591 static const SvxMSDffTextRectangles mso_sptFlowChartMagneticTapeTextRect[] =
5593 { { 3100, 3100 }, { 18500, 18500 } }
5595 static const mso_CustomShape msoFlowChartMagneticTape =
5597 (SvxMSDffVertPair*)mso_sptFlowChartMagneticTapeVert, SAL_N_ELEMENTS( mso_sptFlowChartMagneticTapeVert ),
5598 (sal_uInt16*)mso_sptFlowChartMagneticTapeSegm, sizeof( mso_sptFlowChartMagneticTapeSegm ) >> 1,
5599 NULL, 0,
5600 NULL,
5601 (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticTapeTextRect, SAL_N_ELEMENTS( mso_sptFlowChartMagneticTapeTextRect ),
5602 21600, 21600,
5603 MIN_INT32, MIN_INT32,
5604 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
5605 NULL, 0 // handles
5608 static const SvxMSDffVertPair mso_sptFlowChartMagneticDiskVert[] =
5610 { 0, 3400 }, { 10800, 0 }, { 21600, 3400 }, { 21600, 18200 },
5611 { 10800, 21600 }, { 0, 18200 },
5613 { 0, 3400 }, { 10800, 6800 }, { 21600, 3400 }
5615 static const sal_uInt16 mso_sptFlowChartMagneticDiskSegm[] =
5617 0x4000, 0xa802, 0x0001, 0xa802, 0x6000, 0x8000,
5618 0x4000, 0xa802, 0x8000
5620 static const SvxMSDffTextRectangles mso_sptFlowChartMagneticDiskTextRect[] =
5622 { { 0, 6800 }, { 21600, 18200 } }
5624 static const SvxMSDffVertPair mso_sptFlowChartMagneticDiskGluePoints[] =
5626 { 10800, 6800 }, { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }
5628 static const mso_CustomShape msoFlowChartMagneticDisk =
5630 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDiskVert, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDiskVert ),
5631 (sal_uInt16*)mso_sptFlowChartMagneticDiskSegm, sizeof( mso_sptFlowChartMagneticDiskSegm ) >> 1,
5632 NULL, 0,
5633 NULL,
5634 (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticDiskTextRect, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDiskTextRect ),
5635 21600, 21600,
5636 MIN_INT32, MIN_INT32,
5637 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDiskGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDiskGluePoints ),
5638 NULL, 0 // handles
5641 static const SvxMSDffVertPair mso_sptFlowChartMagneticDrumVert[] =
5643 { 18200, 0 }, { 21600, 10800 }, { 18200, 21600 }, { 3400, 21600 },
5644 { 0, 10800 }, { 3400, 0 },
5646 { 18200, 0 }, { 14800, 10800 }, { 18200, 21600 }
5648 static const sal_uInt16 mso_sptFlowChartMagneticDrumSegm[] =
5650 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000,
5651 0x4000, 0xa702, 0x8000
5653 static const SvxMSDffTextRectangles mso_sptFlowChartMagneticDrumTextRect[] =
5655 { { 3400, 0 }, { 14800, 21600 } }
5657 static const SvxMSDffVertPair mso_sptFlowChartMagneticDrumGluePoints[] =
5659 { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 14800, 10800 }, { 21600, 10800 }
5661 static const mso_CustomShape msoFlowChartMagneticDrum =
5663 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDrumVert, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDrumVert ),
5664 (sal_uInt16*)mso_sptFlowChartMagneticDrumSegm, sizeof( mso_sptFlowChartMagneticDrumSegm ) >> 1,
5665 NULL, 0,
5666 NULL,
5667 (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticDrumTextRect, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDrumTextRect ),
5668 21600, 21600,
5669 MIN_INT32, MIN_INT32,
5670 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDrumGluePoints, SAL_N_ELEMENTS( mso_sptFlowChartMagneticDrumGluePoints ),
5671 NULL, 0 // handles
5674 static const SvxMSDffVertPair mso_sptFlowChartDisplayVert[] =
5676 { 3600, 0 }, { 17800, 0 }, { 21600, 10800 }, { 17800, 21600 },
5677 { 3600, 21600 }, { 0, 10800 }
5679 static const sal_uInt16 mso_sptFlowChartDisplaySegm[] =
5681 0x4000, 0x0001, 0xa702, 0x0002, 0x6000, 0x8000
5683 static const SvxMSDffTextRectangles mso_sptFlowChartDisplayTextRect[] =
5685 { { 3600, 0 }, { 17800, 21600 } }
5687 static const mso_CustomShape msoFlowChartDisplay =
5689 (SvxMSDffVertPair*)mso_sptFlowChartDisplayVert, SAL_N_ELEMENTS( mso_sptFlowChartDisplayVert ),
5690 (sal_uInt16*)mso_sptFlowChartDisplaySegm, sizeof( mso_sptFlowChartDisplaySegm ) >> 1,
5691 NULL, 0,
5692 NULL,
5693 (SvxMSDffTextRectangles*)mso_sptFlowChartDisplayTextRect, SAL_N_ELEMENTS( mso_sptFlowChartDisplayTextRect ),
5694 21600, 21600,
5695 MIN_INT32, MIN_INT32,
5696 (SvxMSDffVertPair*)mso_sptStandardGluePoints, SAL_N_ELEMENTS( mso_sptStandardGluePoints ),
5697 NULL, 0 // handles
5700 static const SvxMSDffVertPair mso_sptWedgeRectCalloutVert[] =
5702 { 0, 0 },
5703 { 0, 3590 }, { 2 MSO_I, 3 MSO_I }, { 0, 8970 },
5704 { 0, 12630 },{ 4 MSO_I, 5 MSO_I }, { 0, 18010 },
5705 { 0, 21600 },
5706 { 3590, 21600 }, { 6 MSO_I, 7 MSO_I }, { 8970, 21600 },
5707 { 12630, 21600 }, { 8 MSO_I, 9 MSO_I }, { 18010, 21600 },
5708 { 21600, 21600 },
5709 { 21600, 18010 }, { 10 MSO_I, 11 MSO_I }, { 21600, 12630 },
5710 { 21600, 8970 }, { 12 MSO_I, 13 MSO_I }, { 21600, 3590 },
5711 { 21600, 0 },
5712 { 18010, 0 }, { 14 MSO_I, 15 MSO_I }, { 12630, 0 },
5713 { 8970, 0 }, { 16 MSO_I, 17 MSO_I }, { 3590, 0 },
5714 { 0, 0 }
5716 static const SvxMSDffCalculationData mso_sptWedgeRectCalloutCalc[] =
5718 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } }, //0x400
5719 { 0x2000, { DFF_Prop_adjust2Value, 0,10800 } },
5720 { 0x6006, { 0x412, DFF_Prop_adjustValue, 0 } }, //0x402
5721 { 0x6006, { 0x412, DFF_Prop_adjust2Value, 6280 } },
5722 { 0x6006, { 0x417, DFF_Prop_adjustValue, 0 } }, //0x404
5723 { 0x6006, { 0x417, DFF_Prop_adjust2Value, 15320 } },
5724 { 0x6006, { 0x41a, DFF_Prop_adjustValue, 6280 } }, //0x406
5725 { 0x6006, { 0x41a, DFF_Prop_adjust2Value, 21600 } },
5726 { 0x6006, { 0x41d, DFF_Prop_adjustValue, 15320 } }, //0x408
5727 { 0x6006, { 0x41d, DFF_Prop_adjust2Value, 21600 } },
5728 { 0x6006, { 0x420, DFF_Prop_adjustValue, 21600 } }, //0x40a
5729 { 0x6006, { 0x420, DFF_Prop_adjust2Value, 15320 } },
5730 { 0x6006, { 0x422, DFF_Prop_adjustValue, 21600 } }, //0x40c
5731 { 0x6006, { 0x422, DFF_Prop_adjust2Value, 6280 } },
5732 { 0x6006, { 0x424, DFF_Prop_adjustValue, 15320 } }, //0x40e
5733 { 0x6006, { 0x424, DFF_Prop_adjust2Value, 0 } },
5734 { 0x6006, { 0x426, DFF_Prop_adjustValue, 6280 } }, //0x410
5735 { 0x6006, { 0x426, DFF_Prop_adjust2Value, 0 } },
5736 { 0xa006, { DFF_Prop_adjustValue, -1, 0x413 } }, //0x412
5737 { 0xa006, { 0x401, -1, 0x416 } },
5738 { 0x2003, { 0x400, 0, 0 } }, //0x414
5739 { 0x2003, { 0x401, 0, 0 } },
5740 { 0xa000, { 0x414, 0, 0x415 } }, //0x416
5741 { 0xa006, { DFF_Prop_adjustValue, -1, 0x418 } },
5742 { 0x6006, { 0x401, 0x416, -1 } }, //0x418
5743 { 0x2000, { DFF_Prop_adjust2Value, 0, 21600 } },
5744 { 0x6006, { 0x419, 0x41b, -1 } }, //0x41a
5745 { 0xa006, { 0x400, -1, 0x41c } },
5746 { 0xa000, { 0x415, 0, 0x414 } }, //0x41c
5747 { 0x6006, { 0x419, 0x41e, -1 } },
5748 { 0x6006, { 0x400, 0x41c, -1 } }, //0x41e
5749 { 0x2000, { DFF_Prop_adjustValue, 0, 21600 } },
5750 { 0x6006, { 0x41f, 0x421, -1 } }, //0x420
5751 { 0x6006, { 0x401, 0x416, -1 } },
5752 { 0x6006, { 0x41f, 0x423, -1 } }, //0x422
5753 { 0xa006, { 0x401, -1, 0x416 } },
5754 { 0xa006, { DFF_Prop_adjust2Value, -1, 0x425 } }, //0x424
5755 { 0x6006, { 0x400, 0x41c, -1 } },
5756 { 0xa006, { DFF_Prop_adjust2Value, -1, 0x427 } }, //0x426
5757 { 0xa006, { 0x400, -1, 0x41c } },
5758 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //0x428
5759 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }
5761 static const sal_Int32 mso_sptWedgeRectCalloutDefault[] =
5763 2, 1400, 25920
5765 static const SvxMSDffTextRectangles mso_sptWedgeRectCalloutTextRect[] =
5767 { { 0, 0 }, { 21600, 21600 } }
5769 static const SvxMSDffVertPair mso_sptWedgeRectCalloutGluePoints[] =
5771 { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }, { 40 MSO_I, 41 MSO_I }
5773 static const SvxMSDffHandle mso_sptCalloutHandle[] =
5777 0x100, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff
5780 static const mso_CustomShape msoWedgeRectCallout =
5782 (SvxMSDffVertPair*)mso_sptWedgeRectCalloutVert, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutVert ),
5783 NULL, 0,
5784 (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutCalc ),
5785 (sal_Int32*)mso_sptWedgeRectCalloutDefault,
5786 (SvxMSDffTextRectangles*)mso_sptWedgeRectCalloutTextRect, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutTextRect ),
5787 21600, 21600,
5788 MIN_INT32, MIN_INT32,
5789 (SvxMSDffVertPair*)mso_sptWedgeRectCalloutGluePoints, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutGluePoints ),
5790 (SvxMSDffHandle*)mso_sptCalloutHandle, SAL_N_ELEMENTS( mso_sptCalloutHandle ) // handles
5792 static const SvxMSDffVertPair mso_sptWedgeRRectCalloutVert[] =
5794 { 3590, 0 },
5795 { 0, 3590 },
5796 { 2 MSO_I, 3 MSO_I }, { 0, 8970 },
5797 { 0, 12630 },{ 4 MSO_I, 5 MSO_I }, { 0, 18010 },
5798 { 3590, 21600 },
5799 { 6 MSO_I, 7 MSO_I }, { 8970, 21600 },
5800 { 12630, 21600 }, { 8 MSO_I, 9 MSO_I }, { 18010, 21600 },
5801 { 21600, 18010 },
5802 { 10 MSO_I, 11 MSO_I }, { 21600, 12630 },
5803 { 21600, 8970 }, { 12 MSO_I, 13 MSO_I }, { 21600, 3590 },
5804 { 18010, 0 },
5805 { 14 MSO_I, 15 MSO_I }, { 12630, 0 },
5806 { 8970, 0 }, { 16 MSO_I, 17 MSO_I }
5808 static const sal_uInt16 mso_sptWedgeRRectCalloutSegm[] =
5810 0x4000, 0xa701, 0x0005, 0xa801, 0x0005, 0xa701, 0x0005, 0xa801, 0x0004, 0x6001, 0x8000
5812 static const SvxMSDffTextRectangles mso_sptWedgeRRectCalloutTextRect[] =
5814 { { 800, 800 }, { 20800, 20800 } }
5816 static const mso_CustomShape msoWedgeRRectCallout =
5818 (SvxMSDffVertPair*)mso_sptWedgeRRectCalloutVert, SAL_N_ELEMENTS( mso_sptWedgeRRectCalloutVert ),
5819 (sal_uInt16*)mso_sptWedgeRRectCalloutSegm, sizeof( mso_sptWedgeRRectCalloutSegm ) >> 1,
5820 (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutCalc ),
5821 (sal_Int32*)mso_sptWedgeRectCalloutDefault,
5822 (SvxMSDffTextRectangles*)mso_sptWedgeRRectCalloutTextRect, SAL_N_ELEMENTS( mso_sptWedgeRRectCalloutTextRect ),
5823 21600, 21600,
5824 MIN_INT32, MIN_INT32,
5825 NULL, 0,
5826 (SvxMSDffHandle*)mso_sptCalloutHandle, SAL_N_ELEMENTS( mso_sptCalloutHandle ) // handles
5828 static const SvxMSDffVertPair mso_sptBalloonVert[] =
5830 { 3590, 0 },
5831 { 0, 3590 },
5832 { 0, 14460 },
5833 { 3590, 18050 },
5834 { 40 MSO_I, 21600 }, { 5420, 18050 },
5835 { 18010, 18050 },
5836 { 21600, 14460 },
5837 { 21600, 3590 },
5838 { 18010, 0 }
5840 static const sal_uInt16 mso_sptBalloonSegm[] =
5842 0x4000, 0xa701, 0x0001, 0xa801, 0x0003, 0xa701, 0x0001, 0xa801, 0x6001, 0x8000
5844 static const SvxMSDffHandle mso_sptBalloonHandle[] =
5847 MSDFF_HANDLE_FLAGS_RANGE,
5848 0x100, 1, 10800, 10800, 0, 8990, MIN_INT32, 0x7fffffff
5851 static const SvxMSDffTextRectangles mso_sptBalloonTextRect[] =
5853 { { 800, 800 }, { 20800, 17250 } }
5855 static const mso_CustomShape msoBalloon =
5857 (SvxMSDffVertPair*)mso_sptBalloonVert, SAL_N_ELEMENTS( mso_sptBalloonVert ),
5858 (sal_uInt16*)mso_sptBalloonSegm, sizeof( mso_sptBalloonSegm ) >> 1,
5859 (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, SAL_N_ELEMENTS( mso_sptWedgeRectCalloutCalc ),
5860 (sal_Int32*)mso_sptWedgeRectCalloutDefault,
5861 (SvxMSDffTextRectangles*)mso_sptBalloonTextRect, SAL_N_ELEMENTS( mso_sptBalloonTextRect ),
5862 21600, 21600,
5863 MIN_INT32, MIN_INT32,
5864 NULL, 0,
5865 (SvxMSDffHandle*)mso_sptBalloonHandle, SAL_N_ELEMENTS( mso_sptBalloonHandle ) // handles
5867 static const SvxMSDffVertPair mso_sptWedgeEllipseCalloutVert[] =
5869 { 0, 0 }, { 21600, 21600 }, { 0x16 MSO_I, 0x17 MSO_I }, { 0x12 MSO_I, 0x13 MSO_I }, { 0xe MSO_I, 0xf MSO_I }
5871 static const sal_uInt16 mso_sptWedgeEllipseCalloutSegm[] =
5873 0xa504, 0x0001, 0x6001, 0x8000
5875 static const SvxMSDffCalculationData mso_sptWedgeEllipseCalloutCalc[] =
5877 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } }, // 00 rad x
5878 { 0x2000, { DFF_Prop_adjust2Value, 0, 10800 } }, // 01 rad y
5879 { 0x6001, { 0x400, 0x400, 1 } }, // 02 rad x^2
5880 { 0x6001, { 0x401, 0x401, 1 } }, // 03 rad y^2
5881 { 0x6000, { 0x402, 0x403, 0 } }, // 04
5882 { 0x200d, { 0x404, 0, 0 } }, // 05
5883 { 0x2000, { 0x405, 0, 10800 } }, // 06 > 0 ? spur needs to be drawn : 10800
5884 { 0x6008, { 0x400, 0x401, 0 } }, // 07 atan2 -> angle
5885 { 0x2000, { 0x407, 0, 10 } }, // 08
5886 { 0x2000, { 0x407, 10, 0 } }, // 09
5887 { 0x400a, { 10800, 0x407, 0 } }, // 0a
5888 { 0x4009, { 10800, 0x407, 0 } }, // 0b
5889 { 0x2000, { 0x40a, 10800, 0 } }, // 0c
5890 { 0x2000, { 0x40b, 10800, 0 } }, // 0d
5891 { 0xe006, { 0x406, DFF_Prop_adjustValue, 0x40c } }, // 0e
5892 { 0xe006, { 0x406, DFF_Prop_adjust2Value, 0x40d } },// 0f
5893 { 0x400a, { 10800, 0x408, 0 } }, // 10
5894 { 0x4009, { 10800, 0x408, 0 } }, // 11
5895 { 0x2000, { 0x410, 10800, 0 } }, // 12
5896 { 0x2000, { 0x411, 10800, 0 } }, // 13
5897 { 0x400a, { 10800, 0x409, 0 } }, // 14
5898 { 0x4009, { 10800, 0x409, 0 } }, // 15
5899 { 0x2000, { 0x414, 10800, 0 } }, // 16
5900 { 0x2000, { 0x415, 10800, 0 } } // 17
5902 static const sal_Int32 mso_sptWedgeEllipseCalloutDefault[] =
5904 2, 1350, 25920
5906 static const SvxMSDffVertPair mso_sptWedgeEllipseCalloutGluePoints[] =
5908 { 10800, 0 }, { 3160, 3160 }, { 0, 10800 }, { 3160, 18440 }, { 10800, 21600 }, { 18440, 18440 }, { 21600, 10800 }, { 18440, 3160 }, { 0xe MSO_I, 0xf MSO_I }
5910 static const SvxMSDffTextRectangles mso_sptWedgeEllipseCalloutTextRect[] =
5912 { { 3200, 3200 }, { 18400, 18400 } }
5914 static const mso_CustomShape msoWedgeEllipseCallout =
5916 (SvxMSDffVertPair*)mso_sptWedgeEllipseCalloutVert, SAL_N_ELEMENTS( mso_sptWedgeEllipseCalloutVert ),
5917 (sal_uInt16*)mso_sptWedgeEllipseCalloutSegm, sizeof( mso_sptWedgeEllipseCalloutSegm ) >> 1,
5918 (SvxMSDffCalculationData*)mso_sptWedgeEllipseCalloutCalc, SAL_N_ELEMENTS( mso_sptWedgeEllipseCalloutCalc ),
5919 (sal_Int32*)mso_sptWedgeEllipseCalloutDefault,
5920 (SvxMSDffTextRectangles*)mso_sptWedgeEllipseCalloutTextRect, SAL_N_ELEMENTS( mso_sptWedgeEllipseCalloutTextRect ),
5921 21600, 21600,
5922 MIN_INT32, MIN_INT32,
5923 (SvxMSDffVertPair*)mso_sptWedgeEllipseCalloutGluePoints, SAL_N_ELEMENTS( mso_sptWedgeEllipseCalloutGluePoints ),
5924 (SvxMSDffHandle*)mso_sptCalloutHandle, SAL_N_ELEMENTS( mso_sptCalloutHandle ) // handles
5927 static const SvxMSDffVertPair mso_sptCloudCalloutVert[] =
5929 { 1930,7160 }, // p
5930 { 1530,4490 }, { 3400,1970 }, { 5270,1970 }, // ccp
5931 { 5860,1950 }, { 6470,2210 }, { 6970,2600 }, // ccp
5932 { 7450,1390 }, { 8340,650 }, { 9340,650 }, // ccp
5933 { 10004,690 }, { 10710,1050 }, { 11210,1700 }, // ccp
5934 { 11570,630 }, { 12330,0 }, { 13150,0 }, // ccp
5935 { 13840,0 }, { 14470,460 }, { 14870,1160 }, // ccp
5936 { 15330,440 }, { 16020,0 }, { 16740,0 }, // ccp
5937 { 17910,0 }, { 18900,1130 }, { 19110,2710 }, // ccp
5938 { 20240,3150 }, { 21060,4580 }, { 21060,6220 }, // ccp
5939 { 21060,6720 }, { 21000,7200 }, { 20830,7660 }, // ccp
5940 { 21310,8460 }, { 21600,9450 }, { 21600,10460 }, // ccp
5941 { 21600,12750 }, { 20310,14680 }, { 18650,15010 }, // ccp
5942 { 18650,17200 }, { 17370,18920 }, { 15770,18920 }, // ccp
5943 { 15220,18920 }, { 14700,18710 }, { 14240,18310 }, // ccp
5944 { 13820,20240 }, { 12490,21600 }, { 11000,21600 }, // ccp
5945 { 9890,21600 }, { 8840,20790 }, { 8210,19510 }, // ccp
5946 { 7620,20000 }, { 7930,20290 }, { 6240,20290 }, // ccp
5947 { 4850,20290 }, { 3570,19280 }, { 2900,17640 }, // ccp
5948 { 1300,17600 }, { 480,16300 }, { 480,14660 }, // ccp
5949 { 480,13900 }, { 690,13210 }, { 1070,12640 }, // ccp
5950 { 380,12160 }, { 0,11210 }, { 0,10120 }, // ccp
5951 { 0,8590 }, { 840,7330 }, { 1930,7160 }, // ccp
5953 { 1930, 7160 }, { 1950, 7410 }, { 2040, 7690 }, { 2090, 7920 }, // pccp
5954 { 6970, 2600 }, { 7200, 2790 }, { 7480, 3050 }, { 7670, 3310 }, // pccp
5955 { 11210, 1700 }, { 11130, 1910 }, { 11080, 2160 }, { 11030, 2400 }, // pccp
5956 { 14870, 1160 }, { 14720, 1400 }, { 14640, 1720 }, { 14540, 2010 }, // pccp
5957 { 19110, 2710 }, { 19130, 2890 }, { 19230, 3290 }, { 19190, 3380 }, // pccp
5958 { 20830, 7660 }, { 20660, 8170 }, { 20430, 8620 }, { 20110, 8990 }, // pccp
5959 { 18660, 15010 }, { 18740, 14200 }, { 18280, 12200 }, { 17000, 11450 }, // pccp
5960 { 14240, 18310 }, { 14320, 17980 }, { 14350, 17680 }, { 14370, 17360 }, // pccp
5961 { 8220, 19510 }, { 8060, 19250 }, { 7960, 18950 }, { 7860, 18640 }, // pccp
5962 { 2900, 17640 }, { 3090, 17600 }, { 3280, 17540 }, { 3460, 17450 }, // pccp
5963 { 1070, 12640 }, { 1400, 12900 }, { 1780, 13130 }, { 2330, 13040 }, // pccp
5965 { 0x11 MSO_I, 0x12 MSO_I }, { 1800, 1800 }, { 0, 360 }, // circ1
5966 { 0x13 MSO_I, 0x14 MSO_I }, { 1200, 1200 }, { 0, 360 }, // circ2
5967 { 0xd MSO_I, 0xe MSO_I }, { 700, 700 }, { 0, 360 } // circ3
5969 static const sal_uInt16 mso_sptCloudCalloutSegm[] =
5971 0x4000, 0x2016, 0x6001, 0x8000,
5972 0x4000, 0x2001, 0xaa00, 0x8000,
5973 0x4000, 0x2001, 0xaa00, 0x8000,
5974 0x4000, 0x2001, 0xaa00, 0x8000,
5975 0x4000, 0x2001, 0xaa00, 0x8000,
5976 0x4000, 0x2001, 0xaa00, 0x8000,
5977 0x4000, 0x2001, 0xaa00, 0x8000,
5978 0x4000, 0x2001, 0xaa00, 0x8000,
5979 0x4000, 0x2001, 0xaa00, 0x8000,
5980 0x4000, 0x2001, 0xaa00, 0x8000,
5981 0x4000, 0x2001, 0xaa00, 0x8000,
5982 0x4000, 0x2001, 0xaa00, 0x8000,
5983 0xa203, 0x6001, 0x8000,
5984 0xa203, 0x6001, 0x8000,
5985 0xa203, 0x6001, 0x8000
5987 static const SvxMSDffCalculationData mso_sptCloudCalloutCalc[] =
5989 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } },
5990 { 0x2000, { DFF_Prop_adjust2Value, 0, 10800 } },
5991 { 0x6008, { 0x400, 0x401, 0 } },
5992 { 0x400a, { 10800, 0x402, 0 } }, // 3
5993 { 0x4009, { 10800, 0x402, 0 } }, // 4
5994 { 0x2000, { 0x403, 10800, 0 } }, // 5
5995 { 0x2000, { 0x404, 10800, 0 } }, // 6
5996 { 0xa000, { DFF_Prop_adjustValue, 0, 0x405 } }, // 7
5997 { 0xa000, { DFF_Prop_adjust2Value,0, 0x406 } }, // 8
5998 { 0x2001, { 0x407, 1, 3 } }, // 9
5999 { 0x2001, { 0x408, 1, 3 } }, // 0xa
6000 { 0x2001, { 0x407, 2, 3 } }, // 0xb
6001 { 0x2001, { 0x408, 2, 3 } }, // 0xc
6002 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0xd
6003 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 0xe
6004 { 0x2001, { 0x403, 1, 10800 / 900 } }, // 0xf taking half x distance of the radius from the first bobble
6005 { 0x2001, { 0x404, 1, 10800 / 900 } }, // 0x10
6006 { 0xe000, { 0x409, 0x405, 0x40f } }, // 0x11
6007 { 0xe000, { 0x40a, 0x406, 0x410 } }, // 0x12
6008 { 0x6000, { 0x40b, 0x405, 0 } }, // 0x13
6009 { 0x6000, { 0x40c, 0x406, 0 } } // 0x14
6011 static const sal_Int32 mso_sptCloudCalloutDefault[] =
6013 2, 1350, 25920
6015 static const SvxMSDffTextRectangles mso_sptCloudCalloutTextRect[] =
6017 { { 3000, 3320 }, { 17110, 17330 } }
6019 static const mso_CustomShape msoCloudCallout =
6021 (SvxMSDffVertPair*)mso_sptCloudCalloutVert, SAL_N_ELEMENTS( mso_sptCloudCalloutVert ),
6022 (sal_uInt16*)mso_sptCloudCalloutSegm, sizeof( mso_sptCloudCalloutSegm ) >> 1,
6023 (SvxMSDffCalculationData*)mso_sptCloudCalloutCalc, SAL_N_ELEMENTS( mso_sptCloudCalloutCalc ),
6024 (sal_Int32*)mso_sptCloudCalloutDefault,
6025 (SvxMSDffTextRectangles*)mso_sptCloudCalloutTextRect, SAL_N_ELEMENTS( mso_sptCloudCalloutTextRect ),
6026 21600, 21600,
6027 MIN_INT32, MIN_INT32,
6028 NULL, 0,
6029 (SvxMSDffHandle*)mso_sptCalloutHandle, SAL_N_ELEMENTS( mso_sptCalloutHandle ) // handles
6032 static const SvxMSDffVertPair mso_sptWaveVert[] = // adjustment1 : 0 - 4460
6033 { // adjustment2 : 8640 - 12960
6034 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
6035 { 24 MSO_I, 1 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 29 MSO_I, 1 MSO_I }
6037 static const SvxMSDffCalculationData mso_sptWaveCalc[] =
6039 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //400 (vert.adj)
6040 { 0x8000, { 21600, 0, 0x400 } }, //401
6041 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },//402 (horz.adj)
6042 { 0x2000, { 0x402, 0, 10800 } }, //403 -2160 -> 2160 (horz.adj)
6043 { 0x2001, { 0x403, 2, 1 } }, //404 -4320 -> 4320 (horz.adj)
6044 { 0x2003, { 0x404, 0, 0 } }, //405 abs( 0x404 ) (horz.adj)
6045 { 0x8000, { 4320, 0, 0x405 } }, //406
6046 { 0xa006, { 0x403, 0, 0x405 } }, //407
6047 { 0x4001, { 15800, 0x400, 4460 } }, //408 0 -> 15800 (vert.adj)
6048 { 0xa000, { 0x400, 0, 0x408 } }, //409
6049 { 0x6000, { 0x400, 0x408, 0 } }, //40a
6050 { 0x8000, { 21600, 0, 0x404 } }, //40b
6051 { 0x6006, { 0x403, 0x40b, 21600 } }, //40c
6052 { 0xa000, { 0x40c, 0, 0x407 } }, //40d width between p0 and p1
6053 { 0x2001, { 0x405, 1, 2 } }, //40e
6054 { 0xa000, { 0x407, 7200, 0x40e } }, //40f
6055 { 0x6000, { 0x40c, 0x40e, 7200 } }, //410
6056 { 0x2001, { 0x40d, 1, 2 } }, //411 1/2 width
6057 { 0x6000, { 0x407, 0x411, 0 } }, //412 top center glue xpos
6058 { 0x8000, { 21600, 0, 0x412 } }, //413 bottom center glue xpos
6059 { 0x2001, { 0x405, 1, 2 } }, //414 left glue x pos
6060 { 0x8000, { 21600, 0, 0x414 } }, //415 right glue x pos
6061 { 0x2001, { 0x400, 2, 1 } }, //416 y1 (textbox)
6062 { 0x8000, { 21600, 0, 0x416 } }, //417 y2 (textbox)
6064 { 0x8000, { 21600, 0, 0x407 } }, //418 p2
6066 { 0x8000, { 21600, 0, 0x40f } }, //419 c
6067 { 0x6000, { 0x401, 0x408, 0 } }, //41a
6069 { 0x8000, { 21600, 0, 0x410 } }, //41b c
6070 { 0xa000, { 0x401, 0, 0x408 } }, //41c
6072 { 0x8000, { 21600, 0, 0x40c } } //41d p3
6074 static const SvxMSDffVertPair mso_sptWaveGluePoints[] =
6076 { 0x12 MSO_I, 0 MSO_I }, { 0x14 MSO_I, 10800 }, { 0x13 MSO_I, 1 MSO_I }, { 0x15 MSO_I, 10800 }
6078 static const sal_uInt16 mso_sptWaveSegm[] =
6080 0x4000, 0x2001, 0x0001, 0x2001, 0x6000, 0x8000
6082 static const SvxMSDffHandle mso_sptWaveHandle[] =
6084 { MSDFF_HANDLE_FLAGS_RANGE,
6085 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 4460 },
6086 { MSDFF_HANDLE_FLAGS_RANGE,
6087 0x101, 21600, 10800, 10800, 8640, 12960, MIN_INT32, 0x7fffffff }
6089 static const sal_Int32 mso_sptWaveDefault[] =
6091 2, 1400, 10800
6093 static const SvxMSDffTextRectangles mso_sptWaveTextRect[] =
6095 { { 5 MSO_I, 22 MSO_I }, { 11 MSO_I, 23 MSO_I } }
6097 static const mso_CustomShape msoWave =
6099 (SvxMSDffVertPair*)mso_sptWaveVert, SAL_N_ELEMENTS( mso_sptWaveVert ),
6100 (sal_uInt16*)mso_sptWaveSegm, sizeof( mso_sptWaveSegm ) >> 1,
6101 (SvxMSDffCalculationData*)mso_sptWaveCalc, SAL_N_ELEMENTS( mso_sptWaveCalc ),
6102 (sal_Int32*)mso_sptWaveDefault,
6103 (SvxMSDffTextRectangles*)mso_sptWaveTextRect, SAL_N_ELEMENTS( mso_sptWaveTextRect ),
6104 21600, 21600,
6105 MIN_INT32, MIN_INT32,
6106 (SvxMSDffVertPair*)mso_sptWaveGluePoints, SAL_N_ELEMENTS( mso_sptWaveGluePoints ),
6107 (SvxMSDffHandle*)mso_sptWaveHandle, SAL_N_ELEMENTS( mso_sptWaveHandle )
6110 static const SvxMSDffVertPair mso_sptDoubleWaveVert[] = // adjustment1 : 0 - 2230
6111 { // adjustment2 : 8640 - 12960
6112 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 0x1e MSO_I, 10 MSO_I }, { 0x12 MSO_I, 0 MSO_I }, { 0x1f MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
6113 { 24 MSO_I, 1 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 0x21 MSO_I, 28 MSO_I }, { 0x13 MSO_I, 1 MSO_I }, { 0x20 MSO_I, 26 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 29 MSO_I, 1 MSO_I }
6115 static const SvxMSDffCalculationData mso_sptDoubleWaveCalc[] =
6117 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //400 (vert.adj)
6118 { 0x8000, { 21600, 0, 0x400 } }, //401
6119 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },//402 (horz.adj)
6120 { 0x2000, { 0x402, 0, 10800 } }, //403 -2160 -> 2160 (horz.adj)
6121 { 0x2001, { 0x403, 2, 1 } }, //404 -4320 -> 4320 (horz.adj)
6122 { 0x2003, { 0x404, 0, 0 } }, //405 abs( 0x404 ) (horz.adj)
6123 { 0x8000, { 4320, 0, 0x405 } }, //406 -> not used
6124 { 0xa006, { 0x403, 0, 0x405 } }, //407
6125 { 0x4001, { 7900, 0x400, 2230 } }, //408 0 -> 7900 (vert.adj)
6126 { 0xa000, { 0x400, 0, 0x408 } }, //409
6127 { 0x6000, { 0x400, 0x408, 0 } }, //40a
6128 { 0x8000, { 21600, 0, 0x404 } }, //40b
6129 { 0x6006, { 0x403, 0x40b, 21600 } }, //40c
6130 { 0xa000, { 0x40c, 0, 0x407 } }, //40d width between p0 and p1
6131 { 0x2001, { 0x405, 1, 2 } }, //40e
6132 { 0xa000, { 0x407, 3600, 0x40e } }, //40f
6133 { 0x6000, { 0x40c, 0x40e, 3600 } }, //410
6134 { 0x2001, { 0x40d, 1, 2 } }, //411 1/2 width
6135 { 0x6000, { 0x407, 0x411, 0 } }, //412 top center glue xpos
6136 { 0x8000, { 21600, 0, 0x412 } }, //413 bottom center glue xpos
6137 { 0x2001, { 0x405, 1, 2 } }, //414 left glue x pos
6138 { 0x8000, { 21600, 0, 0x414 } }, //415 right glue x pos
6139 { 0x2001, { 0x400, 2, 1 } }, //416 y1 (textbox)
6140 { 0x8000, { 21600, 0, 0x416 } }, //417 y2 (textbox)
6142 { 0x8000, { 21600, 0, 0x407 } }, //418 p2
6144 { 0x8000, { 21600, 0, 0x40f } }, //419 c
6145 { 0x6000, { 0x401, 0x408, 0 } }, //41a
6147 { 0x8000, { 21600, 0, 0x410 } }, //41b c
6148 { 0xa000, { 0x401, 0, 0x408 } }, //41c
6150 { 0x8000, { 21600, 0, 0x40c } }, //41d p3
6151 { 0xa000, { 0x412, 0, 0x40e } }, //41e
6152 { 0x6000, { 0x412, 0x40e, 0 } }, //41f
6153 { 0xa000, { 0x413, 0, 0x40e } }, //420
6154 { 0x6000, { 0x413, 0x40e, 0 } } //421
6156 static const SvxMSDffVertPair mso_sptDoubleWaveGluePoints[] =
6158 { 0x12 MSO_I, 0 MSO_I }, { 0x14 MSO_I, 10800 }, { 0x13 MSO_I, 1 MSO_I }, { 0x15 MSO_I, 10800 }
6160 static const sal_uInt16 mso_sptDoubleWaveSegm[] =
6162 0x4000, 0x2002, 0x0001, 0x2002, 0x6000, 0x8000
6164 static const SvxMSDffHandle mso_sptDoubleWaveHandle[] =
6166 { MSDFF_HANDLE_FLAGS_RANGE,
6167 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 2230 },
6168 { MSDFF_HANDLE_FLAGS_RANGE,
6169 0x101, 21600, 10800, 10800, 8640, 12960, MIN_INT32, 0x7fffffff }
6171 static const sal_Int32 mso_sptDoubleWaveDefault[] =
6173 2, 1400, 10800
6175 static const SvxMSDffTextRectangles mso_sptDoubleWaveTextRect[] =
6177 { { 5 MSO_I, 22 MSO_I }, { 11 MSO_I, 23 MSO_I } }
6179 static const mso_CustomShape msoDoubleWave =
6181 (SvxMSDffVertPair*)mso_sptDoubleWaveVert, SAL_N_ELEMENTS( mso_sptDoubleWaveVert ),
6182 (sal_uInt16*)mso_sptDoubleWaveSegm, sizeof( mso_sptDoubleWaveSegm ) >> 1,
6183 (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, SAL_N_ELEMENTS( mso_sptDoubleWaveCalc ),
6184 (sal_Int32*)mso_sptDoubleWaveDefault,
6185 (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, SAL_N_ELEMENTS( mso_sptDoubleWaveTextRect ),
6186 21600, 21600,
6187 MIN_INT32, MIN_INT32,
6188 (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, SAL_N_ELEMENTS( mso_sptDoubleWaveGluePoints ),
6189 (SvxMSDffHandle*)mso_sptDoubleWaveHandle, SAL_N_ELEMENTS( mso_sptDoubleWaveHandle )
6192 // for each shapetype a bit of 1 is indicating that the shape is NOT filled by default
6193 static const sal_uInt16 mso_DefaultFillingTable[] =
6195 0x0000, 0x0018, 0x01ff, 0x0000, 0x0c00, 0x01e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000
6197 bool IsCustomShapeFilledByDefault( MSO_SPT eSpType )
6199 bool bIsFilledByDefault = true;
6200 sal_uInt32 i = (sal_uInt32)eSpType;
6201 if ( i < 0x100 )
6202 bIsFilledByDefault = ( mso_DefaultFillingTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) == 0;
6203 return bIsFilledByDefault;
6205 sal_Int16 GetCustomShapeConnectionTypeDefault( MSO_SPT eSpType )
6207 sal_Int16 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::SEGMENTS;
6208 const mso_CustomShape* pDefCustomShape = GetCustomShapeContent( eSpType );
6209 if ( pDefCustomShape && pDefCustomShape->nGluePoints )
6210 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::CUSTOM;
6211 else
6213 switch( eSpType )
6215 case mso_sptRectangle :
6216 case mso_sptRoundRectangle :
6217 case mso_sptPictureFrame :
6218 case mso_sptFlowChartProcess :
6219 case mso_sptFlowChartPredefinedProcess :
6220 case mso_sptFlowChartInternalStorage :
6221 case mso_sptTextPlainText :
6222 case mso_sptTextBox :
6223 case mso_sptVerticalScroll :
6224 case mso_sptHorizontalScroll :
6225 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::RECT;
6226 default: break;
6229 return nGluePointType;
6232 // for each shapetype a bit of 1 is indicating that the shape is NOT stroked by default
6233 // #i28269#
6234 static const sal_uInt16 mso_DefaultStrokingTable[] =
6236 0x0000, 0x0000, 0x0000, 0x0000,
6237 0x0800, 0x0000, 0x0000, 0x0000, // #i28269# Added shape 75 (mso_sptPictureFrame)
6238 0x0000, 0x0000, 0x0000, 0x0000,
6239 0x0000, 0x0000, 0x0000, 0x0000
6241 // #i28269#
6242 bool IsCustomShapeStrokedByDefault( MSO_SPT eSpType )
6244 bool bIsStrokedByDefault = true;
6245 sal_uInt32 i = (sal_uInt32)eSpType;
6246 if ( i < 0x100 )
6247 bIsStrokedByDefault = ( mso_DefaultStrokingTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) == 0;
6248 return bIsStrokedByDefault;
6251 static const sal_uInt16 msoSortFilledObjectsToBackTable[] =
6253 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
6255 bool SortFilledObjectsToBackByDefault( MSO_SPT eSpType )
6257 bool bSortFilledObjectsToBackByDefault = true;
6258 sal_uInt32 i = (sal_uInt32)eSpType;
6259 if ( i < 0x100 )
6260 bSortFilledObjectsToBackByDefault = ( msoSortFilledObjectsToBackTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) != 0;
6261 return bSortFilledObjectsToBackByDefault;
6264 static const SvxMSDffTextRectangles mso_sptFontWorkTextRect[] =
6266 { { 0, 0 }, { 21600, 21600 } }
6269 static const SvxMSDffVertPair mso_sptTextPlainTextVert[] =
6271 { 3 MSO_I, 0 }, { 5 MSO_I, 0 }, { 6 MSO_I, 21600 }, { 7 MSO_I, 21600 }
6273 static const SvxMSDffCalculationData mso_sptTextPlainTextCalc[] = // adjustment1 : 6629 - 14971
6275 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } },
6276 { 0x2001, { 0x400, 2, 1 } },
6277 { 0x2003, { 0x401, 0, 0 } },
6278 { 0xa006, { 0x401, 0, 0x402 } }, // x1(3)
6279 { 0x8000, { 21600, 0, 0x402 } },
6280 { 0x6006, { 0x401, 0x404, 21600 } }, // x2(5)
6281 { 0x6006, { 0x401, 0x402, 0 } }, // x2
6282 { 0xa006, { 0x401, 21600, 0x404 } } // x3(7)
6284 static const sal_uInt16 mso_sptTextPlainTextSegm[] =
6286 0x4000, 0x0001, 0x8000,
6287 0x4000, 0x0001, 0x8000
6289 static const SvxMSDffHandle mso_sptTextPlainTextHandle[] =
6291 { MSDFF_HANDLE_FLAGS_RANGE,
6292 0x100, 21600, 10800, 10800, 6629, 14971, MIN_INT32, 0x7fffffff }
6294 static const mso_CustomShape msoTextPlainText =
6296 (SvxMSDffVertPair*)mso_sptTextPlainTextVert, SAL_N_ELEMENTS( mso_sptTextPlainTextVert ),
6297 (sal_uInt16*)mso_sptTextPlainTextSegm, sizeof( mso_sptTextPlainTextSegm ) >> 1,
6298 (SvxMSDffCalculationData*)mso_sptTextPlainTextCalc, SAL_N_ELEMENTS( mso_sptTextPlainTextCalc ),
6299 (sal_Int32*)mso_sptDefault10800,
6300 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6301 21600, 21600,
6302 MIN_INT32, MIN_INT32,
6303 NULL, 0,
6304 (SvxMSDffHandle*)mso_sptTextPlainTextHandle, SAL_N_ELEMENTS( mso_sptTextPlainTextHandle )
6307 static const SvxMSDffVertPair mso_sptTextStopVert[] =
6309 { 0, 0 MSO_I }, { 7200, 0 }, { 14400, 0 }, { 21600, 0 MSO_I },
6310 { 0, 1 MSO_I }, { 7200, 21600 }, { 14400, 21600 }, { 21600, 1 MSO_I }
6312 static const SvxMSDffCalculationData mso_sptTextStopCalc[] = // adjustment1 : 3080 - 10800
6314 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
6315 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
6317 static const sal_uInt16 mso_sptTextStopSegm[] =
6319 0x4000, 0x0003, 0x8000,
6320 0x4000, 0x0003, 0x8000
6322 static const sal_Int32 mso_sptTextStopDefault[] =
6324 1, 2700
6326 static const SvxMSDffHandle mso_sptTextStopHandle[] =
6328 { MSDFF_HANDLE_FLAGS_RANGE,
6329 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 3080, 10800 }
6331 static const mso_CustomShape msoTextStop =
6333 (SvxMSDffVertPair*)mso_sptTextStopVert, SAL_N_ELEMENTS( mso_sptTextStopVert ),
6334 (sal_uInt16*)mso_sptTextStopSegm, sizeof( mso_sptTextStopSegm ) >> 1,
6335 (SvxMSDffCalculationData*)mso_sptTextStopCalc, SAL_N_ELEMENTS( mso_sptTextStopCalc ),
6336 (sal_Int32*)mso_sptTextStopDefault,
6337 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6338 21600, 21600,
6339 MIN_INT32, MIN_INT32,
6340 NULL, 0,
6341 (SvxMSDffHandle*)mso_sptTextStopHandle, SAL_N_ELEMENTS( mso_sptTextStopHandle )
6344 static const SvxMSDffVertPair mso_sptTextTriangleVert[] =
6346 { 0, 0 MSO_I }, { 10800, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 21600, 21600 }
6348 static const SvxMSDffCalculationData mso_sptTextTriangleCalc[] = // adjustment1 : 6629 - 14971
6350 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
6352 static const sal_uInt16 mso_sptTextTriangleSegm[] =
6354 0x4000, 0x0002, 0x8000,
6355 0x4000, 0x0001, 0x8000
6357 static const SvxMSDffHandle mso_sptTextTriangleHandle[] =
6359 { MSDFF_HANDLE_FLAGS_RANGE,
6360 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 21600 }
6362 static const mso_CustomShape msoTextTriangle =
6364 (SvxMSDffVertPair*)mso_sptTextTriangleVert, SAL_N_ELEMENTS( mso_sptTextTriangleVert ),
6365 (sal_uInt16*)mso_sptTextTriangleSegm, sizeof( mso_sptTextTriangleSegm ) >> 1,
6366 (SvxMSDffCalculationData*)mso_sptTextTriangleCalc, SAL_N_ELEMENTS( mso_sptTextTriangleCalc ),
6367 (sal_Int32*)mso_sptDefault10800,
6368 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6369 21600, 21600,
6370 MIN_INT32, MIN_INT32,
6371 NULL, 0,
6372 (SvxMSDffHandle*)mso_sptTextTriangleHandle, SAL_N_ELEMENTS( mso_sptTextTriangleHandle )
6374 static const SvxMSDffVertPair mso_sptTextTriangleInvertedVert[] =
6376 { 0, 0 }, { 21600, 0 }, { 0, 0 MSO_I }, { 10800, 21600 }, { 21600, 0 MSO_I }
6378 static const sal_uInt16 mso_sptTextTriangleInvertedSegm[] =
6380 0x4000, 0x0001, 0x8000,
6381 0x4000, 0x0002, 0x8000
6383 static const mso_CustomShape msoTextTriangleInverted =
6385 (SvxMSDffVertPair*)mso_sptTextTriangleInvertedVert, SAL_N_ELEMENTS( mso_sptTextTriangleInvertedVert ),
6386 (sal_uInt16*)mso_sptTextTriangleInvertedSegm, sizeof( mso_sptTextTriangleInvertedSegm ) >> 1,
6387 (SvxMSDffCalculationData*)mso_sptTextTriangleCalc, SAL_N_ELEMENTS( mso_sptTextTriangleCalc ),
6388 (sal_Int32*)mso_sptDefault10800,
6389 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6390 21600, 21600,
6391 MIN_INT32, MIN_INT32,
6392 NULL, 0,
6393 (SvxMSDffHandle*)mso_sptTextTriangleHandle, SAL_N_ELEMENTS( mso_sptTextTriangleHandle )
6396 static const SvxMSDffVertPair mso_sptTextChevronVert[] =
6398 { 0, 0 MSO_I }, { 10800, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 10800, 1 MSO_I }, { 21600, 21600 }
6400 static const SvxMSDffCalculationData mso_sptTextChevronCalc[] = // adjustment1 : 6629 - 14971
6402 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
6403 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
6405 static const sal_uInt16 mso_sptTextChevronSegm[] =
6407 0x4000, 0x0002, 0x8000,
6408 0x4000, 0x0002, 0x8000
6410 static const SvxMSDffHandle mso_sptTextChevronHandle[] =
6412 { MSDFF_HANDLE_FLAGS_RANGE,
6413 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
6415 static const mso_CustomShape msoTextChevron =
6417 (SvxMSDffVertPair*)mso_sptTextChevronVert, SAL_N_ELEMENTS( mso_sptTextChevronVert ),
6418 (sal_uInt16*)mso_sptTextChevronSegm, sizeof( mso_sptTextChevronSegm ) >> 1,
6419 (SvxMSDffCalculationData*)mso_sptTextChevronCalc, SAL_N_ELEMENTS( mso_sptTextChevronCalc ),
6420 (sal_Int32*)mso_sptDefault5400,
6421 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6422 21600, 21600,
6423 MIN_INT32, MIN_INT32,
6424 NULL, 0,
6425 (SvxMSDffHandle*)mso_sptTextChevronHandle, SAL_N_ELEMENTS( mso_sptTextChevronHandle )
6428 static const SvxMSDffVertPair mso_sptTextChevronInvertedVert[] =
6430 { 0, 0 }, { 10800, 1 MSO_I }, { 21600, 0 }, { 0, 0 MSO_I }, { 10800, 21600 }, { 21600, 0 MSO_I }
6432 static const SvxMSDffCalculationData mso_sptTextChevronInvertedCalc[] = // adjustment1 : 6629 - 14971
6434 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
6435 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
6437 static const sal_uInt16 mso_sptTextChevronInvertedSegm[] =
6439 0x4000, 0x0002, 0x8000,
6440 0x4000, 0x0002, 0x8000
6442 static const SvxMSDffHandle mso_sptTextChevronInvertedHandle[] =
6444 { MSDFF_HANDLE_FLAGS_RANGE,
6445 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 10800, 21600 }
6447 static const mso_CustomShape msoTextChevronInverted =
6449 (SvxMSDffVertPair*)mso_sptTextChevronInvertedVert, SAL_N_ELEMENTS( mso_sptTextChevronInvertedVert ),
6450 (sal_uInt16*)mso_sptTextChevronInvertedSegm, sizeof( mso_sptTextChevronInvertedSegm ) >> 1,
6451 (SvxMSDffCalculationData*)mso_sptTextChevronInvertedCalc, SAL_N_ELEMENTS( mso_sptTextChevronInvertedCalc ),
6452 (sal_Int32*)mso_sptDefault16200,
6453 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6454 21600, 21600,
6455 MIN_INT32, MIN_INT32,
6456 NULL, 0,
6457 (SvxMSDffHandle*)mso_sptTextChevronInvertedHandle, SAL_N_ELEMENTS( mso_sptTextChevronInvertedHandle )
6459 //V 0 0 21600 ?f2 0 ?f0 21600 ?f0
6460 //W 0 0 21600 ?f2 21600 ?f0 0 ?f0 N
6461 //V 0 ?f3 21600 21600 0 ?f1 21600 ?f1
6462 //W 0 ?f3 21600 21600 21600 ?f1 0 ?f1 N
6463 //mso_sptTextRingInside
6464 static const SvxMSDffVertPair mso_sptTextRingInsideVert[] =
6466 { 0, 0 }, { 21600, 2 MSO_I }, { 0, 0 MSO_I },{ 21600, 0 MSO_I },//V
6467 { 0, 0 }, { 21600, 2 MSO_I }, { 21600, 0 MSO_I },{ 0, 0 MSO_I },//W
6468 { 0, 3 MSO_I }, { 21600, 21600 }, { 0, 1 MSO_I },{ 21600, 1 MSO_I },//V
6469 { 0, 3 MSO_I }, { 21600, 21600 }, { 21600, 1 MSO_I },{ 0, 1 MSO_I }//W
6471 static const SvxMSDffCalculationData mso_sptTextRingInsideCalc[] = // adjustment1 : 6629 - 14971
6473 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
6474 { 0x8000, { 21600, 0, 0x400 } },
6475 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //$0
6476 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }//21600-$0
6478 static const sal_uInt16 mso_sptTextRingInsideSegm[] =
6480 0xa604, 0xa504,0x8000,
6481 0xa604, 0xa504,0x8000
6483 static const SvxMSDffHandle mso_sptTextRingInsideHandle[] =
6485 { MSDFF_HANDLE_FLAGS_RANGE| MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
6486 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 10800, 21600 }
6488 static const mso_CustomShape msoTextRingInside =
6490 (SvxMSDffVertPair*)mso_sptTextRingInsideVert, sizeof( mso_sptTextRingInsideVert ) / sizeof( SvxMSDffVertPair ),
6491 (sal_uInt16*)mso_sptTextRingInsideSegm, sizeof( mso_sptTextRingInsideSegm ) >> 1,
6492 (SvxMSDffCalculationData*)mso_sptTextRingInsideCalc, sizeof( mso_sptTextRingInsideCalc ) / sizeof( SvxMSDffCalculationData ),
6493 (sal_Int32*)mso_sptDefault13500,
6494 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6495 21600, 21600,
6496 MIN_INT32, MIN_INT32,
6497 NULL, 0,
6498 (SvxMSDffHandle*)mso_sptTextRingInsideHandle, sizeof( mso_sptTextRingInsideHandle ) / sizeof( SvxMSDffHandle )
6500 //mso_sptTextRingOutside
6501 //path = U 10800 ?f0 21600 ?f2 180 539 N U 10800 ?f1 21600 ?f2 180 539 N
6502 static const SvxMSDffVertPair mso_sptTextRingOutsideVert[] =
6504 { 10800, 0 MSO_I }, { 21600, 2 MSO_I }, { 180, 539},//U
6505 { 10800, 1 MSO_I }, { 21600, 2 MSO_I }, { 180, 539 }//U
6506 //{ 10800, 0 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 },
6507 //{ 10800, 1 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 }
6509 static const SvxMSDffCalculationData mso_sptTextRingOutsideCalc[] = // adjustment1 : 6629 - 14971
6511 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
6512 { 0x8000, { 21600, 0, 0x400 } },
6513 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //$0
6514 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }//21600-$0
6516 static const sal_uInt16 mso_sptTextRingOutsideSegm[] =
6518 0xA203, 0x8000,
6519 0xA203, 0x8000
6521 static const SvxMSDffHandle mso_sptTextRingOutsideHandle[] =
6523 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
6524 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 10800, 21600 }
6526 static const mso_CustomShape msoTextRingOutside =
6528 (SvxMSDffVertPair*)mso_sptTextRingOutsideVert, SAL_N_ELEMENTS( mso_sptTextRingOutsideVert ),
6529 (sal_uInt16*)mso_sptTextRingOutsideSegm, sizeof( mso_sptTextRingOutsideSegm ) >> 1,
6530 (SvxMSDffCalculationData*)mso_sptTextRingOutsideCalc, SAL_N_ELEMENTS( mso_sptTextRingOutsideCalc ),
6531 (sal_Int32*)mso_sptDefault13500,
6532 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6533 21600, 21600,
6534 MIN_INT32, MIN_INT32,
6535 NULL, 0,
6536 (SvxMSDffHandle*)mso_sptTextRingOutsideHandle, SAL_N_ELEMENTS( mso_sptTextRingOutsideHandle )
6539 static const SvxMSDffVertPair mso_sptTextFadeRightVert[] =
6541 { 0, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 21600, 1 MSO_I }
6543 static const SvxMSDffCalculationData mso_sptTextFadeCalc[] =
6545 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
6546 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
6548 static const sal_uInt16 mso_sptTextFadeSegm[] =
6550 0x4000, 0x0001, 0x8000,
6551 0x4000, 0x0001, 0x8000
6553 static const SvxMSDffHandle mso_sptTextFadeRightHandle[] =
6555 { MSDFF_HANDLE_FLAGS_RANGE,
6556 21600, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
6558 static const mso_CustomShape msoTextFadeRight =
6560 (SvxMSDffVertPair*)mso_sptTextFadeRightVert, SAL_N_ELEMENTS( mso_sptTextFadeRightVert ),
6561 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6562 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
6563 (sal_Int32*)mso_sptDefault7200,
6564 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6565 21600, 21600,
6566 MIN_INT32, MIN_INT32,
6567 NULL, 0,
6568 (SvxMSDffHandle*)mso_sptTextFadeRightHandle, SAL_N_ELEMENTS( mso_sptTextFadeRightHandle )
6571 static const SvxMSDffVertPair mso_sptTextFadeLeftVert[] =
6573 { 0, 0 MSO_I }, { 21600, 0 }, { 0, 1 MSO_I }, { 21600, 21600 }
6575 static const SvxMSDffHandle mso_sptTextFadeLeftHandle[] =
6577 { MSDFF_HANDLE_FLAGS_RANGE,
6578 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10800 }
6580 static const mso_CustomShape msoTextFadeLeft =
6582 (SvxMSDffVertPair*)mso_sptTextFadeLeftVert, SAL_N_ELEMENTS( mso_sptTextFadeLeftVert ),
6583 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6584 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
6585 (sal_Int32*)mso_sptDefault7200,
6586 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6587 21600, 21600,
6588 MIN_INT32, MIN_INT32,
6589 NULL, 0,
6590 (SvxMSDffHandle*)mso_sptTextFadeLeftHandle, SAL_N_ELEMENTS( mso_sptTextFadeLeftHandle )
6593 static const SvxMSDffVertPair mso_sptTextFadeUpVert[] =
6595 { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 0, 21600 }, { 21600, 21600 }
6597 static const SvxMSDffHandle mso_sptTextFadeUpHandle[] =
6599 { MSDFF_HANDLE_FLAGS_RANGE,
6600 0x100, 0, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
6602 static const mso_CustomShape msoTextFadeUp =
6604 (SvxMSDffVertPair*)mso_sptTextFadeUpVert, SAL_N_ELEMENTS( mso_sptTextFadeUpVert ),
6605 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6606 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
6607 (sal_Int32*)mso_sptDefault7200,
6608 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6609 21600, 21600,
6610 MIN_INT32, MIN_INT32,
6611 NULL, 0,
6612 (SvxMSDffHandle*)mso_sptTextFadeUpHandle, SAL_N_ELEMENTS( mso_sptTextFadeUpHandle )
6615 static const SvxMSDffVertPair mso_sptTextFadeDownVert[] =
6617 { 0, 0 }, { 21600, 0 }, { 0 MSO_I, 21600 }, { 1 MSO_I, 21600 }
6619 static const SvxMSDffHandle mso_sptTextFadeDownHandle[] =
6621 { MSDFF_HANDLE_FLAGS_RANGE,
6622 0x100, 21600, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
6624 static const mso_CustomShape msoTextFadeDown =
6626 (SvxMSDffVertPair*)mso_sptTextFadeDownVert, SAL_N_ELEMENTS( mso_sptTextFadeDownVert ),
6627 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6628 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
6629 (sal_Int32*)mso_sptDefault7200,
6630 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6631 21600, 21600,
6632 MIN_INT32, MIN_INT32,
6633 NULL, 0,
6634 (SvxMSDffHandle*)mso_sptTextFadeDownHandle, SAL_N_ELEMENTS( mso_sptTextFadeDownHandle )
6637 static const SvxMSDffVertPair mso_sptTextSlantUpVert[] =
6639 { 0, 0 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 1 MSO_I }
6641 static const SvxMSDffHandle mso_sptTextSlantUpHandle[] =
6643 { MSDFF_HANDLE_FLAGS_RANGE,
6644 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 15400 }
6646 static const mso_CustomShape msoTextSlantUp =
6648 (SvxMSDffVertPair*)mso_sptTextSlantUpVert, SAL_N_ELEMENTS( mso_sptTextSlantUpVert ),
6649 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6650 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
6651 (sal_Int32*)mso_sptDefault12000,
6652 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6653 21600, 21600,
6654 MIN_INT32, MIN_INT32,
6655 NULL, 0,
6656 (SvxMSDffHandle*)mso_sptTextSlantUpHandle, SAL_N_ELEMENTS( mso_sptTextSlantUpHandle )
6659 static const SvxMSDffVertPair mso_sptTextSlantDownVert[] =
6661 { 0, 0 }, { 21600, 1 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 }
6663 static const SvxMSDffHandle mso_sptTextSlantDownHandle[] =
6665 { MSDFF_HANDLE_FLAGS_RANGE,
6666 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 6200, 21600 }
6668 static const mso_CustomShape msoTextSlantDown =
6670 (SvxMSDffVertPair*)mso_sptTextSlantDownVert, SAL_N_ELEMENTS( mso_sptTextSlantDownVert ),
6671 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6672 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, SAL_N_ELEMENTS( mso_sptTextFadeCalc ),
6673 (sal_Int32*)mso_sptDefault12000,
6674 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6675 21600, 21600,
6676 MIN_INT32, MIN_INT32,
6677 NULL, 0,
6678 (SvxMSDffHandle*)mso_sptTextSlantDownHandle, SAL_N_ELEMENTS( mso_sptTextSlantDownHandle )
6681 static const SvxMSDffVertPair mso_sptTextCascadeUpVert[] =
6683 { 0, 2 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 0 MSO_I }
6685 static const SvxMSDffCalculationData mso_sptTextCascadeCalc[] =
6687 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
6688 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
6689 { 0x2001, { 0x401, 1, 4 } }
6691 static const SvxMSDffHandle mso_sptTextCascadeUpHandle[] =
6693 { MSDFF_HANDLE_FLAGS_RANGE,
6694 21600, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 6200, 21600 }
6696 static const mso_CustomShape msoTextCascadeUp =
6698 (SvxMSDffVertPair*)mso_sptTextCascadeUpVert, SAL_N_ELEMENTS( mso_sptTextCascadeUpVert ),
6699 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6700 (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, SAL_N_ELEMENTS( mso_sptTextCascadeCalc ),
6701 (sal_Int32*)mso_sptDefault9600,
6702 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6703 21600, 21600,
6704 MIN_INT32, MIN_INT32,
6705 NULL, 0,
6706 (SvxMSDffHandle*)mso_sptTextCascadeUpHandle, SAL_N_ELEMENTS( mso_sptTextCascadeUpHandle )
6709 static const SvxMSDffVertPair mso_sptTextCascadeDownVert[] =
6711 { 0, 0 }, { 21600, 2 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 }
6713 static const SvxMSDffHandle mso_sptTextCascadeDownHandle[] =
6715 { MSDFF_HANDLE_FLAGS_RANGE,
6716 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 6200, 21600 }
6718 static const mso_CustomShape msoTextCascadeDown =
6720 (SvxMSDffVertPair*)mso_sptTextCascadeDownVert, SAL_N_ELEMENTS( mso_sptTextCascadeDownVert ),
6721 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6722 (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, SAL_N_ELEMENTS( mso_sptTextCascadeCalc ),
6723 (sal_Int32*)mso_sptDefault9600,
6724 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6725 21600, 21600,
6726 MIN_INT32, MIN_INT32,
6727 NULL, 0,
6728 (SvxMSDffHandle*)mso_sptTextCascadeDownHandle, SAL_N_ELEMENTS( mso_sptTextCascadeDownHandle )
6731 static const SvxMSDffVertPair mso_sptTextArchUpCurveVert[] =
6733 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }
6735 static const SvxMSDffCalculationData mso_sptTextArchCurveCalc[] =
6737 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
6738 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
6739 { 0x2000, { 0x400, 10800, 0 } },
6740 { 0x2000, { 0x401, 10800, 0 } },
6741 { 0x8000, { 21600, 0, 0x402 } }
6743 static const sal_uInt16 mso_sptTextArchUpCurveSegm[] =
6745 0xA504, 0x8000 // clockwíse arc
6747 static const SvxMSDffHandle mso_sptTextArchUpCurveHandle[] =
6749 { MSDFF_HANDLE_FLAGS_POLAR,
6750 10800, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
6752 static const sal_Int32 mso_sptTextArchUpCurveDefault[] =
6754 1, 180
6756 static const mso_CustomShape msoTextArchUpCurve =
6758 (SvxMSDffVertPair*)mso_sptTextArchUpCurveVert, SAL_N_ELEMENTS( mso_sptTextArchUpCurveVert ),
6759 (sal_uInt16*)mso_sptTextArchUpCurveSegm, sizeof( mso_sptTextArchUpCurveSegm ) >> 1,
6760 (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, SAL_N_ELEMENTS( mso_sptTextArchCurveCalc ),
6761 (sal_Int32*)mso_sptTextArchUpCurveDefault,
6762 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6763 21600, 21600,
6764 MIN_INT32, MIN_INT32,
6765 NULL, 0,
6766 (SvxMSDffHandle*)mso_sptTextArchUpCurveHandle, SAL_N_ELEMENTS( mso_sptTextArchUpCurveHandle )
6769 static const SvxMSDffVertPair mso_sptTextArchDownCurveVert[] =
6771 { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }
6773 static const sal_uInt16 mso_sptTextArchDownCurveSegm[] =
6775 0xA304, 0x8000 // counter clockwise arc to
6777 static const SvxMSDffHandle mso_sptTextArchDownCurveHandle[] =
6779 { MSDFF_HANDLE_FLAGS_POLAR,
6780 10800, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
6782 static const sal_Int32 mso_sptTextArchDownCurveDefault[] =
6784 1, 0
6786 static const mso_CustomShape msoTextArchDownCurve =
6788 (SvxMSDffVertPair*)mso_sptTextArchDownCurveVert, SAL_N_ELEMENTS( mso_sptTextArchDownCurveVert ),
6789 (sal_uInt16*)mso_sptTextArchDownCurveSegm, sizeof( mso_sptTextArchDownCurveSegm ) >> 1,
6790 (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, SAL_N_ELEMENTS( mso_sptTextArchCurveCalc ),
6791 (sal_Int32*)mso_sptTextArchDownCurveDefault,
6792 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6793 21600, 21600,
6794 MIN_INT32, MIN_INT32,
6795 NULL, 0,
6796 (SvxMSDffHandle*)mso_sptTextArchDownCurveHandle, SAL_N_ELEMENTS( mso_sptTextArchDownCurveHandle )
6799 static const SvxMSDffVertPair mso_sptTextCircleCurveVert[] =
6801 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I }
6803 static const SvxMSDffCalculationData mso_sptTextCircleCurveCalc[] =
6805 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
6806 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
6807 { 0x2000, { 0x400, 10800, 0 } },
6808 { 0x2000, { 0x401, 10800, 0 } },
6809 { 0x8000, { 21600, 0, 0x403 } }
6811 static const sal_uInt16 mso_sptTextCircleCurveSegm[] =
6813 0xA504, 0x8000 // clockwise arc to
6815 static const SvxMSDffHandle mso_sptTextCircleCurveHandle[] =
6817 { MSDFF_HANDLE_FLAGS_POLAR,
6818 10800, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
6820 static const sal_Int32 mso_sptTextCircleCurveDefault[] =
6822 1, -179
6824 static const mso_CustomShape msoTextCircleCurve =
6826 (SvxMSDffVertPair*)mso_sptTextCircleCurveVert, SAL_N_ELEMENTS( mso_sptTextCircleCurveVert ),
6827 (sal_uInt16*)mso_sptTextCircleCurveSegm, sizeof( mso_sptTextCircleCurveSegm ) >> 1,
6828 (SvxMSDffCalculationData*)mso_sptTextCircleCurveCalc, SAL_N_ELEMENTS( mso_sptTextCircleCurveCalc ),
6829 (sal_Int32*)mso_sptTextCircleCurveDefault,
6830 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6831 21600, 21600,
6832 MIN_INT32, MIN_INT32,
6833 NULL, 0,
6834 (SvxMSDffHandle*)mso_sptTextCircleCurveHandle, SAL_N_ELEMENTS( mso_sptTextCircleCurveHandle )
6837 static const SvxMSDffVertPair mso_sptTextButtonCurveVert[] =
6839 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
6840 { 0, 10800 }, { 21600, 10800 },
6841 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I }
6843 static const SvxMSDffCalculationData mso_sptTextButtonCurveCalc[] =
6845 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
6846 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
6847 { 0x2000, { 0x400, 10800, 0 } },
6848 { 0x2000, { 0x401, 10800, 0 } },
6849 { 0x8000, { 21600, 0, 0x402 } },
6850 { 0x8000, { 21600, 0, 0x403 } }
6852 static const sal_uInt16 mso_sptTextButtonCurveSegm[] =
6854 0xA504, 0x8000, // clockwise arc
6855 0x4000, 0x0001, 0x8000,
6856 0xA304, 0x8000 // counter clockwise
6858 static const SvxMSDffHandle mso_sptTextButtonCurveHandle[] =
6860 { MSDFF_HANDLE_FLAGS_POLAR,
6861 10800, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
6863 static const sal_Int32 mso_sptTextButtonCurveDefault[] =
6865 1, 180
6867 static const mso_CustomShape msoTextButtonCurve =
6869 (SvxMSDffVertPair*)mso_sptTextButtonCurveVert, SAL_N_ELEMENTS( mso_sptTextButtonCurveVert ),
6870 (sal_uInt16*)mso_sptTextButtonCurveSegm, sizeof( mso_sptTextButtonCurveSegm ) >> 1,
6871 (SvxMSDffCalculationData*)mso_sptTextButtonCurveCalc, SAL_N_ELEMENTS( mso_sptTextButtonCurveCalc ),
6872 (sal_Int32*)mso_sptTextButtonCurveDefault,
6873 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6874 21600, 21600,
6875 MIN_INT32, MIN_INT32,
6876 NULL, 0,
6877 (SvxMSDffHandle*)mso_sptTextButtonCurveHandle, SAL_N_ELEMENTS( mso_sptTextButtonCurveHandle )
6880 static const SvxMSDffVertPair mso_sptTextArchUpPourVert[] =
6882 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
6883 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 0xa MSO_I, 9 MSO_I }
6885 static const SvxMSDffCalculationData mso_sptTextArchPourCalc[] =
6887 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
6888 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
6889 { 0x2000, { 0x400, 10800, 0 } },
6890 { 0x2000, { 0x401, 10800, 0 } },
6891 { 0x8000, { 21600, 0, 0x402 } },
6892 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
6893 { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6
6894 { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } },
6895 { 0x2000, { 0x406, 10800, 0 } }, // 8
6896 { 0x2000, { 0x407, 10800, 0 } },
6897 { 0x8000, { 21600, 0, 0x408 } }, // 10
6898 { 0x8000, { 21600, 0, 0x405 } }
6900 static const sal_uInt16 mso_sptTextArchUpPourSegm[] =
6902 0xA504, 0x8000, 0xA504, 0x8000
6904 static const SvxMSDffHandle mso_sptTextArchPourHandle[] =
6906 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
6907 0x101, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
6909 static const sal_Int32 mso_sptTextArchUpPourDefault[] =
6911 2, 180, 5400
6913 static const mso_CustomShape msoTextArchUpPour =
6915 (SvxMSDffVertPair*)mso_sptTextArchUpPourVert, SAL_N_ELEMENTS( mso_sptTextArchUpPourVert ),
6916 (sal_uInt16*)mso_sptTextArchUpPourSegm, sizeof( mso_sptTextArchUpPourSegm ) >> 1,
6917 (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, SAL_N_ELEMENTS( mso_sptTextArchPourCalc ),
6918 (sal_Int32*)mso_sptTextArchUpPourDefault,
6919 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6920 21600, 21600,
6921 MIN_INT32, MIN_INT32,
6922 NULL, 0,
6923 (SvxMSDffHandle*)mso_sptTextArchPourHandle, SAL_N_ELEMENTS( mso_sptTextArchPourHandle )
6926 static const SvxMSDffVertPair mso_sptTextArchDownPourVert[] =
6928 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 0xa MSO_I, 9 MSO_I }, { 8 MSO_I, 9 MSO_I },
6929 { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }
6931 static const sal_uInt16 mso_sptTextArchDownPourSegm[] =
6933 0xA304, 0x8000, 0xA304, 0x8000
6935 static const sal_Int32 mso_sptTextArchDownPourDefault[] =
6937 2, 0, 5400
6939 static const mso_CustomShape msoTextArchDownPour =
6941 (SvxMSDffVertPair*)mso_sptTextArchDownPourVert, SAL_N_ELEMENTS( mso_sptTextArchDownPourVert ),
6942 (sal_uInt16*)mso_sptTextArchDownPourSegm, sizeof( mso_sptTextArchDownPourSegm ) >> 1,
6943 (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, SAL_N_ELEMENTS( mso_sptTextArchPourCalc ),
6944 (sal_Int32*)mso_sptTextArchDownPourDefault,
6945 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6946 21600, 21600,
6947 MIN_INT32, MIN_INT32,
6948 NULL, 0,
6949 (SvxMSDffHandle*)mso_sptTextArchPourHandle, SAL_N_ELEMENTS( mso_sptTextArchPourHandle )
6952 static const SvxMSDffVertPair mso_sptTextCirclePourVert[] =
6954 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I },
6955 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 8 MSO_I, 0xa MSO_I }
6957 static const SvxMSDffCalculationData mso_sptTextCirclePourCalc[] =
6959 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
6960 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
6961 { 0x2000, { 0x400, 10800, 0 } },
6962 { 0x2000, { 0x401, 10800, 0 } },
6963 { 0x8000, { 21600, 0, 0x403 } },
6964 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
6965 { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6
6966 { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } },
6967 { 0x2000, { 0x406, 10800, 0 } }, // 8
6968 { 0x2000, { 0x407, 10800, 0 } },
6969 { 0x8000, { 21600, 0, 0x409 } }, // 10
6970 { 0x8000, { 21600, 0, 0x405 } },
6971 { 0x000, { 21600, 0, 0 } }
6973 static const sal_uInt16 mso_sptTextCirclePourSegm[] =
6975 0xA504, 0x8000, 0xA504, 0x8000
6977 static const SvxMSDffHandle mso_sptTextCirclePourHandle[] =
6979 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
6980 0x101, 0x100, 10800, 10800, 0, 10800, MIN_INT32, 0x7fffffff }
6982 static const sal_Int32 mso_sptTextCirclePourDefault[] =
6984 2, -179, 5400
6986 static const mso_CustomShape msoTextCirclePour =
6988 (SvxMSDffVertPair*)mso_sptTextCirclePourVert, SAL_N_ELEMENTS( mso_sptTextCirclePourVert ),
6989 (sal_uInt16*)mso_sptTextCirclePourSegm, sizeof( mso_sptTextCirclePourSegm ) >> 1,
6990 (SvxMSDffCalculationData*)mso_sptTextCirclePourCalc, SAL_N_ELEMENTS( mso_sptTextCirclePourCalc ),
6991 (sal_Int32*)mso_sptTextCirclePourDefault,
6992 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
6993 21600, 21600,
6994 MIN_INT32, MIN_INT32,
6995 NULL, 0,
6996 (SvxMSDffHandle*)mso_sptTextCirclePourHandle, SAL_N_ELEMENTS( mso_sptTextCirclePourHandle )
6999 static const SvxMSDffVertPair mso_sptTextButtonPourVert[] =
7001 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
7002 { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 11 MSO_I }, { 12 MSO_I, 11 MSO_I },
7003 { 0x16 MSO_I, 16 MSO_I }, { 0x15 MSO_I, 16 MSO_I },
7004 { 0x16 MSO_I, 15 MSO_I }, { 0x15 MSO_I, 15 MSO_I },
7005 { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 13 MSO_I }, { 12 MSO_I, 13 MSO_I },
7006 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I }
7008 static const SvxMSDffCalculationData mso_sptTextButtonPourCalc[] =
7010 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, // 0x00
7011 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, // 0x01
7012 { 0x2000, { 0x400, 10800, 0 } }, // 0x02
7013 { 0x2000, { 0x401, 10800, 0 } }, // 0x03
7014 { 0x8000, { 21600, 0, 0x402 } }, // 0x04
7015 { 0x8000, { 21600, 0, 0x403 } }, // 0x05
7017 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } }, // 0x06
7018 { 0x8000, { 21600, 0, 0x406 } }, // 0x07
7020 { 0x600a, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x08
7021 { 0x6009, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x09
7022 { 0x2000, { 0x408, 10800, 0 } }, // 0x0a
7023 { 0x2000, { 0x409, 10800, 0 } }, // 0x0b
7024 { 0x8000, { 21600, 0, 0x40a } }, // 0x0c
7025 { 0x8000, { 21600, 0, 0x40b } }, // 0x0d
7026 { 0x2001, { 0x406, 1, 2 } }, // 0x0e
7027 { 0x4000, { 10800, 0x40e, 0 } }, // 0x0f
7028 { 0x8000, { 10800, 0, 0x40e } }, // 0x10
7029 { 0x6001, { 0x40e, 0x40e, 1 } }, // 0x11
7030 { 0x6001, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 1 } }, // 0x12
7031 { 0xA000, { 0x412, 0, 0x411 } }, // 0x13
7032 { 0x200d, { 0x413, 0, 0 } }, // 0x14
7033 { 0x4000, { 10800, 0x414, 0 } }, // 0x15
7034 { 0x8000, { 10800, 0, 0x414 } } // 0x16
7036 static const sal_uInt16 mso_sptTextButtonPourSegm[] =
7038 0xA504, 0x8000, // clockwise arc
7039 0xA504, 0x8000, // clockwise arc
7040 0x4000, 0x0001, 0x8000,
7041 0x4000, 0x0001, 0x8000,
7042 0xA304, 0x8000, // counter clockwise
7043 0xA304, 0x8000 // counter clockwise
7045 static const SvxMSDffHandle mso_sptTextButtonPourHandle[] =
7047 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
7048 0x101, 0x100, 10800, 10800, 4320, 10800, MIN_INT32, 0x7fffffff }
7050 static const sal_Int32 mso_sptTextButtonPourDefault[] =
7052 2, 180, 5400
7054 static const mso_CustomShape msoTextButtonPour =
7056 (SvxMSDffVertPair*)mso_sptTextButtonPourVert, SAL_N_ELEMENTS( mso_sptTextButtonPourVert ),
7057 (sal_uInt16*)mso_sptTextButtonPourSegm, sizeof( mso_sptTextButtonPourSegm ) >> 1,
7058 (SvxMSDffCalculationData*)mso_sptTextButtonPourCalc, SAL_N_ELEMENTS( mso_sptTextButtonPourCalc ),
7059 (sal_Int32*)mso_sptTextButtonPourDefault,
7060 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7061 21600, 21600,
7062 MIN_INT32, MIN_INT32,
7063 NULL, 0,
7064 (SvxMSDffHandle*)mso_sptTextButtonPourHandle, SAL_N_ELEMENTS( mso_sptTextButtonPourHandle )
7067 static const SvxMSDffVertPair mso_sptTextCurveUpVert[] =
7069 { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 },
7070 { 0, 4 MSO_I /*12170->0 17220 ->21600*/ }, { 3700, 21600 }, { 8500, 21600 }, { 10100, 21600 }, { 14110, 21600 }, { 15910, 21600 }, { 21600, 4 MSO_I /*12170->0 17220 ->21600*/ }
7072 static const SvxMSDffCalculationData mso_sptTextCurveUpCalc[] =
7074 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7075 { 0x4001, { 14250, 0x400, 12170 } }, // 401
7076 { 0x4001, { 12800, 0x400, 12170 } }, // 402
7077 { 0x4001, { 6380, 0x400, 12170 } }, // 403
7078 { 0x8000, { 21600, 0, 0x403 } } // 404
7080 static const sal_uInt16 mso_sptTextCurveUpSegm[] =
7082 0x4000, 0x2001, 0x8000,
7083 0x4000, 0x2002, 0x8000
7085 static const SvxMSDffHandle mso_sptTextCurveUpHandle[] =
7087 { MSDFF_HANDLE_FLAGS_RANGE,
7088 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 12170 }
7090 static const sal_Int32 mso_sptTextCurveUpDefault[] =
7092 1, 9900
7094 static const mso_CustomShape msoTextCurveUp =
7096 (SvxMSDffVertPair*)mso_sptTextCurveUpVert, SAL_N_ELEMENTS( mso_sptTextCurveUpVert ),
7097 (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1,
7098 (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, SAL_N_ELEMENTS( mso_sptTextCurveUpCalc ),
7099 (sal_Int32*)mso_sptTextCurveUpDefault,
7100 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7101 21600, 21600,
7102 MIN_INT32, MIN_INT32,
7103 NULL, 0,
7104 (SvxMSDffHandle*)mso_sptTextCurveUpHandle, SAL_N_ELEMENTS( mso_sptTextCurveUpHandle )
7107 static const SvxMSDffVertPair mso_sptTextCurveDownVert[] =
7109 // { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 },
7110 { 0, 0 }, { 9960, 2 MSO_I }, { 16700, 1 MSO_I }, { 21600, 0 MSO_I },
7112 // { 0, 4 MSO_I /*12170->0 17220 ->21600*/ }, { 3700, 21600 }, { 8500, 21600 }, { 10100, 21600 }, { 14110, 21600 }, { 15910, 21600 }, { 21600, 4 MSO_I /*12170->0 17220 ->21600*/ }
7113 { 0, 4 MSO_I }, { 5690, 21600 }, { 7490, 21600 }, { 11500, 21600 }, { 13100, 21600 }, { 17900, 21600 }, { 21600, 4 MSO_I }
7115 static const SvxMSDffHandle mso_sptTextCurveDownHandle[] =
7117 { MSDFF_HANDLE_FLAGS_RANGE,
7118 21600, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 12170 }
7120 static const mso_CustomShape msoTextCurveDown =
7122 (SvxMSDffVertPair*)mso_sptTextCurveDownVert, SAL_N_ELEMENTS( mso_sptTextCurveDownVert ),
7123 (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1,
7124 (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, SAL_N_ELEMENTS( mso_sptTextCurveUpCalc ),
7125 (sal_Int32*)mso_sptTextCurveUpDefault,
7126 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7127 21600, 21600,
7128 MIN_INT32, MIN_INT32,
7129 NULL, 0,
7130 (SvxMSDffHandle*)mso_sptTextCurveDownHandle, SAL_N_ELEMENTS( mso_sptTextCurveDownHandle )
7133 static const SvxMSDffVertPair mso_sptTextCanUpVert[] =
7135 { 0, 1 MSO_I }, { 900, 0 }, { 7100, 0 }, { 10800, 0 }, { 14500, 0 }, { 20700, 0 }, { 21600, 1 MSO_I },
7136 { 0, 21600 }, { 900, 4 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 4 MSO_I }, { 21600, 21600 }
7138 static const SvxMSDffCalculationData mso_sptTextCanUpCalc[] =
7140 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7141 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401
7142 { 0x2000, { DFF_Prop_adjustValue, 0, 14400 } }, // 402
7143 { 0x4001, { 5470, 0x402, 7200 } }, // 403
7144 { 0x4000, { 16130, 0x403, 0 } } // 404
7146 static const sal_uInt16 mso_sptTextCanUpSegm[] =
7148 0x4000, 0x2002, 0x8000,
7149 0x4000, 0x2002, 0x8000
7151 static const SvxMSDffHandle mso_sptTextCanUpHandle[] =
7153 { MSDFF_HANDLE_FLAGS_RANGE,
7154 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 14400, 21600 }
7156 static const sal_Int32 mso_sptTextCanUpDefault[] =
7158 1, 18500
7160 static const mso_CustomShape msoTextCanUp =
7162 (SvxMSDffVertPair*)mso_sptTextCanUpVert, SAL_N_ELEMENTS( mso_sptTextCanUpVert ),
7163 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
7164 (SvxMSDffCalculationData*)mso_sptTextCanUpCalc, SAL_N_ELEMENTS( mso_sptTextCanUpCalc ),
7165 (sal_Int32*)mso_sptTextCanUpDefault,
7166 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7167 21600, 21600,
7168 MIN_INT32, MIN_INT32,
7169 NULL, 0,
7170 (SvxMSDffHandle*)mso_sptTextCanUpHandle, SAL_N_ELEMENTS( mso_sptTextCanUpHandle )
7173 static const SvxMSDffVertPair mso_sptTextCanDownVert[] =
7175 { 0, 0 }, { 900, 2 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 2 MSO_I }, { 21600, 0 },
7176 { 0, 1 MSO_I }, { 900, 21600 }, { 7100, 21600 }, { 10800, 21600 }, { 14500, 21600 }, { 20700, 21600 }, { 21600, 1 MSO_I }
7178 static const SvxMSDffCalculationData mso_sptTextCanDownCalc[] =
7180 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7181 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401
7182 { 0x4001, { 5470, 0x400, 7200 } } // 402
7184 static const SvxMSDffHandle mso_sptTextCanDownHandle[] =
7186 { MSDFF_HANDLE_FLAGS_RANGE,
7187 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 7200 }
7189 static const sal_Int32 mso_sptTextCanDownDefault[] =
7191 1, 3100
7193 static const mso_CustomShape msoTextCanDown =
7195 (SvxMSDffVertPair*)mso_sptTextCanDownVert, SAL_N_ELEMENTS( mso_sptTextCanDownVert ),
7196 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
7197 (SvxMSDffCalculationData*)mso_sptTextCanDownCalc, SAL_N_ELEMENTS( mso_sptTextCanDownCalc ),
7198 (sal_Int32*)mso_sptTextCanDownDefault,
7199 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7200 21600, 21600,
7201 MIN_INT32, MIN_INT32,
7202 NULL, 0,
7203 (SvxMSDffHandle*)mso_sptTextCanDownHandle, SAL_N_ELEMENTS( mso_sptTextCanDownHandle )
7206 static const SvxMSDffVertPair mso_sptTextInflateVert[] =
7208 { 0, 0 MSO_I }, { 4100, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 17500, 1 MSO_I }, { 21600, 0 MSO_I },
7209 { 0, 2 MSO_I }, { 4100, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 17500, 3 MSO_I }, { 21600, 2 MSO_I }
7211 static const SvxMSDffCalculationData mso_sptTextInflateCalc[] =
7213 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7214 { 0x4001, { 1530, 0x400, 4650 } }, // 401
7215 { 0x8000, { 21600, 0, 0x400 } }, // 402
7216 { 0x8000, { 21600, 0, 0x401 } } // 403
7218 static const SvxMSDffHandle mso_sptTextInflateHandle[] =
7220 { MSDFF_HANDLE_FLAGS_RANGE,
7221 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 4650 }
7223 static const sal_Int32 mso_sptTextInflateDefault[] =
7225 1, 2950
7227 static const mso_CustomShape msoTextInflate =
7229 (SvxMSDffVertPair*)mso_sptTextInflateVert, SAL_N_ELEMENTS( mso_sptTextInflateVert ),
7230 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
7231 (SvxMSDffCalculationData*)mso_sptTextInflateCalc, SAL_N_ELEMENTS( mso_sptTextInflateCalc ),
7232 (sal_Int32*)mso_sptTextInflateDefault,
7233 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7234 21600, 21600,
7235 MIN_INT32, MIN_INT32,
7236 NULL, 0,
7237 (SvxMSDffHandle*)mso_sptTextInflateHandle, SAL_N_ELEMENTS( mso_sptTextInflateHandle )
7240 static const SvxMSDffVertPair mso_sptTextDeflateVert[] =
7242 { 0, 0 }, { 3500, 1 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 18100, 1 MSO_I }, { 21600, 0 },
7243 { 0, 21600 }, { 3500, 3 MSO_I }, { 7100, 2 MSO_I }, { 10800, 2 MSO_I }, { 14500, 2 MSO_I }, { 18100, 3 MSO_I }, { 21600, 21600 }
7245 static const SvxMSDffCalculationData mso_sptTextDeflateCalc[] =
7247 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7248 { 0x2001, { 0x400, 5320, 7100 } }, // 401
7249 { 0x8000, { 21600, 0, 0x400 } }, // 402
7250 { 0x8000, { 21600, 0, 0x401 } } // 403
7252 static const SvxMSDffHandle mso_sptTextDeflateHandle[] =
7254 { MSDFF_HANDLE_FLAGS_RANGE,
7255 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 8100 }
7257 static const mso_CustomShape msoTextDeflate =
7259 (SvxMSDffVertPair*)mso_sptTextDeflateVert, SAL_N_ELEMENTS( mso_sptTextDeflateVert ),
7260 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
7261 (SvxMSDffCalculationData*)mso_sptTextDeflateCalc, SAL_N_ELEMENTS( mso_sptTextDeflateCalc ),
7262 (sal_Int32*)mso_sptDefault8100,
7263 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7264 21600, 21600,
7265 MIN_INT32, MIN_INT32,
7266 NULL, 0,
7267 (SvxMSDffHandle*)mso_sptTextDeflateHandle, SAL_N_ELEMENTS( mso_sptTextDeflateHandle )
7270 static const SvxMSDffVertPair mso_sptTextInflateBottomVert[] =
7272 { 0, 0 }, { 21600, 0 },
7273 { 0, 0 MSO_I }, { 3500, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 18100, 3 MSO_I }, { 21600, 0 MSO_I }
7275 static const SvxMSDffCalculationData mso_sptTextInflateBottomCalc[] =
7277 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7278 { 0x2000, { 0x400, 0, 11150 } }, // 401 0->10450
7279 { 0x2001, { 0x401, 3900, 10450 } }, // 402
7280 { 0x2000, { 0x402, 17700, 0 } } // 403
7282 static const sal_uInt16 mso_sptTextInflateBottomSegm[] =
7284 0x4000, 0x0001, 0x8000,
7285 0x4000, 0x2002, 0x8000
7287 static const SvxMSDffHandle mso_sptTextInflateBottomHandle[] =
7289 { MSDFF_HANDLE_FLAGS_RANGE,
7290 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 11150, 21600 }
7292 static const sal_Int32 mso_sptTextInflateBottomDefault[] =
7294 1, 14700
7296 static const mso_CustomShape msoTextInflateBottom =
7298 (SvxMSDffVertPair*)mso_sptTextInflateBottomVert, SAL_N_ELEMENTS( mso_sptTextInflateBottomVert ),
7299 (sal_uInt16*)mso_sptTextInflateBottomSegm, sizeof( mso_sptTextInflateBottomSegm ) >> 1,
7300 (SvxMSDffCalculationData*)mso_sptTextInflateBottomCalc, SAL_N_ELEMENTS( mso_sptTextInflateBottomCalc ),
7301 (sal_Int32*)mso_sptTextInflateBottomDefault,
7302 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7303 21600, 21600,
7304 MIN_INT32, MIN_INT32,
7305 NULL, 0,
7306 (SvxMSDffHandle*)mso_sptTextInflateBottomHandle, SAL_N_ELEMENTS( mso_sptTextInflateBottomHandle )
7309 static const SvxMSDffVertPair mso_sptTextDeflateBottomVert[] =
7311 { 0, 0 }, { 21600, 0 },
7312 { 0, 21600 }, { 2900, 3 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 3 MSO_I }, { 21600, 21600 }
7314 static const SvxMSDffCalculationData mso_sptTextDeflateBottomCalc[] =
7316 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7317 { 0x2000, { 0x400, 0, 1350 } }, // 401 0->20250
7318 { 0x2001, { 0x401, 12070, 20250 } }, // 402
7319 { 0x2000, { 0x402, 9530, 0 } } // 403
7321 static const sal_uInt16 mso_sptTextDeflateBottomSegm[] =
7323 0x4000, 0x0001, 0x8000,
7324 0x4000, 0x2002, 0x8000
7326 static const SvxMSDffHandle mso_sptTextDeflateBottomHandle[] =
7328 { MSDFF_HANDLE_FLAGS_RANGE,
7329 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 1350, 21600 }
7331 static const sal_Int32 mso_sptTextDeflateBottomDefault[] =
7333 1, 11500
7335 static const mso_CustomShape msoTextDeflateBottom =
7337 (SvxMSDffVertPair*)mso_sptTextDeflateBottomVert, SAL_N_ELEMENTS( mso_sptTextDeflateBottomVert ),
7338 (sal_uInt16*)mso_sptTextDeflateBottomSegm, sizeof( mso_sptTextDeflateBottomSegm ) >> 1,
7339 (SvxMSDffCalculationData*)mso_sptTextDeflateBottomCalc, SAL_N_ELEMENTS( mso_sptTextDeflateBottomCalc ),
7340 (sal_Int32*)mso_sptTextDeflateBottomDefault,
7341 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7342 21600, 21600,
7343 MIN_INT32, MIN_INT32,
7344 NULL, 0,
7345 (SvxMSDffHandle*)mso_sptTextDeflateBottomHandle, SAL_N_ELEMENTS( mso_sptTextDeflateBottomHandle )
7348 static const SvxMSDffVertPair mso_sptTextInflateTopVert[] =
7350 { 0, 0 MSO_I }, { 3500, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 18100, 1 MSO_I }, { 21600, 0 MSO_I },
7351 { 0, 21600 }, { 21600, 21600 }
7353 static const SvxMSDffCalculationData mso_sptTextInflateTopCalc[] =
7355 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7356 { 0x2001, { 0x400, 3900, 10450 } } // 401
7358 static const sal_uInt16 mso_sptTextInflateTopSegm[] =
7360 0x4000, 0x2002, 0x8000,
7361 0x4000, 0x0001, 0x8000
7363 static const SvxMSDffHandle mso_sptTextInflateTopHandle[] =
7365 { MSDFF_HANDLE_FLAGS_RANGE,
7366 0, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 10450 }
7368 static const sal_Int32 mso_sptTextInflateTopDefault[] =
7370 1, 6900
7372 static const mso_CustomShape msoTextInflateTop =
7374 (SvxMSDffVertPair*)mso_sptTextInflateTopVert, SAL_N_ELEMENTS( mso_sptTextInflateTopVert ),
7375 (sal_uInt16*)mso_sptTextInflateTopSegm, sizeof( mso_sptTextInflateTopSegm ) >> 1,
7376 (SvxMSDffCalculationData*)mso_sptTextInflateTopCalc, SAL_N_ELEMENTS( mso_sptTextInflateTopCalc ),
7377 (sal_Int32*)mso_sptTextInflateTopDefault,
7378 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7379 21600, 21600,
7380 MIN_INT32, MIN_INT32,
7381 NULL, 0,
7382 (SvxMSDffHandle*)mso_sptTextInflateTopHandle, SAL_N_ELEMENTS( mso_sptTextInflateTopHandle )
7385 static const SvxMSDffVertPair mso_sptTextDeflateTopVert[] =
7387 { 0, 0 }, { 2900, 1 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 1 MSO_I }, { 21600, 0 },
7388 { 0, 21600 }, { 21600, 21600 }
7390 static const SvxMSDffCalculationData mso_sptTextDeflateTopCalc[] =
7392 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7393 { 0x2001, { 0x400, 12070, 20250 } } // 402
7395 static const sal_uInt16 mso_sptTextDeflateTopSegm[] =
7397 0x4000, 0x2002, 0x8000,
7398 0x4000, 0x0001, 0x8000
7400 static const SvxMSDffHandle mso_sptTextDeflateTopHandle[] =
7402 { MSDFF_HANDLE_FLAGS_RANGE,
7403 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 0, 20250 }
7405 static const sal_Int32 mso_sptTextDeflateTopDefault[] =
7407 1, 10100
7409 static const mso_CustomShape msoTextDeflateTop =
7411 (SvxMSDffVertPair*)mso_sptTextDeflateTopVert, SAL_N_ELEMENTS( mso_sptTextDeflateTopVert ),
7412 (sal_uInt16*)mso_sptTextDeflateTopSegm, sizeof( mso_sptTextDeflateTopSegm ) >> 1,
7413 (SvxMSDffCalculationData*)mso_sptTextDeflateTopCalc, SAL_N_ELEMENTS( mso_sptTextDeflateTopCalc ),
7414 (sal_Int32*)mso_sptTextDeflateTopDefault,
7415 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7416 21600, 21600,
7417 MIN_INT32, MIN_INT32,
7418 NULL, 0,
7419 (SvxMSDffHandle*)mso_sptTextDeflateTopHandle, SAL_N_ELEMENTS( mso_sptTextDeflateTopHandle )
7422 static const SvxMSDffVertPair mso_sptTextDeflateInflateVert[] =
7424 { 0, 0 }, { 21600, 0 },
7425 { 0, 10100 }, { 3300, 3 MSO_I }, { 7100, 5 MSO_I }, { 10800, 5 MSO_I }, { 14500, 5 MSO_I }, { 18300, 3 MSO_I }, { 21600, 10100 },
7426 { 0, 11500 }, { 3300, 4 MSO_I }, { 7100, 6 MSO_I }, { 10800, 6 MSO_I }, { 14500, 6 MSO_I }, { 18300, 4 MSO_I }, { 21600, 11500 },
7427 { 0, 21600 }, { 21600, 21600 }
7429 static const SvxMSDffCalculationData mso_sptTextDeflateInflateCalc[] =
7431 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7432 { 0x8000, { 10800, 0, 0x400 } }, // 401
7433 { 0x2001, { 0x401, 5770, 9500 } }, // 402
7434 { 0x8000, { 10100, 0, 0x402 } }, // 403
7435 { 0x8000, { 11500, 0, 0x402 } }, // 404
7436 { 0x2000, { 0x400, 0, 700 } }, // 405
7437 { 0x2000, { 0x400, 700, 0 } } // 406
7439 static const sal_uInt16 mso_sptTextDeflateInflateSegm[] =
7441 0x4000, 0x0001, 0x8000,
7442 0x4000, 0x2002, 0x8000,
7443 0x4000, 0x2002, 0x8000,
7444 0x4000, 0x0001, 0x8000
7446 static const SvxMSDffHandle mso_sptTextDeflateInflateHandle[] =
7448 { MSDFF_HANDLE_FLAGS_RANGE,
7449 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 1300, 20300 }
7451 static const sal_Int32 mso_sptTextDeflateInflateDefault[] =
7453 1, 6500
7455 static const mso_CustomShape msoTextDeflateInflate =
7457 (SvxMSDffVertPair*)mso_sptTextDeflateInflateVert, SAL_N_ELEMENTS( mso_sptTextDeflateInflateVert ),
7458 (sal_uInt16*)mso_sptTextDeflateInflateSegm, sizeof( mso_sptTextDeflateInflateSegm ) >> 1,
7459 (SvxMSDffCalculationData*)mso_sptTextDeflateInflateCalc, SAL_N_ELEMENTS( mso_sptTextDeflateInflateCalc ),
7460 (sal_Int32*)mso_sptTextDeflateInflateDefault,
7461 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7462 21600, 21600,
7463 MIN_INT32, MIN_INT32,
7464 NULL, 0,
7465 (SvxMSDffHandle*)mso_sptTextDeflateInflateHandle, SAL_N_ELEMENTS( mso_sptTextDeflateInflateHandle )
7468 static const SvxMSDffVertPair mso_sptTextDeflateInflateDeflateVert[] =
7470 { 0, 0 }, { 21600, 0 },
7471 { 0, 6600 }, { 3600, 3 MSO_I }, { 7250, 4 MSO_I }, { 10800, 4 MSO_I }, { 14350, 4 MSO_I }, { 18000, 3 MSO_I }, { 21600, 6600 },
7472 { 0, 7500 }, { 3600, 5 MSO_I }, { 7250, 6 MSO_I }, { 10800, 6 MSO_I }, { 14350, 6 MSO_I }, { 18000, 5 MSO_I }, { 21600, 7500 },
7473 { 0, 14100 }, { 3600, 9 MSO_I }, { 7250, 10 MSO_I }, { 10800, 10 MSO_I }, { 14350, 10 MSO_I }, { 18000, 9 MSO_I }, { 21600, 14100 },
7474 { 0, 15000 }, { 3600, 7 MSO_I }, { 7250, 8 MSO_I }, { 10800, 8 MSO_I }, { 14350, 8 MSO_I }, { 18000, 7 MSO_I }, { 21600, 15000 },
7475 { 0, 21600 }, { 21600, 21600 }
7477 static const SvxMSDffCalculationData mso_sptTextDeflateInflateDeflateCalc[] =
7479 { 0x2000, { DFF_Prop_adjustValue, 0, 850 } }, // 400
7480 { 0x2001, { 0x400, 6120, 8700 } },
7481 { 0x2000, { 0x401, 0, 4280 } },
7482 { 0x4000, { 6600, 0x402, 0 } },
7483 { 0x2000, { DFF_Prop_adjustValue, 0, 450 } }, // 404
7484 { 0x2000, { 0x403, 900, 0 } }, // 405
7485 { 0x2000, { 0x404, 900, 0 } }, // 406
7486 { 0x8000, { 21600, 0, 0x403 } }, // 407
7487 { 0x8000, { 21600, 0, 0x404 } }, // 408
7488 { 0x8000, { 21600, 0, 0x405 } }, // 409
7489 { 0x8000, { 21600, 0, 0x406 } } // 410
7491 static const sal_uInt16 mso_sptTextDeflateInflateDeflateSegm[] =
7493 0x4000, 0x0001, 0x8000,
7494 0x4000, 0x2002, 0x8000,
7495 0x4000, 0x2002, 0x8000,
7496 0x4000, 0x2002, 0x8000,
7497 0x4000, 0x2002, 0x8000,
7498 0x4000, 0x0001, 0x8000
7500 static const SvxMSDffHandle mso_sptTextDeflateInflateDeflateHandle[] =
7502 { MSDFF_HANDLE_FLAGS_RANGE,
7503 10800, 0x100, 10800, 10800, MIN_INT32, 0x7fffffff, 850, 9550 }
7505 static const sal_Int32 mso_sptTextDeflateInflateDeflateDefault[] =
7507 1, 6050
7509 static const mso_CustomShape msoTextDeflateInflateDeflate =
7511 (SvxMSDffVertPair*)mso_sptTextDeflateInflateDeflateVert, SAL_N_ELEMENTS( mso_sptTextDeflateInflateDeflateVert ),
7512 (sal_uInt16*)mso_sptTextDeflateInflateDeflateSegm, sizeof( mso_sptTextDeflateInflateDeflateSegm ) >> 1,
7513 (SvxMSDffCalculationData*)mso_sptTextDeflateInflateDeflateCalc, SAL_N_ELEMENTS( mso_sptTextDeflateInflateDeflateCalc ),
7514 (sal_Int32*)mso_sptTextDeflateInflateDeflateDefault,
7515 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7516 21600, 21600,
7517 MIN_INT32, MIN_INT32,
7518 NULL, 0,
7519 (SvxMSDffHandle*)mso_sptTextDeflateInflateDeflateHandle, SAL_N_ELEMENTS( mso_sptTextDeflateInflateDeflateHandle )
7522 static const SvxMSDffVertPair mso_sptTextWave1Vert[] = // adjustment1 : 0 - 4459
7523 { // adjustment2 : 8640 - 12960
7524 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
7525 { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 24 MSO_I, 1 MSO_I }
7527 static const sal_uInt16 mso_sptTextWave1Segm[] =
7529 0x4000, 0x2001, 0x8000,
7530 0x4000, 0x2001, 0x8000
7532 static const mso_CustomShape msoTextWave1 =
7534 (SvxMSDffVertPair*)mso_sptTextWave1Vert, SAL_N_ELEMENTS( mso_sptTextWave1Vert ),
7535 (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1,
7536 (SvxMSDffCalculationData*)mso_sptWaveCalc, SAL_N_ELEMENTS( mso_sptWaveCalc ),
7537 (sal_Int32*)mso_sptWaveDefault,
7538 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7539 21600, 21600,
7540 MIN_INT32, MIN_INT32,
7541 (SvxMSDffVertPair*)mso_sptWaveGluePoints, SAL_N_ELEMENTS( mso_sptWaveGluePoints ),
7542 (SvxMSDffHandle*)mso_sptWaveHandle, SAL_N_ELEMENTS( mso_sptWaveHandle )
7545 static const SvxMSDffVertPair mso_sptTextWave2Vert[] = // adjustment1 : 0 - 4459
7546 { // adjustment2 : 8640 - 12960
7547 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 10 MSO_I }, { 16 MSO_I, 9 MSO_I }, { 12 MSO_I, 0 MSO_I },
7548 { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 26 MSO_I }, { 25 MSO_I, 28 MSO_I }, { 24 MSO_I, 1 MSO_I }
7550 static const mso_CustomShape msoTextWave2 =
7552 (SvxMSDffVertPair*)mso_sptTextWave2Vert, SAL_N_ELEMENTS( mso_sptTextWave2Vert ),
7553 (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1,
7554 (SvxMSDffCalculationData*)mso_sptWaveCalc, SAL_N_ELEMENTS( mso_sptWaveCalc ),
7555 (sal_Int32*)mso_sptWaveDefault,
7556 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, SAL_N_ELEMENTS( mso_sptFontWorkTextRect ),
7557 21600, 21600,
7558 MIN_INT32, MIN_INT32,
7559 (SvxMSDffVertPair*)mso_sptWaveGluePoints, SAL_N_ELEMENTS( mso_sptWaveGluePoints ),
7560 (SvxMSDffHandle*)mso_sptWaveHandle, SAL_N_ELEMENTS( mso_sptWaveHandle )
7563 static const SvxMSDffVertPair mso_sptTextWave3Vert[] = // adjustment1 : 0 - 2230
7564 { // adjustment2 : 8640 - 12960
7565 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 0x1e MSO_I, 10 MSO_I }, { 0x12 MSO_I, 0 MSO_I }, { 0x1f MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
7566 { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 0x20 MSO_I, 26 MSO_I }, { 0x13 MSO_I, 1 MSO_I }, { 0x21 MSO_I, 28 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 24 MSO_I, 1 MSO_I }
7568 static const sal_uInt16 mso_sptTextWave3Segm[] =
7570 0x4000, 0x2002, 0x8000,
7571 0x4000, 0x2002, 0x8000
7573 static const mso_CustomShape msoTextWave3 =
7575 (SvxMSDffVertPair*)mso_sptTextWave3Vert, SAL_N_ELEMENTS( mso_sptTextWave3Vert ),
7576 (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1,
7577 (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, SAL_N_ELEMENTS( mso_sptDoubleWaveCalc ),
7578 (sal_Int32*)mso_sptDoubleWaveDefault,
7579 (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, SAL_N_ELEMENTS( mso_sptDoubleWaveTextRect ),
7580 21600, 21600,
7581 MIN_INT32, MIN_INT32,
7582 (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, SAL_N_ELEMENTS( mso_sptDoubleWaveGluePoints ),
7583 (SvxMSDffHandle*)mso_sptDoubleWaveHandle, SAL_N_ELEMENTS( mso_sptDoubleWaveHandle )
7586 static const SvxMSDffVertPair mso_sptTextWave4Vert[] = // adjustment1 : 0 - 2230
7587 { // adjustment2 : 8640 - 12960
7588 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 10 MSO_I }, { 0x1e MSO_I, 9 MSO_I }, { 0x12 MSO_I, 0 MSO_I }, { 0x1f MSO_I, 10 MSO_I }, { 16 MSO_I, 9 MSO_I }, { 12 MSO_I, 0 MSO_I },
7589 { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 26 MSO_I }, { 0x20 MSO_I, 28 MSO_I }, { 0x13 MSO_I, 1 MSO_I }, { 0x21 MSO_I, 26 MSO_I }, { 25 MSO_I, 28 MSO_I }, { 24 MSO_I, 1 MSO_I }
7591 static const mso_CustomShape msoTextWave4 =
7593 (SvxMSDffVertPair*)mso_sptTextWave4Vert, SAL_N_ELEMENTS( mso_sptTextWave4Vert ),
7594 (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1,
7595 (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, SAL_N_ELEMENTS( mso_sptDoubleWaveCalc ),
7596 (sal_Int32*)mso_sptDoubleWaveDefault,
7597 (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, SAL_N_ELEMENTS( mso_sptDoubleWaveTextRect ),
7598 21600, 21600,
7599 MIN_INT32, MIN_INT32,
7600 (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, SAL_N_ELEMENTS( mso_sptDoubleWaveGluePoints ),
7601 (SvxMSDffHandle*)mso_sptDoubleWaveHandle, SAL_N_ELEMENTS( mso_sptDoubleWaveHandle )
7604 static const sal_Int32 mso_sptCalloutDefault1[] =
7606 4, -1800, 24500, -1800, 4000
7608 static const sal_Int32 mso_sptCalloutDefault2[] =
7610 4, -8300, 24500, -1800, 4000
7612 static const sal_Int32 mso_sptCalloutDefault3[] =
7614 6, -10000, 24500, -3600, 4000, -1800, 4000
7616 static const sal_Int32 mso_sptCalloutDefault4[] =
7618 8, 23400, 24500, 25200, 21600, 25200, 4000, 23400, 4000
7620 static const SvxMSDffVertPair mso_sptCalloutVert1[] =
7622 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }
7624 static const SvxMSDffHandle mso_sptCalloutHandle1[] =
7626 { 0,
7627 0x100, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
7628 { 0,
7629 0x102, 0x103, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff }
7631 static const sal_uInt16 mso_sptCalloutSegm1a[] =
7633 0x4000, 0x0003, 0x6000, 0x8000,
7634 0x4000, 0x0001, 0x8000
7636 static const sal_uInt16 mso_sptCalloutSegm1b[] =
7638 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7639 0x4000, 0x0001, 0x8000
7641 static const SvxMSDffVertPair mso_sptCallout1Vert[] =
7643 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 0 }, { 2 MSO_I, 21600 }
7645 static const sal_uInt16 mso_sptCallout1Segm1a[] =
7647 0x4000, 0x0003, 0x6000, 0x8000,
7648 0x4000, 0x0001, 0x8000,
7649 0x4000, 0x0001, 0x8000
7651 static const sal_uInt16 mso_sptCallout1Segm1b[] =
7653 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7654 0x4000, 0x0001, 0x8000,
7655 0x4000, 0x0001, 0x8000
7657 static const SvxMSDffVertPair mso_sptCallout2Verta[] =
7659 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 5 MSO_I }
7661 static const SvxMSDffVertPair mso_sptCallout2Vertb[] =
7663 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 5 MSO_I }, { 4 MSO_I, 0 }, { 4 MSO_I, 21600 }
7665 static const SvxMSDffHandle mso_sptCalloutHandle2[] =
7667 { 0,
7668 0x100, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
7669 { 0,
7670 0x102, 0x103, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
7671 { 0,
7672 0x104, 0x105, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff }
7674 static const sal_uInt16 mso_sptCallout2Segm1a[] =
7676 0x4000, 0x0003, 0x6000, 0x8000,
7677 0x4000, 0x0001, 0x8000,
7678 0x4000, 0x0001, 0x8000,
7679 0x4000, 0x0001, 0x8000
7681 static const sal_uInt16 mso_sptCallout2Segm1b[] =
7683 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7684 0x4000, 0x0001, 0x8000,
7685 0x4000, 0x0001, 0x8000,
7686 0x4000, 0x0001, 0x8000
7688 static const sal_uInt16 mso_sptCallout2Segm1c[] =
7690 0x4000, 0x0003, 0x6000, 0x8000,
7691 0x4000, 0x0001, 0x8000,
7692 0x4000, 0x0001, 0x8000,
7693 0x4000, 0x0001, 0x8000,
7694 0x4000, 0x0001, 0x8000
7696 static const sal_uInt16 mso_sptCallout2Segm1d[] =
7698 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7699 0x4000, 0x0001, 0x8000,
7700 0x4000, 0x0001, 0x8000,
7701 0x4000, 0x0001, 0x8000,
7702 0x4000, 0x0001, 0x8000
7704 static const SvxMSDffVertPair mso_sptCallout3Verta[] =
7706 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 6 MSO_I, 7 MSO_I }, { 4 MSO_I, 5 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }
7708 static const SvxMSDffVertPair mso_sptCallout3Vertb[] =
7710 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 6 MSO_I, 7 MSO_I }, { 4 MSO_I, 5 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }, { 6 MSO_I, 0 }, { 6 MSO_I, 21600 }
7712 static const SvxMSDffHandle mso_sptCalloutHandle3[] =
7714 { 0,
7715 0x100, 0x101, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
7716 { 0,
7717 0x102, 0x103, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
7718 { 0,
7719 0x104, 0x105, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff },
7720 { 0,
7721 0x106, 0x107, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff }
7723 static const sal_uInt16 mso_sptCallout3Segm1a[] =
7725 0x4000, 0x0003, 0x6000, 0x8000,
7726 0x4000, 0xaa00, 0x0003, 0x8000 // NO_FILL
7728 static const sal_uInt16 mso_sptCallout3Segm1b[] =
7730 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7731 0x4000, 0xaa00, 0x0003, 0x8000 // NO FILL
7733 static const sal_uInt16 mso_sptCallout3Segm1c[] =
7735 0x4000, 0x0003, 0x6000, 0x8000,
7736 0x4000, 0xaa00, 0x0003, 0x8000, // NO FILL
7737 0x4000, 0x0001, 0x8000
7739 static const sal_uInt16 mso_sptCallout3Segm1d[] =
7741 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7742 0x4000, 0xaa00, 0x0003, 0x8000, // NO FILL
7743 0x4000, 0x0001, 0x8000
7746 static const SvxMSDffCalculationData mso_sptCalloutCalc[] =
7748 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
7749 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
7750 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
7751 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
7752 { 0x2000, { DFF_Prop_adjust5Value, 0, 0 } },
7753 { 0x2000, { DFF_Prop_adjust6Value, 0, 0 } },
7754 { 0x2000, { DFF_Prop_adjust7Value, 0, 0 } },
7755 { 0x2000, { DFF_Prop_adjust8Value, 0, 0 } }
7758 static const mso_CustomShape msoCallout90 =
7760 (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
7761 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
7762 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7763 (sal_Int32*)mso_sptCalloutDefault1,
7764 NULL, 0,
7765 21600, 21600,
7766 MIN_INT32, MIN_INT32,
7767 NULL, 0,
7768 (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
7770 static const mso_CustomShape msoCallout1 =
7772 (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
7773 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
7774 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7775 (sal_Int32*)mso_sptCalloutDefault2,
7776 NULL, 0,
7777 21600, 21600,
7778 MIN_INT32, MIN_INT32,
7779 NULL, 0,
7780 (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
7782 static const mso_CustomShape msoCallout2 =
7784 (SvxMSDffVertPair*)mso_sptCallout2Verta, SAL_N_ELEMENTS( mso_sptCallout2Verta ),
7785 (sal_uInt16*)mso_sptCallout2Segm1b, sizeof( mso_sptCallout2Segm1b ) >> 1,
7786 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7787 (sal_Int32*)mso_sptCalloutDefault3,
7788 NULL, 0,
7789 21600, 21600,
7790 MIN_INT32, MIN_INT32,
7791 NULL, 0,
7792 (SvxMSDffHandle*)mso_sptCalloutHandle2, SAL_N_ELEMENTS( mso_sptCalloutHandle2 )
7794 static const mso_CustomShape msoCallout3 =
7796 (SvxMSDffVertPair*)mso_sptCallout3Verta, SAL_N_ELEMENTS( mso_sptCallout3Verta ),
7797 (sal_uInt16*)mso_sptCallout3Segm1b, sizeof( mso_sptCallout3Segm1b ) >> 1,
7798 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7799 (sal_Int32*)mso_sptCalloutDefault4,
7800 NULL, 0,
7801 21600, 21600,
7802 MIN_INT32, MIN_INT32,
7803 NULL, 0,
7804 (SvxMSDffHandle*)mso_sptCalloutHandle3, SAL_N_ELEMENTS( mso_sptCalloutHandle3 )
7806 static const mso_CustomShape msoAccentCallout90 =
7808 (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
7809 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
7810 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7811 (sal_Int32*)mso_sptCalloutDefault1,
7812 NULL, 0,
7813 21600, 21600,
7814 MIN_INT32, MIN_INT32,
7815 NULL, 0,
7816 (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
7818 static const mso_CustomShape msoAccentCallout1 =
7820 (SvxMSDffVertPair*)mso_sptCallout1Vert, SAL_N_ELEMENTS( mso_sptCallout1Vert ),
7821 (sal_uInt16*)mso_sptCallout1Segm1b, sizeof( mso_sptCallout1Segm1b ) >> 1,
7822 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7823 (sal_Int32*)mso_sptCalloutDefault2,
7824 NULL, 0,
7825 21600, 21600,
7826 MIN_INT32, MIN_INT32,
7827 NULL, 0,
7828 (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
7830 static const mso_CustomShape msoAccentCallout2 =
7832 (SvxMSDffVertPair*)mso_sptCallout2Vertb, SAL_N_ELEMENTS( mso_sptCallout2Vertb ),
7833 (sal_uInt16*)mso_sptCallout2Segm1d, sizeof( mso_sptCallout2Segm1d ) >> 1,
7834 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7835 (sal_Int32*)mso_sptCalloutDefault3,
7836 NULL, 0,
7837 21600, 21600,
7838 MIN_INT32, MIN_INT32,
7839 NULL, 0,
7840 (SvxMSDffHandle*)mso_sptCalloutHandle2, SAL_N_ELEMENTS( mso_sptCalloutHandle2 )
7842 static const mso_CustomShape msoAccentCallout3 =
7844 (SvxMSDffVertPair*)mso_sptCallout3Vertb, SAL_N_ELEMENTS( mso_sptCallout3Vertb ),
7845 (sal_uInt16*)mso_sptCallout3Segm1d, sizeof( mso_sptCallout3Segm1d ) >> 1,
7846 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7847 (sal_Int32*)mso_sptCalloutDefault4,
7848 NULL, 0,
7849 21600, 21600,
7850 MIN_INT32, MIN_INT32,
7851 NULL, 0,
7852 (SvxMSDffHandle*)mso_sptCalloutHandle3, SAL_N_ELEMENTS( mso_sptCalloutHandle3 )
7854 static const mso_CustomShape msoBorderCallout90 =
7856 (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
7857 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
7858 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7859 (sal_Int32*)mso_sptCalloutDefault1,
7860 NULL, 0,
7861 21600, 21600,
7862 MIN_INT32, MIN_INT32,
7863 NULL, 0,
7864 (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
7866 static const mso_CustomShape msoBorderCallout1 =
7868 (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
7869 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
7870 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7871 (sal_Int32*)mso_sptCalloutDefault2,
7872 NULL, 0,
7873 21600, 21600,
7874 MIN_INT32, MIN_INT32,
7875 NULL, 0,
7876 (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
7878 static const mso_CustomShape msoBorderCallout2 =
7880 (SvxMSDffVertPair*)mso_sptCallout2Verta, SAL_N_ELEMENTS( mso_sptCallout2Verta ),
7881 (sal_uInt16*)mso_sptCallout2Segm1a, sizeof( mso_sptCallout2Segm1a ) >> 1,
7882 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7883 (sal_Int32*)mso_sptCalloutDefault3,
7884 NULL, 0,
7885 21600, 21600,
7886 MIN_INT32, MIN_INT32,
7887 NULL, 0,
7888 (SvxMSDffHandle*)mso_sptCalloutHandle2, SAL_N_ELEMENTS( mso_sptCalloutHandle2 )
7890 static const mso_CustomShape msoBorderCallout3 =
7892 (SvxMSDffVertPair*)mso_sptCallout3Verta, SAL_N_ELEMENTS( mso_sptCallout3Verta ),
7893 (sal_uInt16*)mso_sptCallout3Segm1a, sizeof( mso_sptCallout3Segm1a ) >> 1,
7894 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7895 (sal_Int32*)mso_sptCalloutDefault4,
7896 NULL, 0,
7897 21600, 21600,
7898 MIN_INT32, MIN_INT32,
7899 NULL, 0,
7900 (SvxMSDffHandle*)mso_sptCalloutHandle3, SAL_N_ELEMENTS( mso_sptCalloutHandle3 )
7902 static const mso_CustomShape msoAccentBorderCallout90 =
7904 (SvxMSDffVertPair*)mso_sptCalloutVert1, SAL_N_ELEMENTS( mso_sptCalloutVert1 ),
7905 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
7906 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7907 (sal_Int32*)mso_sptCalloutDefault1,
7908 NULL, 0,
7909 21600, 21600,
7910 MIN_INT32, MIN_INT32,
7911 NULL, 0,
7912 (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
7914 static const mso_CustomShape msoAccentBorderCallout1 =
7916 (SvxMSDffVertPair*)mso_sptCallout1Vert, SAL_N_ELEMENTS( mso_sptCallout1Vert ),
7917 (sal_uInt16*)mso_sptCallout1Segm1a, sizeof( mso_sptCallout1Segm1a ) >> 1,
7918 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7919 (sal_Int32*)mso_sptCalloutDefault2,
7920 NULL, 0,
7921 21600, 21600,
7922 MIN_INT32, MIN_INT32,
7923 NULL, 0,
7924 (SvxMSDffHandle*)mso_sptCalloutHandle1, SAL_N_ELEMENTS( mso_sptCalloutHandle1 )
7926 static const mso_CustomShape msoAccentBorderCallout2 =
7928 (SvxMSDffVertPair*)mso_sptCallout2Vertb, SAL_N_ELEMENTS( mso_sptCallout2Vertb ),
7929 (sal_uInt16*)mso_sptCallout2Segm1c, sizeof( mso_sptCallout2Segm1c ) >> 1,
7930 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7931 (sal_Int32*)mso_sptCalloutDefault3,
7932 NULL, 0,
7933 21600, 21600,
7934 MIN_INT32, MIN_INT32,
7935 NULL, 0,
7936 (SvxMSDffHandle*)mso_sptCalloutHandle2, SAL_N_ELEMENTS( mso_sptCalloutHandle2 )
7938 static const mso_CustomShape msoAccentBorderCallout3 =
7940 (SvxMSDffVertPair*)mso_sptCallout3Vertb, SAL_N_ELEMENTS( mso_sptCallout3Vertb ),
7941 (sal_uInt16*)mso_sptCallout3Segm1c, sizeof( mso_sptCallout3Segm1c ) >> 1,
7942 (SvxMSDffCalculationData*)mso_sptCalloutCalc, SAL_N_ELEMENTS( mso_sptCalloutCalc ),
7943 (sal_Int32*)mso_sptCalloutDefault4,
7944 NULL, 0,
7945 21600, 21600,
7946 MIN_INT32, MIN_INT32,
7947 NULL, 0,
7948 (SvxMSDffHandle*)mso_sptCalloutHandle3, SAL_N_ELEMENTS( mso_sptCalloutHandle3 )
7951 static const SvxMSDffVertPair mso_sptStraightConnector1Vert[] =
7953 { 0, 0 }, { 21600, 21600 }
7955 static const sal_uInt16 mso_sptStraightConnector1Segm[] =
7957 0x4000, 0x0001, 0x8000
7959 static const mso_CustomShape msoStraightConnector1 =
7961 (SvxMSDffVertPair*)mso_sptStraightConnector1Vert, SAL_N_ELEMENTS( mso_sptStraightConnector1Vert ),
7962 (sal_uInt16*)mso_sptStraightConnector1Segm, sizeof( mso_sptStraightConnector1Segm ) >> 1,
7963 (SvxMSDffCalculationData*)NULL, 0,
7964 (sal_Int32*)NULL,
7965 NULL, 0,
7966 21600, 21600,
7967 MIN_INT32, MIN_INT32,
7968 NULL, 0,
7969 (SvxMSDffHandle*)NULL, 0
7972 static const SvxMSDffVertPair mso_sptBentConnector2Vert[] =
7974 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }
7976 static const sal_uInt16 mso_sptBentConnector2Segm[] =
7978 0x4000, 0x0002, 0x8000
7980 static const mso_CustomShape msoBentConnector2 =
7982 (SvxMSDffVertPair*)mso_sptBentConnector2Vert, SAL_N_ELEMENTS( mso_sptBentConnector2Vert ),
7983 (sal_uInt16*)mso_sptBentConnector2Segm, sizeof( mso_sptBentConnector2Segm ) >> 1,
7984 (SvxMSDffCalculationData*)NULL, 0,
7985 (sal_Int32*)NULL,
7986 NULL, 0,
7987 21600, 21600,
7988 MIN_INT32, MIN_INT32,
7989 NULL, 0,
7990 (SvxMSDffHandle*)NULL, 0
7993 static const SvxMSDffVertPair mso_sptBentConnector3Vert[] =
7995 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 21600 }, { 21600, 21600 }
7997 static const sal_uInt16 mso_sptBentConnector3Segm[] =
7999 0x4000, 0x0003, 0x8000
8001 static const SvxMSDffCalculationData mso_sptBentConnector3Calc[] =
8003 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
8005 static const sal_Int32 mso_sptBentConnector3Default[] =
8007 1, 10800
8009 static const SvxMSDffHandle mso_sptBentConnector3Handle[] =
8011 { MSDFF_HANDLE_FLAGS_RANGE,
8012 0x100, 10800, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff }
8014 static const mso_CustomShape msoBentConnector3 =
8016 (SvxMSDffVertPair*)mso_sptBentConnector3Vert, SAL_N_ELEMENTS( mso_sptBentConnector3Vert ),
8017 (sal_uInt16*)mso_sptBentConnector3Segm, sizeof( mso_sptBentConnector3Segm ) >> 1,
8018 (SvxMSDffCalculationData*)mso_sptBentConnector3Calc, SAL_N_ELEMENTS( mso_sptBentConnector3Calc ),
8019 (sal_Int32*)mso_sptBentConnector3Default,
8020 NULL, 0,
8021 21600, 21600,
8022 MIN_INT32, MIN_INT32,
8023 NULL, 0,
8024 (SvxMSDffHandle*)mso_sptBentConnector3Handle, SAL_N_ELEMENTS( mso_sptBentConnector3Handle )
8027 static const SvxMSDffVertPair mso_sptBentConnector4Vert[] =
8029 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 21600, 1 MSO_I }, { 21600, 21600 }
8031 static const sal_uInt16 mso_sptBentConnector4Segm[] =
8033 0x4000, 0x0004, 0x8000
8035 static const SvxMSDffCalculationData mso_sptBentConnector4Calc[] =
8037 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
8038 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
8039 { 0x2000, { 0x400, 21600, 0 } },
8040 { 0x2001, { 0x402, 1, 2 } },
8041 { 0x2001, { 0x401, 1, 2 } }
8043 static const sal_Int32 mso_sptBentConnector4Default[] =
8045 2, 10800, 10800
8047 static const SvxMSDffHandle mso_sptBentConnector4Handle[] =
8049 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8050 0x100, 4 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 4 + 3, 4 + 3 },
8051 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
8052 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, MIN_INT32, 0x7fffffff }
8054 static const mso_CustomShape msoBentConnector4 =
8056 (SvxMSDffVertPair*)mso_sptBentConnector4Vert, SAL_N_ELEMENTS( mso_sptBentConnector4Vert ),
8057 (sal_uInt16*)mso_sptBentConnector4Segm, sizeof( mso_sptBentConnector4Segm ) >> 1,
8058 (SvxMSDffCalculationData*)mso_sptBentConnector4Calc, SAL_N_ELEMENTS( mso_sptBentConnector4Calc ),
8059 (sal_Int32*)mso_sptBentConnector4Default,
8060 NULL, 0,
8061 21600, 21600,
8062 MIN_INT32, MIN_INT32,
8063 NULL, 0,
8064 (SvxMSDffHandle*)mso_sptBentConnector4Handle, SAL_N_ELEMENTS( mso_sptBentConnector4Handle )
8067 static const SvxMSDffVertPair mso_sptBentConnector5Vert[] =
8069 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 4 MSO_I }, { 1 MSO_I, 4 MSO_I }, { 1 MSO_I, 21600 }, { 21600, 21600 }
8071 static const sal_uInt16 mso_sptBentConnector5Segm[] =
8073 0x4000, 0x0005, 0x8000
8075 static const SvxMSDffCalculationData mso_sptBentConnector5Calc[] =
8077 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
8078 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
8079 { 0x6000, { 0x400, 0x401, 0 } },
8080 { 0x2001, { 0x402, 1, 2 } },
8081 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
8082 { 0x2001, { 0x404, 1, 2 } },
8083 { 0x4000, { 21600, 0x404, 0 } },
8084 { 0x2001, { 0x406, 1, 2 } }
8086 static const sal_Int32 mso_sptBentConnector5Default[] =
8088 3, 10800, 10800, 10800
8090 static const SvxMSDffHandle mso_sptBentConnector5Handle[] =
8092 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8093 0x100, 5 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 5 + 3, 5 + 3 },
8094 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
8095 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, MIN_INT32, 0x7fffffff },
8096 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8097 0x102, 7 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 7 + 3, 7 + 3 }
8099 static const mso_CustomShape msoBentConnector5 =
8101 (SvxMSDffVertPair*)mso_sptBentConnector5Vert, SAL_N_ELEMENTS( mso_sptBentConnector5Vert ),
8102 (sal_uInt16*)mso_sptBentConnector5Segm, sizeof( mso_sptBentConnector5Segm ) >> 1,
8103 (SvxMSDffCalculationData*)mso_sptBentConnector5Calc, SAL_N_ELEMENTS( mso_sptBentConnector5Calc ),
8104 (sal_Int32*)mso_sptBentConnector5Default,
8105 NULL, 0,
8106 21600, 21600,
8107 MIN_INT32, MIN_INT32,
8108 NULL, 0,
8109 (SvxMSDffHandle*)mso_sptBentConnector5Handle, SAL_N_ELEMENTS( mso_sptBentConnector5Handle )
8112 static const SvxMSDffVertPair mso_sptCurvedConnector2Vert[] =
8114 { 0, 0 }, { 10800, 0 }, { 21600, 10800 }, { 21600, 21600 }
8116 static const sal_uInt16 mso_sptCurvedConnector2Segm[] =
8118 0x4000, 0x2001, 0x8000
8120 static const mso_CustomShape msoCurvedConnector2 =
8122 (SvxMSDffVertPair*)mso_sptCurvedConnector2Vert, SAL_N_ELEMENTS( mso_sptCurvedConnector2Vert ),
8123 (sal_uInt16*)mso_sptCurvedConnector2Segm, sizeof( mso_sptCurvedConnector2Segm ) >> 1,
8124 (SvxMSDffCalculationData*)NULL, 0,
8125 (sal_Int32*)NULL,
8126 NULL, 0,
8127 21600, 21600,
8128 MIN_INT32, MIN_INT32,
8129 NULL, 0,
8130 (SvxMSDffHandle*)NULL, 0
8133 static const SvxMSDffVertPair mso_sptCurvedConnector3Vert[] =
8135 { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 5400 }, { 0 MSO_I, 10800 }, { 0 MSO_I, 16200 }, { 3 MSO_I, 21600 }, { 21600, 21600 }
8137 static const sal_uInt16 mso_sptCurvedConnector3Segm[] =
8139 0x4000, 0x2002, 0x8000
8141 static const SvxMSDffCalculationData mso_sptCurvedConnector3Calc[] =
8143 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
8144 { 0x2001, { 0x400, 1, 2 } },
8145 { 0x2000, { 0x400, 21600, 0 } },
8146 { 0x2001, { 0x402, 1, 2 } }
8148 static const sal_Int32 mso_sptCurvedConnector3Default[] =
8150 1, 10800
8152 static const SvxMSDffHandle mso_sptCurvedConnector3Handle[] =
8154 { MSDFF_HANDLE_FLAGS_RANGE,
8155 0x100, 10800, 10800, 10800, MIN_INT32, 0x7fffffff, MIN_INT32, 0x7fffffff }
8157 static const mso_CustomShape msoCurvedConnector3 =
8159 (SvxMSDffVertPair*)mso_sptCurvedConnector3Vert, SAL_N_ELEMENTS( mso_sptCurvedConnector3Vert ),
8160 (sal_uInt16*)mso_sptCurvedConnector3Segm, sizeof( mso_sptCurvedConnector3Segm ) >> 1,
8161 (SvxMSDffCalculationData*)mso_sptCurvedConnector3Calc, SAL_N_ELEMENTS( mso_sptCurvedConnector3Calc ),
8162 (sal_Int32*)mso_sptCurvedConnector3Default,
8163 NULL, 0,
8164 21600, 21600,
8165 MIN_INT32, MIN_INT32,
8166 NULL, 0,
8167 (SvxMSDffHandle*)mso_sptCurvedConnector3Handle, SAL_N_ELEMENTS( mso_sptCurvedConnector3Handle )
8170 static const SvxMSDffVertPair mso_sptCurvedConnector4Vert[] =
8172 { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 10 MSO_I }, { 0 MSO_I, 9 MSO_I },
8173 { 0 MSO_I, 12 MSO_I }, { 5 MSO_I, 8 MSO_I }, { 3 MSO_I, 8 MSO_I },
8174 { 7 MSO_I, 8 MSO_I }, { 21600, 14 MSO_I }, { 21600, 21600 }
8177 static const sal_uInt16 mso_sptCurvedConnector4Segm[] =
8179 0x4000, 0x2003, 0x8000
8181 static const SvxMSDffCalculationData mso_sptCurvedConnector4Calc[] =
8183 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
8184 { 0x2001, { 0x400, 1, 2 } },
8185 { 0x4000, { 21600, 0x400, 0 } },
8186 { 0x2001, { 0x402, 1, 2 } },
8187 { 0x6000, { 0x400, 0x403, 0 } },
8188 { 0x2001, { 0x404, 1, 2 } },
8189 { 0x2000, { 0x403, 21600, 0 } },
8190 { 0x2001, { 0x406, 1, 2 } },
8191 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
8192 { 0x2001, { DFF_Prop_adjust2Value, 1, 2 } },
8193 { 0x2001, { DFF_Prop_adjust2Value, 1, 4 } },
8194 { 0x6000, { 0x408, 0x409, 0 } },
8195 { 0x2001, { 0x40b, 1, 2 } },
8196 { 0x2000, { 0x408, 21600, 0 } },
8197 { 0x2001, { 0x40d, 1, 2 } }
8199 static const sal_Int32 mso_sptCurvedConnector4Default[] =
8201 2, 10800, 10800
8203 static const SvxMSDffHandle mso_sptCurvedConnector4Handle[] =
8205 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8206 0x100, 9 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 9 + 3, 9 + 3 },
8207 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
8208 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, MIN_INT32, 0x7fffffff }
8210 static const mso_CustomShape msoCurvedConnector4 =
8212 (SvxMSDffVertPair*)mso_sptCurvedConnector4Vert, SAL_N_ELEMENTS( mso_sptCurvedConnector4Vert ),
8213 (sal_uInt16*)mso_sptCurvedConnector4Segm, sizeof( mso_sptCurvedConnector4Segm ) >> 1,
8214 (SvxMSDffCalculationData*)mso_sptCurvedConnector4Calc, SAL_N_ELEMENTS( mso_sptCurvedConnector4Calc ),
8215 (sal_Int32*)mso_sptCurvedConnector4Default,
8216 NULL, 0,
8217 21600, 21600,
8218 MIN_INT32, MIN_INT32,
8219 NULL, 0,
8220 (SvxMSDffHandle*)mso_sptCurvedConnector4Handle, SAL_N_ELEMENTS( mso_sptCurvedConnector4Handle )
8223 static const SvxMSDffVertPair mso_sptCurvedConnector5Vert[] =
8225 { 0, 0 },
8226 { 21 MSO_I, 0 }, { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I },
8227 { 0 MSO_I, 14 MSO_I }, { 6 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
8228 { 8 MSO_I, 4 MSO_I }, { 1 MSO_I, 18 MSO_I }, { 1 MSO_I, 16 MSO_I },
8229 { 1 MSO_I, 20 MSO_I }, { 10 MSO_I, 21600 }, { 21600, 21600 }
8231 static const sal_uInt16 mso_sptCurvedConnector5Segm[] =
8233 0x4000, 0x2004, 0x8000
8235 static const SvxMSDffCalculationData mso_sptCurvedConnector5Calc[] =
8237 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
8238 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
8239 { 0x6000, { 0x400, 0x401, 0 } },
8240 { 0x2001, { 0x402, 1, 2 } },
8241 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
8242 { 0x6000, { 0x400, 0x403, 0 } },
8243 { 0x2001, { 0x405, 1, 2 } },
8244 { 0x6000, { 0x401, 0x403, 0 } },
8245 { 0x2001, { 0x407, 1, 2 } },
8246 { 0x2000, { 0x401, 21600, 0 } },
8247 { 0x2001, { 0x409, 1, 2 } },
8248 { 0x2001, { 0x404, 1, 2 } },
8249 { 0x2001, { 0x40b, 1, 2 } },
8250 { 0x6000, { 0x404, 0x40b, 0 } },
8251 { 0x2001, { 0x40d, 1, 2 } },
8252 { 0x2000, { 0x404, 21600, 0 } },
8253 { 0x2001, { 0x40f, 1, 2 } },
8254 { 0x6000, { 0x404, 0x410, 0 } },
8255 { 0x2001, { 0x411, 1, 2 } },
8256 { 0x2000, { 0x410, 21600, 0 } },
8257 { 0x2001, { 0x413, 1, 2 } },
8258 { 0x2001, { 0x400, 1, 2 } }
8260 static const sal_Int32 mso_sptCurvedConnector5Default[] =
8262 3, 10800, 10800, 10800
8264 static const SvxMSDffHandle mso_sptCurvedConnector5Handle[] =
8266 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8267 0x100, 11 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 11 + 3, 11 + 3 },
8268 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
8269 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, MIN_INT32, 0x7fffffff },
8270 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8271 0x102, 16 + 3, 10800, 10800, MIN_INT32, 0x7fffffff, 16 + 3, 16 + 3 }
8273 static const mso_CustomShape msoCurvedConnector5 =
8275 (SvxMSDffVertPair*)mso_sptCurvedConnector5Vert, SAL_N_ELEMENTS( mso_sptCurvedConnector5Vert ),
8276 (sal_uInt16*)mso_sptCurvedConnector5Segm, sizeof( mso_sptCurvedConnector5Segm ) >> 1,
8277 (SvxMSDffCalculationData*)mso_sptCurvedConnector5Calc, SAL_N_ELEMENTS( mso_sptCurvedConnector5Calc ),
8278 (sal_Int32*)mso_sptCurvedConnector5Default,
8279 NULL, 0,
8280 21600, 21600,
8281 MIN_INT32, MIN_INT32,
8282 NULL, 0,
8283 (SvxMSDffHandle*)mso_sptCurvedConnector5Handle, SAL_N_ELEMENTS( mso_sptCurvedConnector5Handle )
8286 /////////////////////////////teardrop
8287 static const SvxMSDffVertPair mso_sptTearDropVert[] =
8289 { 10800, 0 },
8290 { 0, 10800 }, // X
8291 { 10800, 21600 }, // Y
8292 { 21600, 10800 }, // X
8293 { 21600, 10800 }, { 21600, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }, // C
8294 { 0 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 }, { 10800, 0 }
8297 // the last number (0x***n) : 0 = sum, 1 = prod, 2 = mid, 3 = abs, 4 = min, 5 = max, 6 = if, 13 = sqrt, 15 = eclipse ...
8298 // the first number(0xn***) : 2/4/8 the first/second/third value is not directly value
8299 static const SvxMSDffCalculationData mso_sptTearDropCalc[] =
8301 { 0x2000 , { DFF_Prop_adjustValue , 0 , 0 } }, // 0 adjust value #0
8302 { 0x8000 , { 21600 , 0 , 0x0400 } }, // 1 21600 - @0 y0
8303 { 0x8000 , { 32400 , 0 , 0x0400 } }, // 2 (32400 - @0)
8304 { 0x2001 , { 0x0402 , 1 , 2 } }, // 3 (32400 - @0)/2 y1
8305 { 0x2002 , { 0x0400 , 10800 , 0 } }, // 4 (@0+10800)/2 x2
8308 //m, qx, qy, qx,C,C
8309 //the last number(0x***n) : repeat number of this current Segm
8310 static const sal_uInt16 mso_sptTearDropSegm[] =
8312 0x4000, 0xa701, 0xa801, 0xa701, 0x2002, 0x6000, 0x8000
8315 static const SvxMSDffTextRectangles mso_sptTearDropTextRect[] =
8317 { { 2863, 2863 }, { 18737, 18737 } }
8320 //the range of adjust values
8321 static const SvxMSDffHandle mso_sptTearDropHandle[] =
8323 //position="$0,0" xrange="10800,32400"
8324 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL| MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
8325 0x100, 0, 10800, 10800, 10800, 32400, MIN_INT32, 0x7fffffff }
8328 //the number of adjust values, the default values
8329 static const sal_Int32 mso_sptTearDropDefault[] =
8331 1, 21600
8334 static const mso_CustomShape msoTearDrop =
8336 (SvxMSDffVertPair*)mso_sptTearDropVert, sizeof( mso_sptTearDropVert ) / sizeof( SvxMSDffVertPair ),
8337 (sal_uInt16*)mso_sptTearDropSegm, sizeof( mso_sptTearDropSegm ) >> 1,
8338 (SvxMSDffCalculationData*)mso_sptTearDropCalc, sizeof(mso_sptTearDropCalc)/sizeof(SvxMSDffCalculationData),
8339 (sal_Int32*)mso_sptTearDropDefault,
8340 (SvxMSDffTextRectangles*)mso_sptTearDropTextRect, sizeof( mso_sptTearDropTextRect ) / sizeof( SvxMSDffTextRectangles ),
8341 21600, 21600,
8342 MIN_INT32, MIN_INT32,
8343 NULL, 0,
8344 (SvxMSDffHandle*)mso_sptTearDropHandle, sizeof(mso_sptTearDropHandle)/sizeof(SvxMSDffHandle) // handles
8348 const mso_CustomShape* GetCustomShapeContent( MSO_SPT eSpType )
8350 const mso_CustomShape* pCustomShape = NULL;
8351 switch( eSpType )
8353 case mso_sptArc : pCustomShape = &msoArc; break;
8354 case mso_sptLine: pCustomShape = &msoStraightConnector1; break;
8355 case mso_sptRectangle : pCustomShape = &msoRectangle; break;
8356 case mso_sptParallelogram : pCustomShape = &msoParallelogram; break;
8357 case mso_sptTrapezoid : pCustomShape = &msoTrapezoid; break;
8358 case mso_sptDiamond : pCustomShape = &msoDiamond; break;
8359 case mso_sptRoundRectangle : pCustomShape = &msoRoundRectangle; break;
8360 case mso_sptOctagon : pCustomShape = &msoOctagon; break;
8361 case mso_sptIsocelesTriangle : pCustomShape = &msoIsocelesTriangle; break;
8362 case mso_sptRightTriangle : pCustomShape = &msoRightTriangle; break;
8363 case mso_sptEllipse : pCustomShape = &msoEllipse; break;
8364 case mso_sptHexagon : pCustomShape = &msoHexagon; break;
8365 case mso_sptPlus : pCustomShape = &msoPlus; break;
8366 case mso_sptPentagon : pCustomShape = &msoPentagon; break;
8367 case mso_sptCan : pCustomShape = &msoCan; break;
8368 case mso_sptCube : pCustomShape = &msoCube; break;
8369 case mso_sptBalloon : pCustomShape = &msoBalloon; break;
8370 case mso_sptActionButtonBlank : pCustomShape = &msoActionButtonBlank; break;
8371 case mso_sptActionButtonHome : pCustomShape = &msoActionButtonHome; break;
8372 case mso_sptActionButtonHelp : pCustomShape = &msoActionButtonHelp; break;
8373 case mso_sptActionButtonInformation : pCustomShape = &msoActionButtonInformation; break;
8374 case mso_sptActionButtonBackPrevious : pCustomShape = &msoActionButtonBackPrevious; break;
8375 case mso_sptActionButtonForwardNext : pCustomShape = &msoActionButtonForwardNext; break;
8376 case mso_sptActionButtonBeginning : pCustomShape = &msoActionButtonBeginning; break;
8377 case mso_sptActionButtonEnd : pCustomShape = &msoActionButtonEnd; break;
8378 case mso_sptActionButtonReturn : pCustomShape = &msoActionButtonReturn; break;
8379 case mso_sptActionButtonDocument : pCustomShape = &msoActionButtonDocument; break;
8380 case mso_sptActionButtonSound : pCustomShape = &msoActionButtonSound; break;
8381 case mso_sptActionButtonMovie : pCustomShape = &msoActionButtonMovie; break;
8382 case mso_sptBevel : pCustomShape = &msoBevel; break;
8383 case mso_sptFoldedCorner : pCustomShape = &msoFoldedCorner; break;
8384 case mso_sptSmileyFace : pCustomShape = &msoSmileyFace; break;
8385 case mso_sptDonut : pCustomShape = &msoDonut; break;
8386 case mso_sptNoSmoking : pCustomShape = &msoNoSmoking; break;
8387 case mso_sptBlockArc : pCustomShape = &msoBlockArc; break;
8388 case mso_sptHeart : pCustomShape = &msoHeart; break;
8389 case mso_sptLightningBolt : pCustomShape = &msoLightningBold; break;
8390 case mso_sptSun : pCustomShape = &msoSun; break;
8391 case mso_sptMoon : pCustomShape = &msoMoon; break;
8392 case mso_sptBracketPair : pCustomShape = &msoBracketPair; break;
8393 case mso_sptBracePair : pCustomShape = &msoBracePair; break;
8394 case mso_sptPlaque : pCustomShape = &msoPlaque; break;
8395 case mso_sptLeftBracket : pCustomShape = &msoLeftBracket; break;
8396 case mso_sptRightBracket : pCustomShape = &msoRightBracket; break;
8397 case mso_sptLeftBrace : pCustomShape = &msoLeftBrace; break;
8398 case mso_sptRightBrace : pCustomShape = &msoRightBrace; break;
8399 case mso_sptArrow : pCustomShape = &msoArrow; break;
8400 case mso_sptUpArrow : pCustomShape = &msoUpArrow; break;
8401 case mso_sptDownArrow : pCustomShape = &msoDownArrow; break;
8402 case mso_sptLeftArrow : pCustomShape = &msoLeftArrow; break;
8403 case mso_sptLeftRightArrow : pCustomShape = &msoLeftRightArrow; break;
8404 case mso_sptUpDownArrow : pCustomShape = &msoUpDownArrow; break;
8405 case mso_sptQuadArrow : pCustomShape = &msoQuadArrow; break;
8406 case mso_sptLeftRightUpArrow : pCustomShape = &msoLeftRightUpArrow; break;
8407 case mso_sptBentArrow : pCustomShape = &msoBentArrow; break;
8408 case mso_sptUturnArrow : pCustomShape = &msoUturnArrow; break;
8409 case mso_sptLeftUpArrow : pCustomShape = &msoLeftUpArrow; break;
8410 case mso_sptBentUpArrow : pCustomShape = &msoBentUpArrow; break;
8411 case mso_sptCurvedRightArrow : pCustomShape = &msoCurvedRightArrow; break;
8412 case mso_sptCurvedLeftArrow : pCustomShape = &msoCurvedLeftArrow; break;
8413 case mso_sptCurvedUpArrow : pCustomShape = &msoCurvedUpArrow; break;
8414 case mso_sptCurvedDownArrow : pCustomShape = &msoCurvedDownArrow; break;
8415 case mso_sptStripedRightArrow : pCustomShape = &msoStripedRightArrow; break;
8416 case mso_sptNotchedRightArrow : pCustomShape = &msoNotchedRightArrow; break;
8417 case mso_sptHomePlate : pCustomShape = &msoHomePlate; break;
8418 case mso_sptChevron : pCustomShape = &msoChevron; break;
8419 case mso_sptRightArrowCallout : pCustomShape = &msoRightArrowCallout; break;
8420 case mso_sptLeftArrowCallout : pCustomShape = &msoLeftArrowCallout; break;
8421 case mso_sptUpArrowCallout : pCustomShape = &msoUpArrowCallout; break;
8422 case mso_sptDownArrowCallout : pCustomShape = &msoDownArrowCallout; break;
8423 case mso_sptLeftRightArrowCallout : pCustomShape = &msoLeftRightArrowCallout; break;
8424 case mso_sptUpDownArrowCallout : pCustomShape = &msoUpDownArrowCallout; break;
8425 case mso_sptQuadArrowCallout : pCustomShape = &msoQuadArrowCallout; break;
8426 case mso_sptCircularArrow : pCustomShape = &msoCircularArrow; break;
8427 case mso_sptIrregularSeal1 : pCustomShape = &msoIrregularSeal1; break;
8428 case mso_sptIrregularSeal2 : pCustomShape = &msoIrregularSeal2; break;
8429 case mso_sptSeal4 : pCustomShape = &msoSeal4; break;
8430 case mso_sptStar : pCustomShape = &msoStar; break;
8431 case mso_sptSeal8 : pCustomShape = &msoSeal8; break;
8432 case mso_sptSeal :
8433 case mso_sptSeal16 : pCustomShape = &msoSeal16; break;
8434 case mso_sptSeal24 : pCustomShape = &msoSeal24; break;
8435 case mso_sptSeal32 : pCustomShape = &msoSeal32; break;
8436 case mso_sptRibbon2 : pCustomShape = &msoRibbon2; break;
8437 case mso_sptRibbon : pCustomShape = &msoRibbon; break;
8438 case mso_sptEllipseRibbon2 : pCustomShape = &msosptEllipseRibbon2; break; // SJ: TODO
8439 case mso_sptEllipseRibbon : pCustomShape = &msosptEllipseRibbon; break; // SJ: TODO
8440 case mso_sptVerticalScroll : pCustomShape = &msoVerticalScroll; break;
8441 case mso_sptHorizontalScroll : pCustomShape = &msoHorizontalScroll; break;
8442 case mso_sptFlowChartProcess : pCustomShape = &msoFlowChartProcess; break;
8443 case mso_sptFlowChartAlternateProcess : pCustomShape = &msoFlowChartAlternateProcess; break;
8444 case mso_sptFlowChartDecision : pCustomShape = &msoFlowChartDecision; break;
8445 case mso_sptFlowChartInputOutput : pCustomShape = &msoFlowChartInputOutput; break;
8446 case mso_sptFlowChartPredefinedProcess :pCustomShape = &msoFlowChartPredefinedProcess; break;
8447 case mso_sptFlowChartInternalStorage : pCustomShape = &msoFlowChartInternalStorage; break;
8448 case mso_sptFlowChartDocument : pCustomShape = &msoFlowChartDocument; break;
8449 case mso_sptFlowChartMultidocument : pCustomShape = &msoFlowChartMultidocument; break;
8450 case mso_sptFlowChartTerminator : pCustomShape = &msoFlowChartTerminator; break;
8451 case mso_sptFlowChartPreparation : pCustomShape = &msoFlowChartPreparation; break;
8452 case mso_sptFlowChartManualInput : pCustomShape = &msoFlowChartManualInput; break;
8453 case mso_sptFlowChartManualOperation : pCustomShape = &msoFlowChartManualOperation; break;
8454 case mso_sptFlowChartConnector : pCustomShape = &msoFlowChartConnector; break;
8455 case mso_sptFlowChartOffpageConnector : pCustomShape = &msoFlowChartOffpageConnector; break;
8456 case mso_sptFlowChartPunchedCard : pCustomShape = &msoFlowChartPunchedCard; break;
8457 case mso_sptFlowChartPunchedTape : pCustomShape = &msoFlowChartPunchedTape; break;
8458 case mso_sptFlowChartSummingJunction : pCustomShape = &msoFlowChartSummingJunction; break;
8459 case mso_sptFlowChartOr : pCustomShape = &msoFlowChartOr; break;
8460 case mso_sptFlowChartCollate : pCustomShape = &msoFlowChartCollate; break;
8461 case mso_sptFlowChartSort : pCustomShape = &msoFlowChartSort; break;
8462 case mso_sptFlowChartExtract : pCustomShape = &msoFlowChartExtract; break;
8463 case mso_sptFlowChartMerge : pCustomShape = &msoFlowChartMerge; break;
8464 case mso_sptFlowChartOnlineStorage : pCustomShape = &msoFlowChartOnlineStorage; break;
8465 case mso_sptFlowChartDelay : pCustomShape = &msoFlowChartDelay; break;
8466 case mso_sptFlowChartMagneticTape : pCustomShape = &msoFlowChartMagneticTape; break;
8467 case mso_sptFlowChartMagneticDisk : pCustomShape = &msoFlowChartMagneticDisk; break;
8468 case mso_sptFlowChartMagneticDrum : pCustomShape = &msoFlowChartMagneticDrum; break;
8469 case mso_sptFlowChartDisplay : pCustomShape = &msoFlowChartDisplay; break;
8470 case mso_sptWedgeRectCallout : pCustomShape = &msoWedgeRectCallout; break;
8471 case mso_sptWedgeRRectCallout : pCustomShape = &msoWedgeRRectCallout; break;
8472 case mso_sptWedgeEllipseCallout : pCustomShape = &msoWedgeEllipseCallout; break;
8473 case mso_sptCloudCallout : pCustomShape = &msoCloudCallout; break;
8474 case mso_sptWave : pCustomShape = &msoWave; break;
8475 case mso_sptDoubleWave : pCustomShape = &msoDoubleWave; break;
8477 // callout
8478 case mso_sptCallout1 : pCustomShape = &msoCallout1; break;
8479 case mso_sptCallout2 : pCustomShape = &msoCallout2; break;
8480 case mso_sptCallout3 : pCustomShape = &msoCallout3; break;
8481 case mso_sptAccentCallout1 : pCustomShape = &msoAccentCallout1; break;
8482 case mso_sptAccentCallout2 : pCustomShape = &msoAccentCallout2; break;
8483 case mso_sptAccentCallout3 : pCustomShape = &msoAccentCallout3; break;
8484 case mso_sptBorderCallout1 : pCustomShape = &msoBorderCallout1; break;
8485 case mso_sptBorderCallout2 : pCustomShape = &msoBorderCallout2; break;
8486 case mso_sptBorderCallout3 : pCustomShape = &msoBorderCallout3; break;
8487 case mso_sptAccentBorderCallout1 : pCustomShape = &msoAccentBorderCallout1; break;
8488 case mso_sptAccentBorderCallout2 : pCustomShape = &msoAccentBorderCallout2; break;
8489 case mso_sptAccentBorderCallout3 : pCustomShape = &msoAccentBorderCallout3; break;
8490 case mso_sptCallout90 : pCustomShape = &msoCallout90; break;
8491 case mso_sptAccentCallout90 : pCustomShape = &msoAccentCallout90; break;
8492 case mso_sptBorderCallout90 : pCustomShape = &msoBorderCallout90; break;
8493 case mso_sptAccentBorderCallout90 : pCustomShape = &msoAccentBorderCallout90; break;
8495 // connectors
8496 case mso_sptStraightConnector1 : pCustomShape = &msoStraightConnector1; break;
8497 case mso_sptBentConnector2 : pCustomShape = &msoBentConnector2; break;
8498 case mso_sptBentConnector3 : pCustomShape = &msoBentConnector3; break;
8499 case mso_sptBentConnector4 : pCustomShape = &msoBentConnector4; break;
8500 case mso_sptBentConnector5 : pCustomShape = &msoBentConnector5; break;
8501 case mso_sptCurvedConnector2 : pCustomShape = &msoCurvedConnector2; break;
8502 case mso_sptCurvedConnector3 : pCustomShape = &msoCurvedConnector3; break;
8503 case mso_sptCurvedConnector4 : pCustomShape = &msoCurvedConnector4; break;
8504 case mso_sptCurvedConnector5 : pCustomShape = &msoCurvedConnector5; break;
8506 // Dont know, simply mapping to TextSimple
8507 case mso_sptTextOnRing :
8508 case mso_sptTextOnCurve :
8509 case mso_sptTextRing :
8510 case mso_sptTextWave :
8511 case mso_sptTextCurve :
8512 case mso_sptTextHexagon :
8513 case mso_sptTextOctagon :
8514 case mso_sptTextBox : pCustomShape = &msoTextSimple; break;
8516 // FontWork
8517 case mso_sptTextSimple :
8518 case mso_sptTextPlainText : pCustomShape = &msoTextPlainText; break;
8519 case mso_sptTextStop : pCustomShape = &msoTextStop; break;
8520 case mso_sptTextTriangle : pCustomShape = &msoTextTriangle; break;
8521 case mso_sptTextTriangleInverted : pCustomShape = &msoTextTriangleInverted; break;
8522 case mso_sptTextChevron : pCustomShape = &msoTextChevron; break;
8523 case mso_sptTextChevronInverted : pCustomShape = &msoTextChevronInverted; break;
8524 case mso_sptTextRingInside : pCustomShape = &msoTextRingInside; break; // SJ: TODO->the orientation of the ellipse needs to be changed
8525 case mso_sptTextRingOutside : pCustomShape = &msoTextRingOutside; break;
8526 case mso_sptTextFadeRight : pCustomShape = &msoTextFadeRight; break;
8527 case mso_sptTextFadeLeft : pCustomShape = &msoTextFadeLeft; break;
8528 case mso_sptTextFadeUp : pCustomShape = &msoTextFadeUp; break;
8529 case mso_sptTextFadeDown : pCustomShape = &msoTextFadeDown; break;
8530 case mso_sptTextSlantUp : pCustomShape = &msoTextSlantUp; break;
8531 case mso_sptTextSlantDown : pCustomShape = &msoTextSlantDown; break;
8532 case mso_sptTextCascadeUp : pCustomShape = &msoTextCascadeUp; break;
8533 case mso_sptTextCascadeDown : pCustomShape = &msoTextCascadeDown; break;
8534 case mso_sptTextArchUpCurve : pCustomShape = &msoTextArchUpCurve; break;
8535 case mso_sptTextArchDownCurve : pCustomShape = &msoTextArchDownCurve; break;
8536 case mso_sptTextCircleCurve : pCustomShape = &msoTextCircleCurve; break;
8537 case mso_sptTextButtonCurve : pCustomShape = &msoTextButtonCurve; break;
8538 case mso_sptTextArchUpPour : pCustomShape = &msoTextArchUpPour; break;
8539 case mso_sptTextArchDownPour : pCustomShape = &msoTextArchDownPour; break;
8540 case mso_sptTextCirclePour : pCustomShape = &msoTextCirclePour; break;
8541 case mso_sptTextButtonPour : pCustomShape = &msoTextButtonPour; break;
8542 case mso_sptTextCurveUp : pCustomShape = &msoTextCurveUp; break;
8543 case mso_sptTextCurveDown : pCustomShape = &msoTextCurveDown; break;
8544 case mso_sptTextCanUp : pCustomShape = &msoTextCanUp; break;
8545 case mso_sptTextCanDown : pCustomShape = &msoTextCanDown; break;
8546 case mso_sptTextInflate : pCustomShape = &msoTextInflate; break;
8547 case mso_sptTextDeflate : pCustomShape = &msoTextDeflate; break;
8548 case mso_sptTextInflateBottom : pCustomShape = &msoTextInflateBottom; break;
8549 case mso_sptTextDeflateBottom : pCustomShape = &msoTextDeflateBottom; break;
8550 case mso_sptTextInflateTop : pCustomShape = &msoTextInflateTop; break;
8551 case mso_sptTextDeflateTop : pCustomShape = &msoTextDeflateTop; break;
8552 case mso_sptTextDeflateInflate : pCustomShape = &msoTextDeflateInflate; break;
8553 case mso_sptTextDeflateInflateDeflate : pCustomShape = &msoTextDeflateInflateDeflate; break;
8554 case mso_sptTextWave1 : pCustomShape = &msoTextWave1; break;
8555 case mso_sptTextWave2 : pCustomShape = &msoTextWave2; break;
8556 case mso_sptTextWave3 : pCustomShape = &msoTextWave3; break;
8557 case mso_sptTextWave4 : pCustomShape = &msoTextWave4; break;
8558 case mso_sptTearDrop : pCustomShape = &msoTearDrop; break;
8559 default :
8560 break;
8562 return pCustomShape;
8565 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */