1 /**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements. See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership. The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License. You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied. See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23
24 // MARKER(update_precomp.py): autogen include statement, do not remove
25 #include "precompiled_svx.hxx"
26 #include "svx/EnhancedCustomShapeGeometry.hxx"
27 #include <com/sun/star/drawing/EnhancedCustomShapeGluePointType.hpp>
28 /*
29 static const SvxMSDffVertPair Vert[] =
30 {
31 { 0, 0, }
32 };
33 static const sal_uInt16 Segm[] =
34 {
35 0x4000,
36 0x8000
37 };
38 static const SvxMSDffCalculationData Calc[] =
39 {
40 { 0x0000, 0, 0, 0 }
41 };
42 static const sal_Int32 Default[] =
43 {
44 0
45 };
46 static const SvxMSDffTextRect TextRect[] =
47 {
48 { { 0, 0 }, { 0, 0 } }
49 };
50 static const mso_CustomShape mso =
51 {
52 (SvxMSDffVertPair*)mso_sptVert, sizeof( mso_sptVert ) / sizeof( SvxMSDffVertPair ),
53 (sal_uInt16*)mso_sptSegm, sizeof( mso_sptSegm ) >> 1,
54 (SvxMSDffCalculationData*)mso_sptCalc, sizeof( mso_sptCalc ) / sizeof( SvxMSDffCalculationData ),
55 (sal_Int32*)mso_sptDefault,
56 (SvxMSDffTextRectangles*)mso_sptTextRect, sizeof( mso_sptTextRect ) / sizeof( SvxMSDffTextRectangles ),
57 21600, 21600,
58 Mx80000000, Mx80000000,
59 (SvxMSDffVertPair*)mso_sptVert, sizeof( mso_sptVert ) / sizeof( SvxMSDffVertPair ),
60 (SvxMSDffHandles*)mso_sptHandles, sizeof( mso_sptHandles ) / sizeof( SvxMSDffHandles )
61 };
62 */
63
64 static const sal_Int32 mso_sptDefault0[] =
65 {
66 1, 0
67 };
68 static const sal_Int32 mso_sptDefault1400[] =
69 {
70 1, 1400
71 };
72 static const sal_Int32 mso_sptDefault1800[] =
73 {
74 1, 1800
75 };
76 static const sal_Int32 mso_sptDefault2500[] =
77 {
78 1, 2500
79 };
80 static const sal_Int32 mso_sptDefault2700[] =
81 {
82 1, 2700
83 };
84 static const sal_Int32 mso_sptDefault3600[] =
85 {
86 1, 3600
87 };
88 static const sal_Int32 mso_sptDefault3700[] =
89 {
90 1, 3700
91 };
92 static const sal_Int32 mso_sptDefault5400[] =
93 {
94 1, 5400
95 };
96 static const sal_Int32 mso_sptDefault7200[] =
97 {
98 1, 7200
99 };
100 static const sal_Int32 mso_sptDefault8100[] =
101 {
102 1, 8100
103 };
104 static const sal_Int32 mso_sptDefault9600[] =
105 {
106 1, 9600
107 };
108 static const sal_Int32 mso_sptDefault10800[] =
109 {
110 1, 10800
111 };
112 static const sal_Int32 mso_sptDefault12000[] =
113 {
114 1, 12000
115 };
116 static const sal_Int32 mso_sptDefault13500[] =
117 {
118 1, 13500
119 };
120 static const sal_Int32 mso_sptDefault16200[] =
121 {
122 1, 16200
123 };
124 static const sal_Int32 mso_sptDefault16200and5400[] =
125 {
126 2, 16200, 5400
127 };
128
129 static const SvxMSDffVertPair mso_sptArcVert[] =
130 {
131 { 0, 0 }, { 21600, 21600 }, { 3 MSO_I, 1 MSO_I }, { 7 MSO_I, 5 MSO_I }, { 10800, 10800 },
132 { 0, 0 }, { 21600, 21600 }, { 3 MSO_I, 1 MSO_I }, { 7 MSO_I, 5 MSO_I }
133 };
134 static const sal_uInt16 mso_sptArcSegm[] =
135 {
136 0xa504, 0xab00, 0x0001, 0x6001, 0x8000,
137 0xa504, 0xaa00, 0x8000
138 };
139 static const SvxMSDffCalculationData mso_sptArcCalc[] =
140 {
141 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
142 { 0x2000, { 0x400, 10800, 0 } },
143 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
144 { 0x2000, { 0x402, 10800, 0 } },
145 { 0x4009, { 10800, DFF_Prop_adjust2Value, 0 } },
146 { 0x2000, { 0x404, 10800, 0 } },
147 { 0x400a, { 10800, DFF_Prop_adjust2Value, 0 } },
148 { 0x2000, { 0x406, 10800, 0 } }
149 };
150 static const sal_Int32 mso_sptArcDefault[] =
151 {
152 2, 270, 0
153 };
154 static const SvxMSDffVertPair mso_sptStandardGluePoints[] =
155 {
156 { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }
157 };
158 static const SvxMSDffHandle mso_sptArcHandle[] =
159 {
160 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
161 10800, 0x100, 10800, 10800, 10800, 10800, Mx80000000, 0x7fffffff },
162 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
163 10800, 0x101, 10800, 10800, 10800, 10800, Mx80000000, 0x7fffffff }
164 };
165 static const mso_CustomShape msoArc =
166 {
167 (SvxMSDffVertPair*)mso_sptArcVert, sizeof( mso_sptArcVert ) / sizeof( SvxMSDffVertPair ),
168 (sal_uInt16*)mso_sptArcSegm, sizeof( mso_sptArcSegm ) >> 1,
169 (SvxMSDffCalculationData*)mso_sptArcCalc, sizeof( mso_sptArcCalc ) / sizeof( SvxMSDffCalculationData ),
170 (sal_Int32*)mso_sptArcDefault,
171 NULL, 0,
172 21600, 21600,
173 Mx80000000, Mx80000000,
174 NULL, 0,
175 (SvxMSDffHandle*)mso_sptArcHandle, sizeof( mso_sptArcHandle ) / sizeof( SvxMSDffHandle ) // handles
176 };
177
178 static const SvxMSDffVertPair mso_sptTextSimpleVert[] =
179 {
180 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
181 };
182 static const mso_CustomShape msoTextSimple =
183 {
184 (SvxMSDffVertPair*)mso_sptTextSimpleVert, sizeof( mso_sptTextSimpleVert ) / sizeof( SvxMSDffVertPair ),
185 NULL, 0,
186 NULL, 0,
187 NULL,
188 NULL, 0,
189 21600, 21600,
190 Mx80000000, Mx80000000,
191 NULL, 0,
192 NULL, 0 // handles
193 };
194
195 static const SvxMSDffVertPair mso_sptRectangleVert[] =
196 {
197 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
198 };
199 static const mso_CustomShape msoRectangle =
200 {
201 (SvxMSDffVertPair*)mso_sptRectangleVert, sizeof( mso_sptRectangleVert ) / sizeof( SvxMSDffVertPair ),
202 NULL, 0,
203 NULL, 0,
204 NULL,
205 NULL, 0,
206 21600, 21600,
207 Mx80000000, Mx80000000,
208 NULL, 0,
209 NULL, 0 // handles
210 };
211
212 static const SvxMSDffVertPair mso_sptRoundRectangleVert[] = // adj value 0 -> 10800
213 {
214 { 7 MSO_I, 0 }, { 0, 8 MSO_I }, { 0, 9 MSO_I }, { 7 MSO_I, 21600 },
215 { 10 MSO_I, 21600 }, { 21600, 9 MSO_I }, { 21600, 8 MSO_I }, { 10 MSO_I, 0 }
216 };
217 static const sal_uInt16 mso_sptRoundRectangleSegm[] =
218 {
219 0x4000, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x6000, 0x8000
220 };
221 static const SvxMSDffCalculationData mso_sptRoundRectangleCalc[] =
222 {
223 { 0x000e, { 0, 45, 0 } },
224 { 0x6009, { DFF_Prop_adjustValue, 0x400, 0 } },
225 { 0x2001, { 0x401, 3163, 7636 } },
226 { 0x6000, { DFF_Prop_geoLeft, 0x402, 0 } },
227 { 0x6000, { DFF_Prop_geoTop, 0x402, 0 } },
228 { 0xa000, { DFF_Prop_geoRight, 0, 0x402 } },
229 { 0xa000, { DFF_Prop_geoBottom, 0, 0x402 } },
230 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
231 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
232 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
233 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } }
234 };
235 static const SvxMSDffTextRectangles mso_sptRoundRectangleTextRect[] =
236 {
237 { { 3 MSO_I, 4 MSO_I }, { 5 MSO_I, 6 MSO_I } }
238 };
239 static const SvxMSDffHandle mso_sptRoundRectangleHandle[] =
240 {
241 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
242 0x100, 0, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
243 };
244 static const mso_CustomShape msoRoundRectangle =
245 {
246 (SvxMSDffVertPair*)mso_sptRoundRectangleVert, sizeof( mso_sptRoundRectangleVert ) / sizeof( SvxMSDffVertPair ),
247 (sal_uInt16*)mso_sptRoundRectangleSegm, sizeof( mso_sptRoundRectangleSegm ) >> 1,
248 (SvxMSDffCalculationData*)mso_sptRoundRectangleCalc, sizeof( mso_sptRoundRectangleCalc ) / sizeof( SvxMSDffCalculationData ),
249 (sal_Int32*)mso_sptDefault3600,
250 (SvxMSDffTextRectangles*)mso_sptRoundRectangleTextRect, sizeof( mso_sptRoundRectangleTextRect ) / sizeof( SvxMSDffTextRectangles ),
251 21600, 21600,
252 10800, 10800,
253 NULL, 0,
254 (SvxMSDffHandle*)mso_sptRoundRectangleHandle, sizeof( mso_sptRoundRectangleHandle ) / sizeof( SvxMSDffHandle ) // handles
255 };
256
257 static const SvxMSDffVertPair mso_sptRightTriangleVert[] =
258 {
259 { 0, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
260 };
261 static const SvxMSDffTextRectangles mso_sptRightTriangleTextRect[] =
262 {
263 { { 1900, 12700 }, { 12700, 19700 } }
264 };
265 static const SvxMSDffVertPair mso_sptRightTriangleGluePoints[] =
266 {
267 { 0, 0 }, { 0, 10800 }, { 0, 21600 }, { 10800, 21600 }, { 21600, 21600 }, { 10800, 10800 }
268 };
269 static const mso_CustomShape msoRightTriangle =
270 {
271 (SvxMSDffVertPair*)mso_sptRightTriangleVert, sizeof( mso_sptRightTriangleVert ) / sizeof( SvxMSDffVertPair ),
272 NULL, 0,
273 NULL, 0,
274 NULL,
275 (SvxMSDffTextRectangles*)mso_sptRightTriangleTextRect, sizeof( mso_sptRightTriangleTextRect ) / sizeof( SvxMSDffTextRectangles ),
276 21600, 21600,
277 Mx80000000, Mx80000000,
278 (SvxMSDffVertPair*)mso_sptRightTriangleGluePoints, sizeof( mso_sptRightTriangleGluePoints ) / sizeof( SvxMSDffVertPair ),
279 NULL, 0 // handles
280 };
281
282 static const SvxMSDffVertPair mso_sptEllipseVert[] =
283 {
284 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 }
285 };
286 static const sal_uInt16 mso_sptEllipseSegm[] =
287 {
288 0xa203, 0x6000, 0x8000
289 };
290 static const SvxMSDffTextRectangles mso_sptEllipseTextRect[] =
291 {
292 { { 3163, 3163 }, { 18437, 18437 } }
293 };
294 static const SvxMSDffVertPair mso_sptEllipseGluePoints[] =
295 {
296 { 10800, 0 }, { 3163, 3163 }, { 0, 10800 }, { 3163, 18437 }, { 10800, 21600 }, { 18437, 18437 }, { 21600, 10800 }, { 18437, 3163 }
297 };
298 static const mso_CustomShape msoEllipse =
299 {
300 (SvxMSDffVertPair*)mso_sptEllipseVert, sizeof( mso_sptEllipseVert ) / sizeof( SvxMSDffVertPair ),
301 (sal_uInt16*)mso_sptEllipseSegm, sizeof( mso_sptEllipseSegm ) >> 1,
302 NULL, 0,
303 NULL,
304 (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, sizeof( mso_sptEllipseTextRect ) / sizeof( SvxMSDffTextRectangles ),
305 21600, 21600,
306 Mx80000000, Mx80000000,
307 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
308 NULL, 0 // handles
309 };
310
311 static const SvxMSDffVertPair mso_sptParallelogramVert[] = // adjustment1 : 0 - 21600
312 {
313 { 0 MSO_I, 0 }, { 21600, 0 }, { 1 MSO_I, 21600 }, { 0, 21600 }
314 };
315 static const sal_uInt16 mso_sptParallelogramSegm[] =
316 {
317 0x4000, 0x0003, 0x6001, 0x8000
318 };
319 static const SvxMSDffCalculationData mso_sptParallelogramCalc[] =
320 {
321 { 0x4000, { 0, DFF_Prop_adjustValue, 0 } },
322 { 0x8000, { 0, 21600, DFF_Prop_adjustValue } },
323 { 0x2001, { DFF_Prop_adjustValue, 10, 24 } },
324 { 0x2000, { 0x0402, 1750, 0 } },
325 { 0x8000, { 21600, 0, 0x0403 } },
326 { 0x2001, { 0x400, 1, 2 } },
327 { 0x4000, { 10800, 0x405, 0 } },
328 { 0x2000, { 0x400, 0, 10800 } },
329 { 0x6006, { 0x407, 0x40d, 0 } },
330 { 0x8000, { 10800, 0, 0x405 } },
331 { 0x6006, { 0x407, 0x40c, 21600 } },
332 { 0x8000, { 21600, 0, 0x405 } },
333 { 0x8001, { 21600, 10800, 0x400 } },
334 { 0x8000, { 21600, 0, 0x40c } }
335 };
336 static const SvxMSDffTextRectangles mso_sptParallelogramTextRect[] =
337 {
338 { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
339 };
340 static const SvxMSDffVertPair mso_sptParallelogramGluePoints[] =
341 {
342 { 6 MSO_I, 0 }, { 10800, 8 MSO_I }, { 11 MSO_I, 10800 }, { 9 MSO_I, 21600 }, { 10800, 10 MSO_I }, { 5 MSO_I, 10800 }
343 };
344 static const SvxMSDffHandle mso_sptParallelogramHandle[] =
345 {
346 { MSDFF_HANDLE_FLAGS_RANGE,
347 0x100, 0, 10800, 10800, 0, 21600, Mx80000000, 0x7fffffff }
348 };
349 static const mso_CustomShape msoParallelogram =
350 {
351 (SvxMSDffVertPair*)mso_sptParallelogramVert, sizeof( mso_sptParallelogramVert ) / sizeof( SvxMSDffVertPair ),
352 (sal_uInt16*)mso_sptParallelogramSegm, sizeof( mso_sptParallelogramSegm ) >> 1,
353 (SvxMSDffCalculationData*)mso_sptParallelogramCalc, sizeof( mso_sptParallelogramCalc ) / sizeof( SvxMSDffCalculationData ),
354 (sal_Int32*)mso_sptDefault5400,
355 (SvxMSDffTextRectangles*)mso_sptParallelogramTextRect, sizeof( mso_sptParallelogramTextRect ) / sizeof( SvxMSDffTextRectangles ),
356 21600, 21600,
357 Mx80000000, Mx80000000,
358 (SvxMSDffVertPair*)mso_sptParallelogramGluePoints, sizeof( mso_sptParallelogramGluePoints ) / sizeof( SvxMSDffVertPair ),
359 (SvxMSDffHandle*)mso_sptParallelogramHandle, sizeof( mso_sptParallelogramHandle ) / sizeof( SvxMSDffHandle ) // handles
360 };
361
362 static const SvxMSDffVertPair mso_sptDiamondVert[] =
363 {
364 { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 10800 }, { 10800, 0 }
365 };
366 static const SvxMSDffTextRectangles mso_sptDiamondTextRect[] =
367 {
368 { { 5400, 5400 }, { 16200, 16200 } }
369 };
370 static const mso_CustomShape msoDiamond =
371 {
372 (SvxMSDffVertPair*)mso_sptDiamondVert, sizeof( mso_sptDiamondVert ) / sizeof( SvxMSDffVertPair ),
373 NULL, 0,
374 NULL, 0,
375 NULL,
376 (SvxMSDffTextRectangles*)mso_sptDiamondTextRect, sizeof( mso_sptDiamondTextRect ) / sizeof( SvxMSDffTextRectangles ),
377 21600, 21600,
378 Mx80000000, Mx80000000,
379 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
380 NULL, 0 // handles
381 };
382
383 static const SvxMSDffVertPair mso_sptTrapezoidVert[] = // adjustment1 : 0 - 10800
384 {
385 { 0, 0 }, { 21600, 0 }, {0 MSO_I, 21600 }, { 1 MSO_I, 21600 }
386 };
387 static const sal_uInt16 mso_sptTrapezoidSegm[] =
388 {
389 0x4000, 0x0003, 0x6001, 0x8000
390 };
391 static const SvxMSDffCalculationData mso_sptTrapezoidCalc[] =
392 {
393 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
394 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
395 { 0x2001, { DFF_Prop_adjustValue, 10, 18 } },
396 { 0x2000, { 0x0402, 1750, 0 } },
397 { 0x8000, { 21600, 0, 0x403 } },
398 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
399 { 0x8000, { 21600, 0, 0x405 } }
400 };
401 static const SvxMSDffTextRectangles mso_sptTrapezoidTextRect[] =
402 {
403 { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
404 };
405 static const SvxMSDffVertPair mso_sptTrapezoidGluePoints[] =
406 {
407 { 6 MSO_I, 10800 }, { 10800, 21600 }, { 5 MSO_I, 10800 }, { 10800, 0 }
408 };
409 static const SvxMSDffHandle mso_sptTrapezoidHandle[] =
410 {
411 { MSDFF_HANDLE_FLAGS_RANGE,
412 0x100, 1, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
413 };
414 static const mso_CustomShape msoTrapezoid =
415 {
416 (SvxMSDffVertPair*)mso_sptTrapezoidVert, sizeof( mso_sptTrapezoidVert ) / sizeof( SvxMSDffVertPair ),
417 (sal_uInt16*)mso_sptTrapezoidSegm, sizeof( mso_sptTrapezoidSegm ) >> 1,
418 (SvxMSDffCalculationData*)mso_sptTrapezoidCalc, sizeof( mso_sptTrapezoidCalc ) / sizeof( SvxMSDffCalculationData ),
419 (sal_Int32*)mso_sptDefault5400,
420 (SvxMSDffTextRectangles*)mso_sptTrapezoidTextRect, sizeof( mso_sptTrapezoidTextRect ) / sizeof( SvxMSDffTextRectangles ),
421 21600, 21600,
422 Mx80000000, Mx80000000,
423 (SvxMSDffVertPair*)mso_sptTrapezoidGluePoints, sizeof( mso_sptTrapezoidGluePoints ) / sizeof( SvxMSDffVertPair ),
424 (SvxMSDffHandle*)mso_sptTrapezoidHandle, sizeof( mso_sptTrapezoidHandle ) / sizeof( SvxMSDffHandle ) // handles
425 };
426
427 static const SvxMSDffVertPair mso_sptOctagonVert[] = // adjustment1 : 0 - 10800
428 {
429 { 0 MSO_I, 0 }, { 2 MSO_I, 0 }, { 21600, 1 MSO_I }, { 21600, 3 MSO_I },
430 { 2 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0, 3 MSO_I }, { 0, 1 MSO_I }
431 };
432 static const sal_uInt16 mso_sptOctagonSegm[] =
433 {
434 0x4000, 0x0007, 0x6001, 0x8000
435 };
436 static const SvxMSDffCalculationData mso_sptOctagonCalc[] =
437 {
438 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
439 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
440 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
441 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
442 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
443 { 0x6000, { DFF_Prop_geoLeft, 0x404, 0 } },
444 { 0x6000, { DFF_Prop_geoTop, 0x404, 0 } },
445 { 0xa000, { DFF_Prop_geoRight, 0, 0x404 } },
446 { 0xa000, { DFF_Prop_geoBottom, 0, 0x404 } }
447 };
448 static const sal_Int32 mso_sptOctagonDefault[] =
449 {
450 1, 5000
451 };
452 static const SvxMSDffTextRectangles mso_sptOctagonTextRect[] =
453 {
454 { { 5 MSO_I, 6 MSO_I }, { 7 MSO_I, 8 MSO_I } }
455 };
456 static const SvxMSDffHandle mso_sptOctagonHandle[] =
457 {
458 { MSDFF_HANDLE_FLAGS_RANGE,
459 0x100, 0, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
460 };
461 static const mso_CustomShape msoOctagon =
462 {
463 (SvxMSDffVertPair*)mso_sptOctagonVert, sizeof( mso_sptOctagonVert ) / sizeof( SvxMSDffVertPair ),
464 (sal_uInt16*)mso_sptOctagonSegm, sizeof( mso_sptOctagonSegm ) >> 1,
465 (SvxMSDffCalculationData*)mso_sptOctagonCalc, sizeof( mso_sptOctagonCalc ) / sizeof( SvxMSDffCalculationData ),
466 (sal_Int32*)mso_sptOctagonDefault,
467 (SvxMSDffTextRectangles*)mso_sptOctagonTextRect, sizeof( mso_sptOctagonTextRect ) / sizeof( SvxMSDffTextRectangles ),
468 21600, 21600,
469 10800, 10800,
470 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
471 (SvxMSDffHandle*)mso_sptOctagonHandle, sizeof( mso_sptOctagonHandle ) / sizeof( SvxMSDffHandle ) // handles
472 };
473
474 static const SvxMSDffVertPair mso_sptIsocelesTriangleVert[] = // adjustment1 : 0 - 21600
475 {
476 { 0 MSO_I, 0 }, { 21600, 21600 }, { 0, 21600 }
477 };
478 static const sal_uInt16 mso_sptIsocelesTriangleSegm[] =
479 {
480 0x4000, 0x0002, 0x6001, 0x8000
481 };
482 static const SvxMSDffCalculationData mso_sptIsocelesTriangleCalc[] =
483 {
484 { 0x4000, { 0, DFF_Prop_adjustValue, 0 } },
485 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
486 { 0x2000, { 0x401, 10800, 0 } },
487 { 0x2001, { DFF_Prop_adjustValue, 2, 3 } },
488 { 0x2000, { 0x403, 7200, 0 } },
489 { 0x8000, { 21600, 0, 0x400 } },
490 { 0x2001, { 0x405, 1, 2 } },
491 { 0x8000, { 21600, 0, 0x406 } }
492 };
493 static const SvxMSDffTextRectangles mso_sptIsocelesTriangleTextRect[] =
494 {
495 { { 1 MSO_I, 10800 }, { 2 MSO_I, 18000 } },
496 { { 3 MSO_I, 7200 }, { 4 MSO_I, 21600 } }
497 };
498 static const SvxMSDffVertPair mso_sptIsocelesTriangleGluePoints[] =
499 {
500 { 0 MSO_I, 0 }, { 1 MSO_I, 10800 }, { 0, 21600 }, { 10800, 21600 }, { 21600, 21600 }, { 7 MSO_I, 10800 }
501 };
502 static const SvxMSDffHandle mso_sptIsocelesTriangleHandle[] =
503 {
504 { MSDFF_HANDLE_FLAGS_RANGE,
505 0x100, 0, 10800, 10800, 0, 21600, Mx80000000, 0x7fffffff }
506 };
507 static const mso_CustomShape msoIsocelesTriangle =
508 {
509 (SvxMSDffVertPair*)mso_sptIsocelesTriangleVert, sizeof( mso_sptIsocelesTriangleVert ) / sizeof( SvxMSDffVertPair ),
510 (sal_uInt16*)mso_sptIsocelesTriangleSegm, sizeof( mso_sptIsocelesTriangleSegm ) >> 1,
511 (SvxMSDffCalculationData*)mso_sptIsocelesTriangleCalc, sizeof( mso_sptIsocelesTriangleCalc ) / sizeof( SvxMSDffCalculationData ),
512 (sal_Int32*)mso_sptDefault10800,
513 (SvxMSDffTextRectangles*)mso_sptIsocelesTriangleTextRect, sizeof( mso_sptIsocelesTriangleTextRect ) / sizeof( SvxMSDffTextRectangles ),
514 21600, 21600,
515 Mx80000000, Mx80000000,
516 (SvxMSDffVertPair*)mso_sptIsocelesTriangleGluePoints, sizeof( mso_sptIsocelesTriangleGluePoints ) / sizeof( SvxMSDffVertPair ),
517 (SvxMSDffHandle*)mso_sptIsocelesTriangleHandle, sizeof( mso_sptIsocelesTriangleHandle ) / sizeof( SvxMSDffHandle ) // handles
518 };
519
520 static const SvxMSDffVertPair mso_sptHexagonVert[] = // adjustment1 : 0 - 10800
521 {
522 { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 21600, 10800 }, { 1 MSO_I, 21600 },
523 { 0 MSO_I, 21600 }, { 0, 10800 }
524 };
525 static const sal_uInt16 mso_sptHexagonSegm[] =
526 {
527 0x4000, 0x0005, 0x6001, 0x8000
528 };
529 static const SvxMSDffCalculationData mso_sptHexagonCalc[] =
530 {
531 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
532 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
533 { 0x2001, { DFF_Prop_adjustValue, 100, 234 } },
534 { 0x2000, { 0x402, 1700, 0 } },
535 { 0x8000, { 21600, 0, 0x403 } }
536 };
537 static const SvxMSDffTextRectangles mso_sptHexagonTextRect[] =
538 {
539 { { 3 MSO_I, 3 MSO_I }, { 4 MSO_I, 4 MSO_I } }
540 };
541 static const SvxMSDffHandle mso_sptHexagonHandle[] =
542 {
543 { MSDFF_HANDLE_FLAGS_RANGE,
544 0x100, 0, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
545 };
546 static const mso_CustomShape msoHexagon =
547 {
548 (SvxMSDffVertPair*)mso_sptHexagonVert, sizeof( mso_sptHexagonVert ) / sizeof( SvxMSDffVertPair ),
549 (sal_uInt16*)mso_sptHexagonSegm, sizeof( mso_sptHexagonSegm ) >> 1,
550 (SvxMSDffCalculationData*)mso_sptHexagonCalc, sizeof( mso_sptHexagonCalc ) / sizeof( SvxMSDffCalculationData ),
551 (sal_Int32*)mso_sptDefault5400,
552 (SvxMSDffTextRectangles*)mso_sptHexagonTextRect, sizeof( mso_sptHexagonTextRect ) / sizeof( SvxMSDffTextRectangles ),
553 21600, 21600,
554 Mx80000000, Mx80000000,
555 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
556 (SvxMSDffHandle*)mso_sptHexagonHandle, sizeof( mso_sptHexagonHandle ) / sizeof( SvxMSDffHandle ) // handles
557 };
558
559 static const SvxMSDffVertPair mso_sptPentagonVert[] =
560 {
561 { 10800, 0 }, { 0, 8260 }, { 4230, 21600 }, { 17370, 21600 },
562 { 21600, 8260 }, { 10800, 0 }
563 };
564 static const SvxMSDffTextRectangles mso_sptPentagonTextRect[] =
565 {
566 { { 4230, 5080 }, { 17370, 21600 } }
567 };
568 static const SvxMSDffVertPair mso_sptPentagonGluePoints[] =
569 {
570 { 10800, 0 }, { 0, 8260 }, { 4230, 21600 }, { 10800, 21600 },
571 { 17370, 21600 }, { 21600, 8260 }
572 };
573 static const mso_CustomShape msoPentagon =
574 {
575 (SvxMSDffVertPair*)mso_sptPentagonVert, sizeof( mso_sptPentagonVert ) / sizeof( SvxMSDffVertPair ),
576 NULL, 0,
577 NULL, 0,
578 NULL,
579 (SvxMSDffTextRectangles*)mso_sptPentagonTextRect, sizeof( mso_sptPentagonTextRect ) / sizeof( SvxMSDffTextRectangles ),
580 21600, 21600,
581 Mx80000000, Mx80000000,
582 (SvxMSDffVertPair*)mso_sptPentagonGluePoints, sizeof( mso_sptPentagonGluePoints ) / sizeof( SvxMSDffVertPair ),
583 NULL, 0 // handles
584 };
585
586 static const SvxMSDffVertPair mso_sptPlusVert[] = // adjustment1 : 0 - 10800
587 {
588 { 1 MSO_I, 0 }, { 2 MSO_I, 0 }, { 2 MSO_I, 1 MSO_I }, { 21600, 1 MSO_I },
589 { 21600, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 21600 }, { 1 MSO_I, 21600 },
590 { 1 MSO_I, 3 MSO_I }, { 0, 3 MSO_I }, { 0, 1 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 1 MSO_I, 0 }
591 };
592 static const SvxMSDffCalculationData mso_sptPlusCalc[] =
593 {
594 { 0x2001, { DFF_Prop_adjustValue, 10799, 10800 } },
595 { 0x2000, { 0x400, 0, 0 } },
596 { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
597 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
598 };
599 static const SvxMSDffTextRectangles mso_sptPlusTextRect[] =
600 {
601 { { 1 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I } }
602 };
603 static const SvxMSDffHandle mso_sptPlusHandle[] =
604 {
605 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
606 0x100, 0, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
607 };
608 static const mso_CustomShape msoPlus =
609 {
610 (SvxMSDffVertPair*)mso_sptPlusVert, sizeof( mso_sptPlusVert ) / sizeof( SvxMSDffVertPair ),
611 NULL, 0,
612 (SvxMSDffCalculationData*)mso_sptPlusCalc, sizeof( mso_sptPlusCalc ) / sizeof( SvxMSDffCalculationData ),
613 (sal_Int32*)mso_sptDefault5400,
614 (SvxMSDffTextRectangles*)mso_sptPlusTextRect, sizeof( mso_sptPlusTextRect ) / sizeof( SvxMSDffTextRectangles ),
615 21600, 21600,
616 10800, 10800,
617 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
618 (SvxMSDffHandle*)mso_sptPlusHandle, sizeof( mso_sptPlusHandle ) / sizeof( SvxMSDffHandle ) // handles
619 };
620
621 static const SvxMSDffVertPair mso_sptCanVert[] = // adjustment1 : 0 - 10800
622 {
623 { 44, 0 },
624 { 20, 0 }, { 0, 2 MSO_I }, { 0, 0 MSO_I }, // ccp
625 { 0, 3 MSO_I }, // p
626 { 0, 4 MSO_I }, { 20, 21600 }, { 44, 21600 }, // ccp
627 { 68, 21600 }, { 88, 4 MSO_I }, { 88, 3 MSO_I }, // ccp
628 { 88, 0 MSO_I }, // p
629 { 88, 2 MSO_I }, { 68, 0 }, { 44, 0 }, // ccp
630 { 44, 0 }, // p
631 { 20, 0 }, { 0, 2 MSO_I }, { 0, 0 MSO_I }, // ccp
632 { 0, 5 MSO_I }, { 20, 6 MSO_I }, { 44, 6 MSO_I }, // ccp
633 { 68, 6 MSO_I },{ 88, 5 MSO_I }, { 88, 0 MSO_I }, // ccp
634 { 88, 2 MSO_I },{ 68, 0 }, { 44, 0 } // ccp
635 };
636 static const sal_uInt16 mso_sptCanSegm[] =
637 {
638 0x4000, 0x2001, 0x0001, 0x2002, 0x0001, 0x2001, 0x6001, 0x8000,
639 0x4000, 0x2004, 0x6001, 0x8000
640 };
641 static const SvxMSDffCalculationData mso_sptCanCalc[] =
642 {
643 { 0x2001, { DFF_Prop_adjustValue, 2, 4 } }, // 1/4
644 { 0x2001, { 0x0400, 6, 11 } },
645 { 0xa000, { 0x0400, 0, 0x0401 } },
646 { 0x8000, { 21600, 0, 0x0400 } },
647 { 0x6000, { 0x0403, 0x0401, 0 } },
648 { 0x6000, { 0x0400, 0x0401, 0 } },
649 { 0x2001, { DFF_Prop_adjustValue, 2, 2 } },
650 { 0x0000, { 44, 0, 0 } }
651 };
652 static const SvxMSDffTextRectangles mso_sptCanTextRect[] =
653 {
654 { { 0, 6 MSO_I }, { 88, 3 MSO_I } }
655 };
656 static const SvxMSDffVertPair mso_sptCanGluePoints[] =
657 {
658 { 44, 6 MSO_I }, { 44, 0 }, { 0, 10800 }, { 44, 21600 }, { 88, 10800 }
659 };
660 static const SvxMSDffHandle mso_sptCanHandle[] =
661 {
662 { MSDFF_HANDLE_FLAGS_RANGE,
663 7 + 3, 0x100, 44, 10800, Mx80000000, 0x7fffffff, 0, 10800 }
664 };
665 static const mso_CustomShape msoCan =
666 {
667 (SvxMSDffVertPair*)mso_sptCanVert, sizeof( mso_sptCanVert ) / sizeof( SvxMSDffVertPair ),
668 (sal_uInt16*)mso_sptCanSegm, sizeof( mso_sptCanSegm ) >> 1,
669 (SvxMSDffCalculationData*)mso_sptCanCalc, sizeof( mso_sptCanCalc ) / sizeof( SvxMSDffCalculationData ),
670 (sal_Int32*)mso_sptDefault5400,
671 (SvxMSDffTextRectangles*)mso_sptCanTextRect, sizeof( mso_sptCanTextRect ) / sizeof( SvxMSDffTextRectangles ),
672 88, 21600,
673 Mx80000000, Mx80000000,
674 (SvxMSDffVertPair*)mso_sptCanGluePoints, sizeof( mso_sptCanGluePoints ) / sizeof( SvxMSDffVertPair ),
675 (SvxMSDffHandle*)mso_sptCanHandle, sizeof( mso_sptCanHandle ) / sizeof( SvxMSDffHandle ) // handles
676 };
677
678 static const SvxMSDffVertPair mso_sptArrowVert[] = // adjustment1: x 0 - 21600
679 { // adjustment2: y 0 - 10800
680 { 0, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 21600, 10800 },
681 { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 0, 2 MSO_I }
682 };
683 static const sal_uInt16 mso_sptArrowSegm[] =
684 {
685 0x4000, 0x0006, 0x6001, 0x8000
686 };
687 static const SvxMSDffCalculationData mso_sptArrowCalc[] =
688 {
689 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
690 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
691 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
692 { 0x8000, { 21600, 0, 0x401 } },
693 { 0x6001, { 0x403, 0x400, 10800 } },
694 { 0x6000, { 0x401, 0x404, 0 } },
695 { 0x6001, { 0x401, 0x400, 10800 } },
696 { 0xa000, { 0x401, 0, 0x406 } }
697 };
698 static const SvxMSDffTextRectangles mso_sptArrowTextRect[] =
699 {
700 { { 0, 0 MSO_I }, { 5 MSO_I, 2 MSO_I } }
701 };
702 static const SvxMSDffHandle mso_sptArrowHandle[] =
703 {
704 { MSDFF_HANDLE_FLAGS_RANGE,
705 0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
706 };
707 static const mso_CustomShape msoArrow =
708 {
709 (SvxMSDffVertPair*)mso_sptArrowVert, sizeof( mso_sptArrowVert ) / sizeof( SvxMSDffVertPair ),
710 (sal_uInt16*)mso_sptArrowSegm, sizeof( mso_sptArrowSegm ) >> 1,
711 (SvxMSDffCalculationData*)mso_sptArrowCalc, sizeof( mso_sptArrowCalc ) / sizeof( SvxMSDffCalculationData ),
712 (sal_Int32*)mso_sptDefault16200and5400,
713 (SvxMSDffTextRectangles*)mso_sptArrowTextRect, sizeof( mso_sptArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
714 21600, 21600,
715 Mx80000000, Mx80000000,
716 NULL, 0,
717 (SvxMSDffHandle*)mso_sptArrowHandle, sizeof( mso_sptArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
718 };
719
720 static const SvxMSDffVertPair mso_sptLeftArrowVert[] = // adjustment1: x 0 - 21600
721 { // adjustment2: y 0 - 10800
722 { 21600, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 0, 10800 },
723 { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 21600, 2 MSO_I }
724 };
725 static const sal_uInt16 mso_sptLeftArrowSegm[] =
726 {
727 0x4000, 0x0006, 0x6001, 0x8000
728 };
729 static const sal_Int32 mso_sptLeftArrowDefault[] =
730 {
731 2, 5400, 5400
732 };
733 static const SvxMSDffTextRectangles mso_sptLeftArrowTextRect[] =
734 {
735 { { 7 MSO_I, 0 MSO_I }, { 21600, 2 MSO_I } }
736 };
737 static const SvxMSDffHandle mso_sptLeftArrowHandle[] =
738 {
739 { MSDFF_HANDLE_FLAGS_RANGE,
740 0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
741 };
742 static const mso_CustomShape msoLeftArrow =
743 {
744 (SvxMSDffVertPair*)mso_sptLeftArrowVert, sizeof( mso_sptLeftArrowVert ) / sizeof( SvxMSDffVertPair ),
745 (sal_uInt16*)mso_sptLeftArrowSegm, sizeof( mso_sptLeftArrowSegm ) >> 1,
746 (SvxMSDffCalculationData*)mso_sptArrowCalc, sizeof( mso_sptArrowCalc ) / sizeof( SvxMSDffCalculationData ),
747 (sal_Int32*)mso_sptLeftArrowDefault,
748 (SvxMSDffTextRectangles*)mso_sptLeftArrowTextRect, sizeof( mso_sptLeftArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
749 21600, 21600,
750 Mx80000000, Mx80000000,
751 NULL, 0,
752 (SvxMSDffHandle*)mso_sptLeftArrowHandle, sizeof( mso_sptLeftArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
753 };
754
755 static const SvxMSDffVertPair mso_sptDownArrowVert[] = // adjustment1: x 0 - 21600
756 { // adjustment2: y 0 - 10800
757 { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 0, 1 MSO_I }, { 10800, 21600 },
758 { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 0 }
759 };
760 static const sal_uInt16 mso_sptDownArrowSegm[] =
761 {
762 0x4000, 0x0006, 0x6001, 0x8000
763 };
764 static const SvxMSDffTextRectangles mso_sptDownArrowTextRect[] =
765 {
766 { { 0 MSO_I, 0 }, { 2 MSO_I, 5 MSO_I } }
767 };
768 static const SvxMSDffHandle mso_sptDownArrowHandle[] =
769 {
770 { MSDFF_HANDLE_FLAGS_RANGE,
771 0x101, 0x100, 10800, 10800, 0, 10800, 0, 21600 }
772 };
773 static const mso_CustomShape msoDownArrow =
774 {
775 (SvxMSDffVertPair*)mso_sptDownArrowVert, sizeof( mso_sptDownArrowVert ) / sizeof( SvxMSDffVertPair ),
776 (sal_uInt16*)mso_sptDownArrowSegm, sizeof( mso_sptDownArrowSegm ) >> 1,
777 (SvxMSDffCalculationData*)mso_sptArrowCalc, sizeof( mso_sptArrowCalc ) / sizeof( SvxMSDffCalculationData ),
778 (sal_Int32*)mso_sptDefault16200and5400,
779 (SvxMSDffTextRectangles*)mso_sptDownArrowTextRect, sizeof( mso_sptDownArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
780 21600, 21600,
781 Mx80000000, Mx80000000,
782 NULL, 0,
783 (SvxMSDffHandle*)mso_sptDownArrowHandle, sizeof( mso_sptDownArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
784 };
785
786 static const SvxMSDffVertPair mso_sptUpArrowVert[] = // adjustment1: x 0 - 21600
787 { // adjustment2: y 0 - 10800
788 { 0 MSO_I, 21600 }, { 0 MSO_I, 1 MSO_I }, { 0, 1 MSO_I }, { 10800, 0 },
789 { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 21600 }
790 };
791 static const sal_uInt16 mso_sptUpArrowSegm[] =
792 {
793 0x4000, 0x0006, 0x6001, 0x8000
794 };
795 static const sal_Int32 mso_sptUpArrowDefault[] =
796 {
797 2, 5400, 5400
798 };
799 static const SvxMSDffTextRectangles mso_sptUpArrowTextRect[] =
800 {
801 { { 0 MSO_I, 7 MSO_I }, { 2 MSO_I, 21600 } }
802 };
803 static const SvxMSDffHandle mso_sptUpArrowHandle[] =
804 {
805 { MSDFF_HANDLE_FLAGS_RANGE,
806 0x101, 0x100, 10800, 10800, 0, 10800, 0, 21600 }
807 };
808 static const mso_CustomShape msoUpArrow =
809 {
810 (SvxMSDffVertPair*)mso_sptUpArrowVert, sizeof( mso_sptUpArrowVert ) / sizeof( SvxMSDffVertPair ),
811 (sal_uInt16*)mso_sptUpArrowSegm, sizeof( mso_sptUpArrowSegm ) >> 1,
812 (SvxMSDffCalculationData*)mso_sptArrowCalc, sizeof( mso_sptArrowCalc ) / sizeof( SvxMSDffCalculationData ),
813 (sal_Int32*)mso_sptUpArrowDefault,
814 (SvxMSDffTextRectangles*)mso_sptUpArrowTextRect, sizeof( mso_sptUpArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
815 21600, 21600,
816 Mx80000000, Mx80000000,
817 NULL, 0,
818 (SvxMSDffHandle*)mso_sptUpArrowHandle, sizeof( mso_sptUpArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
819 };
820
821 static const SvxMSDffVertPair mso_sptLeftRightArrowVert[] = // adjustment1: x 0 - 10800
822 { // adjustment2: y 0 - 10800
823 { 0, 10800 }, { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 1 MSO_I },
824 { 2 MSO_I, 0 }, { 21600, 10800 }, { 2 MSO_I, 21600 }, { 2 MSO_I, 3 MSO_I },
825 { 0 MSO_I, 3 MSO_I }, { 0 MSO_I, 21600 }
826 };
827 static const sal_uInt16 mso_sptLeftRightArrowSegm[] =
828 {
829 0x4000, 0x0009, 0x6001, 0x8000
830 };
831 static const SvxMSDffCalculationData mso_sptDoubleArrowCalc[] =
832 {
833 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
834 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
835 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
836 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
837 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
838 { 0x6001, { DFF_Prop_adjustValue, 0x404, 10800 } },
839 { 0x8000, { 21600, 0, 0x405 } },
840 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
841 { 0x6001, { DFF_Prop_adjust2Value, 0x407, 10800 } },
842 { 0x8000, { 21600, 0, 0x408 } }
843 };
844 static const sal_Int32 mso_sptLeftRightArrowDefault[] =
845 {
846 2, 4300, 5400
847 };
848 static const SvxMSDffTextRectangles mso_sptLeftRightArrowTextRect[] =
849 {
850 { { 5 MSO_I, 1 MSO_I }, { 6 MSO_I, 3 MSO_I } }
851 };
852 static const SvxMSDffHandle mso_sptLeftRightArrowHandle[] =
853 {
854 { MSDFF_HANDLE_FLAGS_RANGE,
855 0x100, 0x101, 10800, 10800, 0, 10800, 0, 10800 }
856 };
857 static const mso_CustomShape msoLeftRightArrow =
858 {
859 (SvxMSDffVertPair*)mso_sptLeftRightArrowVert, sizeof( mso_sptLeftRightArrowVert ) / sizeof( SvxMSDffVertPair ),
860 (sal_uInt16*)mso_sptLeftRightArrowSegm, sizeof( mso_sptLeftRightArrowSegm ) >> 1,
861 (SvxMSDffCalculationData*)mso_sptDoubleArrowCalc, sizeof( mso_sptDoubleArrowCalc ) / sizeof( SvxMSDffCalculationData ),
862 (sal_Int32*)mso_sptLeftRightArrowDefault,
863 (SvxMSDffTextRectangles*)mso_sptLeftRightArrowTextRect, sizeof( mso_sptLeftRightArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
864 21600, 21600,
865 Mx80000000, Mx80000000,
866 NULL, 0,
867 (SvxMSDffHandle*)mso_sptLeftRightArrowHandle, sizeof( mso_sptLeftRightArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
868 };
869
870 static const SvxMSDffVertPair mso_sptUpDownArrowVert[] = // adjustment1: x 0 - 10800
871 { // adjustment2: y 0 - 10800
872 { 0, 1 MSO_I }, { 10800, 0 }, { 21600, 1 MSO_I }, { 2 MSO_I, 1 MSO_I },
873 { 2 MSO_I, 3 MSO_I }, { 21600, 3 MSO_I }, { 10800, 21600 }, { 0, 3 MSO_I },
874 { 0 MSO_I, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }
875 };
876 static const sal_uInt16 mso_sptUpDownArrowSegm[] =
877 {
878 0x4000, 0x0009, 0x6001, 0x8000
879 };
880 static const sal_Int32 mso_sptUpDownArrowDefault[] =
881 {
882 2, 5400, 4300
883 };
884 static const SvxMSDffTextRectangles mso_sptUpDownArrowTextRect[] =
885 {
886 { { 0 MSO_I, 8 MSO_I }, { 2 MSO_I, 9 MSO_I } }
887 };
888 static const SvxMSDffHandle mso_sptUpDownArrowHandle[] =
889 {
890 { MSDFF_HANDLE_FLAGS_RANGE,
891 0x100, 0x101, 10800, 10800, 0, 10800, 0, 10800 }
892 };
893 static const mso_CustomShape msoUpDownArrow =
894 {
895 (SvxMSDffVertPair*)mso_sptUpDownArrowVert, sizeof( mso_sptUpDownArrowVert ) / sizeof( SvxMSDffVertPair ),
896 (sal_uInt16*)mso_sptUpDownArrowSegm, sizeof( mso_sptUpDownArrowSegm ) >> 1,
897 (SvxMSDffCalculationData*)mso_sptDoubleArrowCalc, sizeof( mso_sptDoubleArrowCalc ) / sizeof( SvxMSDffCalculationData ),
898 (sal_Int32*)mso_sptUpDownArrowDefault,
899 (SvxMSDffTextRectangles*)mso_sptUpDownArrowTextRect, sizeof( mso_sptUpDownArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
900 21600, 21600,
901 Mx80000000, Mx80000000,
902 NULL, 0,
903 (SvxMSDffHandle*)mso_sptUpDownArrowHandle, sizeof( mso_sptUpDownArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
904 };
905
906 static const SvxMSDffVertPair mso_sptQuadArrowVert[] = // adjustment1: x 0 - 10800, adjustment2: x 0 - 10800
907 { // adjustment3: y 0 - 10800
908 { 0, 10800 }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 2 MSO_I, 2 MSO_I },
909 { 2 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 10800, 0 }, { 3 MSO_I, 0 MSO_I },
910 { 4 MSO_I, 0 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 5 MSO_I, 1 MSO_I },
911 { 21600, 10800 }, { 5 MSO_I, 3 MSO_I }, { 5 MSO_I, 4 MSO_I }, { 4 MSO_I, 4 MSO_I },
912 { 4 MSO_I, 5 MSO_I }, { 3 MSO_I, 5 MSO_I }, { 10800, 21600 }, { 1 MSO_I, 5 MSO_I },
913 { 2 MSO_I, 5 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 0 MSO_I, 4 MSO_I }, { 0 MSO_I, 3 MSO_I }
914 };
915 static const sal_uInt16 mso_sptQuadArrowSegm[] =
916 {
917 0x4000, 0x0017, 0x6001, 0x8000
918 };
919 static const SvxMSDffCalculationData mso_sptQuadArrowCalc[] =
920 {
921 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
922 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
923 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
924 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
925 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
926 { 0x8000, { 21600, 0, DFF_Prop_adjust3Value } }
927 };
928 static const sal_Int32 mso_sptQuadArrowDefault[] =
929 {
930 3, 6500, 8600, 4300
931 };
932 static const SvxMSDffTextRectangles mso_sptQuadArrowTextRect[] = // todo
933 {
934 { { 0, 0 }, { 21600, 21600 } }
935 };
936 static const SvxMSDffHandle mso_sptQuadArrowHandle[] =
937 {
938 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
939 0x101, 0x102, 10800, 10800, 0x100, 10800, 0, 0x100 },
940 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
941 0x100, 0, 10800, 10800, 0x102, 0x101, Mx80000000, 0x7fffffff }
942 };
943 static const mso_CustomShape msoQuadArrow =
944 {
945 (SvxMSDffVertPair*)mso_sptQuadArrowVert, sizeof( mso_sptQuadArrowVert ) / sizeof( SvxMSDffVertPair ),
946 (sal_uInt16*)mso_sptQuadArrowSegm, sizeof( mso_sptQuadArrowSegm ) >> 1,
947 (SvxMSDffCalculationData*)mso_sptQuadArrowCalc, sizeof( mso_sptQuadArrowCalc ) / sizeof( SvxMSDffCalculationData ),
948 (sal_Int32*)mso_sptQuadArrowDefault,
949 (SvxMSDffTextRectangles*)mso_sptQuadArrowTextRect, sizeof( mso_sptQuadArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
950 21600, 21600,
951 Mx80000000, Mx80000000,
952 NULL, 0,
953 (SvxMSDffHandle*)mso_sptQuadArrowHandle, sizeof( mso_sptQuadArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
954 };
955
956 static const SvxMSDffVertPair mso_sptLeftRightUpArrowVert[] = // adjustment1: x 0 - 10800, adjustment2: x 0 - 10800
957 { // adjustment3: y 0 - 21600
958 { 10800, 0 }, { 3 MSO_I, 2 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 4 MSO_I, 1 MSO_I },
959 { 5 MSO_I, 1 MSO_I }, { 5 MSO_I, 0 MSO_I }, { 21600, 10800 }, { 5 MSO_I, 3 MSO_I },
960 { 5 MSO_I, 4 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0, 10800 },
961 { 2 MSO_I, 0 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 1 MSO_I, 2 MSO_I },
962 { 0 MSO_I, 2 MSO_I }
963 };
964 static const sal_uInt16 mso_sptLeftRightUpArrowSegm[] =
965 {
966 0x4000, 0x0010, 0x6001, 0x8000
967 };
968 static const SvxMSDffCalculationData mso_sptLeftRightUpArrowCalc[] =
969 {
970 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
971 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 1
972 { 0x6001, { 0x0403, DFF_Prop_adjust3Value, 21600 } }, // 2
973 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 3
974 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } }, // 4
975 { 0x8000, { 21600, 0, 0x0402 } } // 5
976 };
977 static const sal_Int32 mso_sptLeftRightUpArrowDefault[] =
978 {
979 3, 6500, 8600, 6200
980 };
981 static const SvxMSDffTextRectangles mso_sptLeftRightUpArrowTextRect[] = // todo
982 {
983 { { 0, 0 }, { 21600, 21600 } }
984 };
985 static const SvxMSDffHandle mso_sptLeftRightUpArrowHandle[] =
986 {
987 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
988 0x101, 0x102, 10800, 10800, 0x100, 10800, 0, 0x100 },
989 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
990 0x100, 0, 10800, 10800, 0x102, 0x101, Mx80000000, 0x7fffffff }
991 };
992 static const mso_CustomShape msoLeftRightUpArrow =
993 {
994 (SvxMSDffVertPair*)mso_sptLeftRightUpArrowVert, sizeof( mso_sptLeftRightUpArrowVert ) / sizeof( SvxMSDffVertPair ),
995 (sal_uInt16*)mso_sptLeftRightUpArrowSegm, sizeof( mso_sptLeftRightUpArrowSegm ) >> 1,
996 (SvxMSDffCalculationData*)mso_sptLeftRightUpArrowCalc, sizeof( mso_sptLeftRightUpArrowCalc ) / sizeof( SvxMSDffCalculationData ),
997 (sal_Int32*)mso_sptLeftRightUpArrowDefault,
998 (SvxMSDffTextRectangles*)mso_sptLeftRightUpArrowTextRect, sizeof( mso_sptLeftRightUpArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
999 21600, 21600,
1000 Mx80000000, Mx80000000,
1001 NULL, 0,
1002 (SvxMSDffHandle*)mso_sptLeftRightUpArrowHandle, sizeof( mso_sptLeftRightUpArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
1003 };
1004
1005 static const SvxMSDffVertPair mso_sptBentArrowVert[] = // adjustment1 : x 12427 - 21600
1006 { // adjustment2 : y 0 - 6079
1007 { 0, 21600 }, { 0, 12160 }, { 12427, 1 MSO_I }, { 0 MSO_I, 1 MSO_I },
1008 { 0 MSO_I, 0 }, { 21600, 6079 }, { 0 MSO_I, 12158 }, { 0 MSO_I, 2 MSO_I },
1009 { 12427, 2 MSO_I }, { 4 MSO_I, 12160 }, { 4 MSO_I, 21600 }
1010 };
1011 static const sal_uInt16 mso_sptBentArrowSegm[] =
1012 {
1013 0x4000, 0x0001, 0xa801, 0x0006, 0xa701, 0x0001, 0x6001, 0x8000
1014 };
1015 static const SvxMSDffCalculationData mso_sptBentArrowCalc[] =
1016 {
1017 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1018 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1019 { 0x8000, { 12158, 0, DFF_Prop_adjust2Value } },
1020 { 0x8000, { 6079, 0, DFF_Prop_adjust2Value } },
1021 { 0x2001, { 0x0403, 2, 1 } }
1022 };
1023 static const sal_Int32 mso_sptBentArrowDefault[] =
1024 {
1025 2, 15100, 2900
1026 };
1027 static const SvxMSDffTextRectangles mso_sptBentArrowTextRect[] = // todo
1028 {
1029 { { 0, 0 }, { 21600, 21600 } }
1030 };
1031 static const SvxMSDffHandle mso_sptBentArrowHandle[] =
1032 {
1033 { MSDFF_HANDLE_FLAGS_RANGE,
1034 0x100, 0x101, 10800, 10800, 12427, 21600, 0, 6079 }
1035 };
1036 static const mso_CustomShape msoBentArrow =
1037 {
1038 (SvxMSDffVertPair*)mso_sptBentArrowVert, sizeof( mso_sptBentArrowVert ) / sizeof( SvxMSDffVertPair ),
1039 (sal_uInt16*)mso_sptBentArrowSegm, sizeof( mso_sptBentArrowSegm ) >> 1,
1040 (SvxMSDffCalculationData*)mso_sptBentArrowCalc, sizeof( mso_sptBentArrowCalc ) / sizeof( SvxMSDffCalculationData ),
1041 (sal_Int32*)mso_sptBentArrowDefault,
1042 (SvxMSDffTextRectangles*)mso_sptBentArrowTextRect, sizeof( mso_sptBentArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
1043 21600, 21600,
1044 Mx80000000, Mx80000000,
1045 NULL, 0,
1046 (SvxMSDffHandle*)mso_sptBentArrowHandle, sizeof( mso_sptBentArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
1047 };
1048
1049 static const SvxMSDffVertPair mso_sptUturnArrowVert[] =
1050 {
1051 { 0, 21600 }, { 0, 8550 }, // pp
1052 { 0, 3540 }, { 4370, 0 }, { 9270, 0 }, // ccp
1053 { 13890, 0 }, { 18570, 3230 }, { 18600, 8300 }, // ccp
1054 { 21600, 8300 }, { 15680, 14260 }, { 9700, 8300 }, { 12500, 8300 }, // pppp
1055 { 12320, 6380 }, { 10870, 5850 }, { 9320, 5850 }, // ccp
1056 { 7770, 5850 }, { 6040, 6410 }, { 6110, 8520 }, // ccp
1057 { 6110, 21600 }
1058 };
1059 static const sal_uInt16 mso_sptUturnArrowSegm[] =
1060 {
1061 0x4000, 0x0001, 0x2002, 0x0004, 0x2002, 0x0001, 0x6000, 0x8000
1062 };
1063 static const SvxMSDffTextRectangles mso_sptUturnArrowTextRect[] =
1064 {
1065 { { 0, 8280 }, { 6110, 21600 } }
1066 };
1067 static const mso_CustomShape msoUturnArrow =
1068 {
1069 (SvxMSDffVertPair*)mso_sptUturnArrowVert, sizeof( mso_sptUturnArrowVert ) / sizeof( SvxMSDffVertPair ),
1070 (sal_uInt16*)mso_sptUturnArrowSegm, sizeof( mso_sptUturnArrowSegm ) >> 1,
1071 NULL, 0,
1072 NULL,
1073 (SvxMSDffTextRectangles*)mso_sptUturnArrowTextRect, sizeof( mso_sptUturnArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
1074 21600, 21600,
1075 Mx80000000, Mx80000000,
1076 NULL, 0,
1077 NULL, 0 // handles
1078 };
1079
1080 static const SvxMSDffVertPair mso_sptLeftUpArrowVert[] = // adjustment1 : x 0 - 21600, adjustment2 : x 0 - 21600
1081 { // adjustment3 : y 0 - 21600
1082 { 0, 5 MSO_I }, { 2 MSO_I, 0 MSO_I }, { 2 MSO_I, 7 MSO_I }, { 7 MSO_I, 7 MSO_I },
1083 { 7 MSO_I, 2 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 5 MSO_I, 0 }, { 21600, 2 MSO_I },
1084 { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 21600 }
1085 };
1086 static const sal_uInt16 mso_sptLeftUpArrowSegm[] =
1087 {
1088 0x4000, 0x000b, 0x6001, 0x8000
1089 };
1090 static const SvxMSDffCalculationData mso_sptLeftUpArrowCalc[] =
1091 {
1092 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
1093 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 1
1094 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, // 2
1095 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 3
1096 { 0x2001, { 0x0403, 1, 2 } }, // 4
1097 { 0x6000, { DFF_Prop_adjustValue, 0x0404, 0 } }, // 5
1098 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } }, // 6
1099 { 0x6000, { DFF_Prop_adjustValue, 0x0406, 0 } }, // 7
1100 { 0x8000, { 21600, 0, 0x406 } }, // 8
1101 { 0xa000, { 0x408, 0, 0x406 } } // 9
1102 };
1103 static const sal_Int32 mso_sptLeftUpArrowDefault[] =
1104 {
1105 3, 9340, 18500, 6200
1106 };
1107 static const SvxMSDffTextRectangles mso_sptLeftUpArrowTextRect[] =
1108 {
1109 { { 2 MSO_I, 7 MSO_I }, { 1 MSO_I, 1 MSO_I } },
1110 { { 7 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I } }
1111 };
1112 static const SvxMSDffHandle mso_sptLeftUpArrowHandle[] =
1113 {
1114 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
1115 0x101, 0x102, 10800, 10800, 3 + 5, 21600, 0, 0x100 },
1116 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1117 0x100, 0, 10800, 10800, 0x102, 3 + 9, Mx80000000, 0x7fffffff }
1118 };
1119 static const mso_CustomShape msoLeftUpArrow =
1120 {
1121 (SvxMSDffVertPair*)mso_sptLeftUpArrowVert, sizeof( mso_sptLeftUpArrowVert ) / sizeof( SvxMSDffVertPair ),
1122 (sal_uInt16*)mso_sptLeftUpArrowSegm, sizeof( mso_sptLeftUpArrowSegm ) >> 1,
1123 (SvxMSDffCalculationData*)mso_sptLeftUpArrowCalc, sizeof( mso_sptLeftUpArrowCalc ) / sizeof( SvxMSDffCalculationData ),
1124 (sal_Int32*)mso_sptLeftUpArrowDefault,
1125 (SvxMSDffTextRectangles*)mso_sptLeftUpArrowTextRect, sizeof( mso_sptLeftUpArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
1126 21600, 21600,
1127 Mx80000000, Mx80000000,
1128 NULL, 0,
1129 (SvxMSDffHandle*)mso_sptLeftUpArrowHandle, sizeof( mso_sptLeftUpArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
1130 };
1131
1132 static const SvxMSDffVertPair mso_sptBentUpArrowVert[] = // adjustment1 : x 0 - 21600, adjustment2 : x 0 - 21600
1133 { // adjustment3 : y 0 - 21600
1134 { 0, 8 MSO_I }, { 7 MSO_I, 8 MSO_I }, { 7 MSO_I, 2 MSO_I }, { 0 MSO_I, 2 MSO_I },
1135 { 5 MSO_I, 0 }, { 21600, 2 MSO_I }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 21600 },
1136 { 0, 21600 }
1137 };
1138 static const sal_uInt16 mso_sptBentUpArrowSegm[] =
1139 {
1140 0x4000, 0x0008, 0x6001, 0x8000
1141 };
1142 static const SvxMSDffCalculationData mso_sptBentUpArrowCalc[] =
1143 {
1144 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
1145 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 1
1146 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, // 2
1147 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 3
1148 { 0x2001, { 0x0403, 1, 2 } }, // 4
1149 { 0x6000, { DFF_Prop_adjustValue, 0x0404, 0 } }, // 5
1150 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } }, // 6
1151 { 0x6000, { DFF_Prop_adjustValue, 0x0406, 0 } }, // 7
1152 { 0x6000, { 0x0407, 0x0406, 0 } }, // 8
1153 { 0x8000, { 21600, 0, 0x406 } }, // 9
1154 { 0xa000, { 0x409, 0, 0x406 } } // a
1155 };
1156 static const sal_Int32 mso_sptBentUpArrowDefault[] =
1157 {
1158 3, 9340, 18500, 7200
1159 };
1160 static const SvxMSDffTextRectangles mso_sptBentUpArrowTextRect[] =
1161 {
1162 { { 2 MSO_I, 7 MSO_I }, { 1 MSO_I, 1 MSO_I } },
1163 { { 7 MSO_I, 2 MSO_I }, { 1 MSO_I, 1 MSO_I } }
1164 };
1165 static const SvxMSDffHandle mso_sptBentUpArrowHandle[] =
1166 {
1167 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
1168 0x101, 0x102, 10800, 10800, 3 + 5, 21600, 0, 0x100 },
1169 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1170 0x100, 0, 10800, 10800, 0x102, 3 + 10, Mx80000000, 0x7fffffff }
1171 };
1172 static const mso_CustomShape msoBentUpArrow =
1173 {
1174 (SvxMSDffVertPair*)mso_sptBentUpArrowVert, sizeof( mso_sptBentUpArrowVert ) / sizeof( SvxMSDffVertPair ),
1175 (sal_uInt16*)mso_sptBentUpArrowSegm, sizeof( mso_sptBentUpArrowSegm ) >> 1,
1176 (SvxMSDffCalculationData*)mso_sptBentUpArrowCalc, sizeof( mso_sptBentUpArrowCalc ) / sizeof( SvxMSDffCalculationData ),
1177 (sal_Int32*)mso_sptBentUpArrowDefault,
1178 (SvxMSDffTextRectangles*)mso_sptBentUpArrowTextRect, sizeof( mso_sptBentUpArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
1179 21600, 21600,
1180 Mx80000000, Mx80000000,
1181 NULL, 0,
1182 (SvxMSDffHandle*)mso_sptBentUpArrowHandle, sizeof( mso_sptBentUpArrowHandle ) / sizeof( SvxMSDffHandle )
1183 };
1184
1185 static const SvxMSDffVertPair mso_sptCurvedRightVert[] =
1186 {
1187 { 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 },
1188 { 2 MSO_I, 14 MSO_I }, { 22 MSO_I, 8 MSO_I }, { 2 MSO_I, 12 MSO_I },
1189 { 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 },
1190 { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 22 MSO_I, 0 }, { 0, 4 MSO_I },
1191 { 0, 0 }, { 23 MSO_I, 3 MSO_I }, { 0, 4 MSO_I }, { 26 MSO_I, 17 MSO_I },
1192 { 0, 15 MSO_I }, { 23 MSO_I, 1 MSO_I }, { 26 MSO_I, 17 MSO_I }, { 22 MSO_I, 15 MSO_I }
1193 };
1194 static const sal_uInt16 mso_sptCurvedRightSegm[] =
1195 {
1196 0xa408,
1197 0x0003,
1198 0xa508,
1199 0x6000,
1200 0x8000,
1201 0xa404,
1202 0xa304,
1203 0xa504,
1204 0x6000,
1205 0x8000
1206 };
1207 static const SvxMSDffCalculationData mso_sptCurvedRightCalc[] =
1208 {
1209 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1210 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1211 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1212 { 0xa000, { DFF_Prop_adjustValue, 21600, DFF_Prop_adjust2Value } },
1213 { 0x2001, { 0x403, 1, 2 } },
1214 { 0x6000, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 21600 } },
1215 { 0xe000, { 0x405, DFF_Prop_adjust2Value, DFF_Prop_adjustValue } },
1216 { 0x2001, { 0x406, 1, 2 } },
1217 { 0x4002, { 21600, DFF_Prop_adjustValue, 0 } },
1218 { 0x8000, { 21600, 0, DFF_Prop_adjust3Value } },
1219 { 0xa00f, { 0x409, 21600, 0x404 } },
1220 { 0x6000, { 0x404, 0x40a, 0 } },
1221 { 0x6000, { 0x40b, DFF_Prop_adjust2Value, 21600 } },
1222 { 0x6000, { 0x407, 0x40a, 0 } },
1223 { 0xa000, { 0x40c, 21600, DFF_Prop_adjustValue } },
1224 { 0xa000, { 0x405, 0, DFF_Prop_adjustValue } },
1225 { 0x2001, { 0x40f, 1, 2 } },
1226 { 0x6002, { 0x404, 0x407, 0 } },
1227 { 0x6000, { DFF_Prop_adjustValue, DFF_Prop_adjust2Value, 21600 } },
1228 { 0x2001, { 0x412, 1, 2 } },
1229 { 0xa000, { 0x411, 0, 0x413 } },
1230 { 0x0000, { 21600, 0, 0 } },
1231 { 0x0000, { 21600, 0, 0 } },
1232 { 0x0001, { 21600, 2, 1 } },
1233 { 0xa000, { 0x411, 0, 0x404 } },
1234 { 0x600f, { 0x418, 0x404, 21600 } },
1235 { 0x8000, { 21600, 0, 0x419 } },
1236 { 0x2000, { 0x408, 128, 0 } },
1237 { 0x2001, { 0x405, 1, 2 } },
1238 { 0x2000, { 0x405, 0, 128 } },
1239 { 0xe000, { DFF_Prop_adjustValue, 0x411, 0x40c } },
1240 { 0x600f, { 0x414, 0x404, 21600 } },
1241 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
1242 { 0x2001, { 0x420, 1, 2 } },
1243 { 0x0001, { 21600, 21600, 1 } },
1244 { 0x6001, { 0x409, 0x409, 1 } },
1245 { 0xa000, { 0x422, 0, 0x423 } },
1246 { 0x200d, { 0x424, 0, 0 } },
1247 { 0x2000, { 0x425, 21600, 0 } },
1248 { 0x8001, { 21600, 21600, 0x426 } },
1249 { 0x2000, { 0x427, 64, 0 } },
1250 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
1251 { 0x600f, { 0x421, 0x429, 21600 } },
1252 { 0x8000, { 21600, 0, 0x42a } },
1253 { 0x2000, { 0x42b, 64, 0 } },
1254 { 0x2001, { 0x404, 1, 2 } },
1255 { 0xa000, { DFF_Prop_adjust2Value, 0, 0x42d } },
1256 { 0x0001, { 21600, 2195, 16384 } },
1257 { 0x0001, { 21600, 14189, 16384 } }
1258 };
1259 static const sal_Int32 mso_sptCurvedRightDefault[] =
1260 {
1261 3, 12960, 19440, 14400
1262 };
1263 static const SvxMSDffTextRectangles mso_sptCurvedRightTextRect[] =
1264 {
1265 { { 47 MSO_I, 45 MSO_I }, { 48 MSO_I, 46 MSO_I } }
1266 };
1267 static const SvxMSDffVertPair mso_sptCurvedRightGluePoints[] =
1268 {
1269 { 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 }
1270 };
1271 static const SvxMSDffHandle mso_sptCurvedRightHandles[] =
1272 {
1273 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1274 21600, 0x100, 10800, 10800, 0, 10800, 3 + 40, 3 + 29 },
1275 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1276 21600, 0x101, 10800, 10800, 0, 10800, 3 + 27, 3 + 21 },
1277 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1278 0x102, 21600, 10800, 10800, 3 + 44, 3 + 22, 3375, 21600 }
1279 };
1280 static const mso_CustomShape msoCurvedRightArrow =
1281 {
1282 (SvxMSDffVertPair*)mso_sptCurvedRightVert, sizeof( mso_sptCurvedRightVert ) / sizeof( SvxMSDffVertPair ),
1283 (sal_uInt16*)mso_sptCurvedRightSegm, sizeof( mso_sptCurvedRightSegm ) >> 1,
1284 (SvxMSDffCalculationData*)mso_sptCurvedRightCalc, sizeof( mso_sptCurvedRightCalc ) / sizeof( SvxMSDffCalculationData ),
1285 (sal_Int32*)mso_sptCurvedRightDefault,
1286 (SvxMSDffTextRectangles*)mso_sptCurvedRightTextRect, sizeof( mso_sptCurvedRightTextRect ) / sizeof( SvxMSDffTextRectangles ),
1287 21600, 21600,
1288 Mx80000000, Mx80000000,
1289 (SvxMSDffVertPair*)mso_sptCurvedRightGluePoints, sizeof( mso_sptCurvedRightGluePoints ) / sizeof( SvxMSDffVertPair ),
1290 (SvxMSDffHandle*)mso_sptCurvedRightHandles, sizeof( mso_sptCurvedRightHandles ) / sizeof( SvxMSDffHandle )
1291 };
1292
1293 static const SvxMSDffVertPair mso_sptCurvedDownVert[] =
1294 {
1295 { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 0, 22 MSO_I }, { 4 MSO_I, 0 },
1296 { 15 MSO_I, 0 }, { 1 MSO_I, 23 MSO_I }, { 7 MSO_I, 0 }, { 13 MSO_I, 2 MSO_I },
1297 { 14 MSO_I, 2 MSO_I }, { 8 MSO_I, 22 MSO_I }, { 12 MSO_I, 2 MSO_I },
1298 { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 11 MSO_I, 2 MSO_I }, { 17 MSO_I, 26 MSO_I }, { 15 MSO_I, 0 },
1299 { 1 MSO_I, 23 MSO_I }, { 17 MSO_I, 26 MSO_I }, { 15 MSO_I, 22 MSO_I },
1300 { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 0, 22 MSO_I }, { 4 MSO_I, 0 },
1301 { 0, 0 }, { 3 MSO_I, 23 MSO_I }, { 4 MSO_I, 0 }, { 17 MSO_I, 26 MSO_I },
1302 { 15 MSO_I, 0 }, { 1 MSO_I, 23 MSO_I }, { 17 MSO_I, 26 MSO_I }, { 15 MSO_I, 22 MSO_I }
1303 };
1304 static const sal_uInt16 mso_sptCurvedDownSegm[] =
1305 {
1306 0xa608,
1307 0x0003,
1308 0xa308,
1309 0x6000,
1310 0x8000,
1311 0xa604,
1312 0xa504,
1313 0xa304,
1314 0x6000,
1315 0x8000
1316 };
1317 static const SvxMSDffTextRectangles mso_sptCurvedDownTextRect[] =
1318 {
1319 { { 45 MSO_I, 47 MSO_I }, { 46 MSO_I, 48 MSO_I } }
1320 };
1321 static const SvxMSDffVertPair mso_sptCurvedDownGluePoints[] =
1322 {
1323 { 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 }
1324 };
1325 static const SvxMSDffHandle mso_sptCurvedDownHandles[] =
1326 {
1327 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1328 0x100, 21600, 10800, 10800, 3 + 40, 3 + 29, 0, 10800 },
1329 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1330 0x101, 21600, 10800, 10800, 3 + 27, 3 + 21, 0, 10800 },
1331 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1332 21600, 0x102, 10800, 10800, 3375, 21600, 3 + 44, 3 + 22 }
1333 };
1334
1335 static const mso_CustomShape msoCurvedDownArrow =
1336 {
1337 (SvxMSDffVertPair*)mso_sptCurvedDownVert, sizeof( mso_sptCurvedDownVert ) / sizeof( SvxMSDffVertPair ),
1338 (sal_uInt16*)mso_sptCurvedDownSegm, sizeof( mso_sptCurvedDownSegm ) >> 1,
1339 (SvxMSDffCalculationData*)mso_sptCurvedRightCalc, sizeof( mso_sptCurvedRightCalc ) / sizeof( SvxMSDffCalculationData ),
1340 (sal_Int32*)mso_sptCurvedRightDefault,
1341 (SvxMSDffTextRectangles*)mso_sptCurvedDownTextRect, sizeof( mso_sptCurvedDownTextRect ) / sizeof( SvxMSDffTextRectangles ),
1342 21600, 21600,
1343 Mx80000000, Mx80000000,
1344 (SvxMSDffVertPair*)mso_sptCurvedDownGluePoints, sizeof( mso_sptCurvedDownGluePoints ) / sizeof( SvxMSDffVertPair ),
1345 (SvxMSDffHandle*)mso_sptCurvedDownHandles, sizeof( mso_sptCurvedDownHandles ) / sizeof( SvxMSDffHandle )
1346 };
1347
1348 static const SvxMSDffVertPair mso_sptCurvedUpVert[] =
1349 {
1350 { 0, 22 MSO_I }, { 3 MSO_I, 21 MSO_I }, { 0, 0 }, { 4 MSO_I, 21 MSO_I },
1351 { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 7 MSO_I, 21 MSO_I },
1352 { 12 MSO_I, 2 MSO_I }, { 13 MSO_I, 2 MSO_I }, { 8 MSO_I, 0 }, { 11 MSO_I, 2 MSO_I },
1353 { 0, 22 MSO_I }, { 3 MSO_I, 21 MSO_I }, { 10 MSO_I, 2 MSO_I }, { 16 MSO_I, 24 MSO_I },
1354 { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 16 MSO_I, 24 MSO_I }, { 14 MSO_I, 0 },
1355 { 0, 22 MSO_I }, { 3 MSO_I, 21 MSO_I }, { 0, 0 }, { 4 MSO_I, 21 MSO_I },
1356 { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 7 MSO_I, 21 MSO_I }, { 16 MSO_I, 24 MSO_I },
1357 { 14 MSO_I, 22 MSO_I }, { 1 MSO_I, 21 MSO_I }, { 16 MSO_I, 24 MSO_I }, { 14 MSO_I, 0 }
1358 };
1359 static const sal_uInt16 mso_sptCurvedUpSegm[] =
1360 {
1361 0xa408,
1362 0x0003,
1363 0xa508,
1364 0x6000,
1365 0x8000,
1366 0xa404,
1367 0xa508,
1368 0xa504,
1369 0x6000,
1370 0x8000
1371 };
1372 static const SvxMSDffCalculationData mso_sptCurvedUpCalc[] =
1373 {
1374 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1375 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1376 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1377 { 0xa000, { DFF_Prop_adjustValue, 21600, DFF_Prop_adjust2Value } },
1378 { 0x2001, { 0x403, 1, 2 } },
1379 { 0x6000, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 21600 } },
1380 { 0xe000, { 0x405, DFF_Prop_adjust2Value, DFF_Prop_adjustValue } },
1381 { 0x2001, { 0x406, 1, 2 } },
1382 { 0x4002, { 21600, DFF_Prop_adjustValue, 0 } },
1383 { 0xa00f, { DFF_Prop_adjust3Value, 21600, 0x404 } },
1384 { 0x6000, { 0x404, 0x409, 0 } },
1385 { 0x6000, { 0x40a, DFF_Prop_adjust2Value, 21600 } },
1386 { 0x6000, { 0x407, 0x409, 0 } },
1387 { 0xa000, { 0x40b, 21600, DFF_Prop_adjustValue } },
1388 { 0xa000, { 0x405, 0, DFF_Prop_adjustValue } },
1389 { 0x2001, { 0x40e, 1, 2 } },
1390 { 0x6002, { 0x404, 0x407, 0 } },
1391 { 0x6000, { DFF_Prop_adjustValue, DFF_Prop_adjust2Value, 21600 } },
1392 { 0x2001, { 0x411, 1, 2 } },
1393 { 0xa000, { 0x410, 0, 0x412 } },
1394 { 0x0000, { 21600, 0, 0 } },
1395 { 0x0000, { 21600, 0, 0 } },
1396 { 0x0000, { 0, 0, 21600 } },
1397 { 0xa000, { 0x410, 0, 0x404 } },
1398 { 0x600f, { 0x417, 0x404, 21600 } },
1399 { 0x2000, { 0x408, 128, 0 } },
1400 { 0x2001, { 0x405, 1, 2 } },
1401 { 0x2000, { 0x405, 0, 128 } },
1402 { 0xe000, { DFF_Prop_adjustValue, 0x410, 0x40b } },
1403 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
1404 { 0x2001, { 0x41d, 1, 2 } },
1405 { 0x0001, { 21600, 21600, 1 } },
1406 { 0x6001, { DFF_Prop_adjust3Value, DFF_Prop_adjust3Value, 1 } },
1407 { 0xa000, { 0x41f, 0, 0x420 } },
1408 { 0x200d, { 0x421, 0, 0 } },
1409 { 0x2000, { 0x422, 21600, 0 } },
1410 { 0x8001, { 21600, 21600, 0x423 } },
1411 { 0x2000, { 0x424, 64, 0 } },
1412 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
1413 { 0x600f, { 0x41e, 0x426, 21600 } },
1414 { 0x2000, { 0x427, 0, 64 } },
1415 { 0x2001, { 0x404, 1, 2 } },
1416 { 0xa000, { DFF_Prop_adjust2Value, 0, 0x429 } },
1417 { 0x0001, { 21600, 2195, 16384 } },
1418 { 0x0001, { 21600, 14189, 16384 } }
1419 };
1420 static const sal_Int32 mso_sptCurvedUpDefault[] =
1421 {
1422 3, 12960, 19440, 7200
1423 };
1424 static const SvxMSDffTextRectangles mso_sptCurvedUpTextRect[] =
1425 {
1426 { { 41 MSO_I, 43 MSO_I }, { 42 MSO_I, 44 MSO_I } }
1427 };
1428 static const SvxMSDffVertPair mso_sptCurvedUpGluePoints[] =
1429 {
1430 { 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 }
1431 };
1432 static const SvxMSDffHandle mso_sptCurvedUpHandles[] =
1433 {
1434 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1435 0x100, 0, 10800, 10800, 3 + 37, 3 + 27, 0, 10800 },
1436 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1437 0x101, 0, 10800, 10800, 3 + 25, 3 + 20, 0, 10800 },
1438 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1439 21600, 0x102, 10800, 10800, 3375, 21600, 0, 3 + 40 }
1440 };
1441 static const mso_CustomShape msoCurvedUpArrow =
1442 {
1443 (SvxMSDffVertPair*)mso_sptCurvedUpVert, sizeof( mso_sptCurvedUpVert ) / sizeof( SvxMSDffVertPair ),
1444 (sal_uInt16*)mso_sptCurvedUpSegm, sizeof( mso_sptCurvedUpSegm ) >> 1,
1445 (SvxMSDffCalculationData*)mso_sptCurvedUpCalc, sizeof( mso_sptCurvedUpCalc ) / sizeof( SvxMSDffCalculationData ),
1446 (sal_Int32*)mso_sptCurvedUpDefault,
1447 (SvxMSDffTextRectangles*)mso_sptCurvedUpTextRect, sizeof( mso_sptCurvedUpTextRect ) / sizeof( SvxMSDffTextRectangles ),
1448 21600, 21600,
1449 Mx80000000, Mx80000000,
1450 (SvxMSDffVertPair*)mso_sptCurvedUpGluePoints, sizeof( mso_sptCurvedUpGluePoints ) / sizeof( SvxMSDffVertPair ),
1451 (SvxMSDffHandle*)mso_sptCurvedUpHandles, sizeof( mso_sptCurvedUpHandles ) / sizeof( SvxMSDffHandle )
1452 };
1453
1454 static const SvxMSDffVertPair mso_sptCurvedLeftVert[] =
1455 {
1456 { 22 MSO_I, 0 }, { 21 MSO_I, 3 MSO_I }, { 0, 0 }, { 21 MSO_I, 4 MSO_I },
1457 { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 21 MSO_I, 7 MSO_I }, { 2 MSO_I, 12 MSO_I },
1458 { 2 MSO_I, 13 MSO_I }, { 0, 8 MSO_I }, { 2 MSO_I, 11 MSO_I },
1459 { 22 MSO_I, 0 }, { 21 MSO_I, 3 MSO_I }, { 2 MSO_I, 10 MSO_I }, { 24 MSO_I, 16 MSO_I },
1460 { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 24 MSO_I, 16 MSO_I }, { 0, 14 MSO_I },
1461 { 22 MSO_I, 0 }, { 21 MSO_I, 3 MSO_I }, { 0, 0 }, { 21 MSO_I, 4 MSO_I },
1462 { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 21 MSO_I, 7 MSO_I }, { 24 MSO_I, 16 MSO_I },
1463 { 22 MSO_I, 14 MSO_I }, { 21 MSO_I, 1 MSO_I }, { 24 MSO_I, 16 MSO_I }, { 0, 14 MSO_I }
1464 };
1465 static const sal_uInt16 mso_sptCurvedLeftSegm[] =
1466 {
1467 0xa608,
1468 0x0003,
1469 0xa308,
1470 0x6000,
1471 0x8000,
1472 0xa604,
1473 0xa308,
1474 0x6000,
1475 0x8000
1476 };
1477 static const SvxMSDffTextRectangles mso_sptCurvedLeftTextRect[] =
1478 {
1479 { { 43 MSO_I, 41 MSO_I }, { 44 MSO_I, 42 MSO_I } }
1480 };
1481 static const SvxMSDffVertPair mso_sptCurvedLeftGluePoints[] =
1482 {
1483 { 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 }
1484 };
1485 static const SvxMSDffHandle mso_sptCurvedLeftHandles[] =
1486 {
1487 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1488 0, 0x100, 10800, 10800, 0, 10800, 3 + 37, 3 + 27 },
1489 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1490 0, 0x101, 10800, 10800, 0, 10800, 3 + 25, 3 + 20 },
1491 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1492 0x102, 21600, 10800, 10800, 0, 3 + 40, 3375, 21600 }
1493 };
1494 static const mso_CustomShape msoCurvedLeftArrow =
1495 {
1496 (SvxMSDffVertPair*)mso_sptCurvedLeftVert, sizeof( mso_sptCurvedLeftVert ) / sizeof( SvxMSDffVertPair ),
1497 (sal_uInt16*)mso_sptCurvedLeftSegm, sizeof( mso_sptCurvedLeftSegm ) >> 1,
1498 (SvxMSDffCalculationData*)mso_sptCurvedUpCalc, sizeof( mso_sptCurvedUpCalc ) / sizeof( SvxMSDffCalculationData ),
1499 (sal_Int32*)mso_sptCurvedUpDefault,
1500 (SvxMSDffTextRectangles*)mso_sptCurvedLeftTextRect, sizeof( mso_sptCurvedLeftTextRect ) / sizeof( SvxMSDffTextRectangles ),
1501 21600, 21600,
1502 Mx80000000, Mx80000000,
1503 (SvxMSDffVertPair*)mso_sptCurvedLeftGluePoints, sizeof( mso_sptCurvedLeftGluePoints ) / sizeof( SvxMSDffVertPair ),
1504 (SvxMSDffHandle*)mso_sptCurvedLeftHandles, sizeof( mso_sptCurvedLeftHandles ) / sizeof( SvxMSDffHandle )
1505 };
1506
1507 static const SvxMSDffVertPair mso_sptStripedRightArrowVert[] = // adjustment1 : x 3375 - 21600
1508 { // adjustment2 : y 0 - 10800
1509 { 3375, 0 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 1 MSO_I, 0 }, { 21600, 10800 },
1510 { 1 MSO_I, 21600 }, { 1 MSO_I, 2 MSO_I }, { 3375, 2 MSO_I }, { 0, 0 MSO_I },
1511 { 675, 0 MSO_I }, { 675, 2 MSO_I }, { 0, 2 MSO_I }, { 1350, 0 MSO_I },
1512 { 2700, 0 MSO_I }, { 2700, 2 MSO_I }, { 1350, 2 MSO_I }
1513 };
1514 static const sal_uInt16 mso_sptStripedRightArrowSegm[] =
1515 {
1516 0x4000, 0x0006, 0x6001, 0x8000,
1517 0x4000, 0x0003, 0x6001, 0x8000,
1518 0x4000, 0x0003, 0x6001, 0x8000
1519 };
1520 static const SvxMSDffCalculationData mso_sptStripedRightArrowCalc[] =
1521 {
1522 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1523 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1524 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
1525 { 0x8000, { 21600, 0, 0x401 } },
1526 { 0x6001, { 0x403, 0x400, 10800 } },
1527 { 0x6000, { 0x401, 0x404, 0 } }
1528 };
1529 static const SvxMSDffTextRectangles mso_sptStripedRightArrowTextRect[] =
1530 {
1531 { { 3375, 0 MSO_I }, { 5 MSO_I, 2 MSO_I } }
1532 };
1533 static const SvxMSDffHandle mso_sptStripedRightArrowHandle[] =
1534 {
1535 { MSDFF_HANDLE_FLAGS_RANGE,
1536 0x100, 0x101, 10800, 10800, 3375, 21600, 0, 10800 }
1537 };
1538 static const mso_CustomShape msoStripedRightArrow =
1539 {
1540 (SvxMSDffVertPair*)mso_sptStripedRightArrowVert, sizeof( mso_sptStripedRightArrowVert ) / sizeof( SvxMSDffVertPair ),
1541 (sal_uInt16*)mso_sptStripedRightArrowSegm, sizeof( mso_sptStripedRightArrowSegm ) >> 1,
1542 (SvxMSDffCalculationData*)mso_sptStripedRightArrowCalc, sizeof( mso_sptStripedRightArrowCalc ) / sizeof( SvxMSDffCalculationData ),
1543 (sal_Int32*)mso_sptDefault16200and5400,
1544 (SvxMSDffTextRectangles*)mso_sptStripedRightArrowTextRect, sizeof( mso_sptStripedRightArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
1545 21600, 21600,
1546 Mx80000000, Mx80000000,
1547 NULL, 0,
1548 (SvxMSDffHandle*)mso_sptStripedRightArrowHandle, sizeof( mso_sptStripedRightArrowHandle ) / sizeof( SvxMSDffHandle )
1549 };
1550
1551 static const SvxMSDffVertPair mso_sptNotchedRightArrowVert[] = // adjustment1 : x 0 - 21600 (default 16200)
1552 { // adjustment2 : y 0 - 10800 (default 5400)
1553 { 0, 1 MSO_I }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 0 }, { 21600, 10800 },
1554 { 0 MSO_I, 21600 }, { 0 MSO_I, 2 MSO_I }, { 0, 2 MSO_I }, { 5 MSO_I, 10800 }, { 0, 1 MSO_I }
1555 };
1556 static const SvxMSDffCalculationData mso_sptNotchedRightArrowCalc[] =
1557 {
1558 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1559 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1560 { 0x8000, { 21600, 0, DFF_Prop_adjust2Value } },
1561 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
1562 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
1563 { 0x6001, { 0x403, 0x404, 10800 } },
1564 { 0x8000, { 21600, 0, 0x405 }}
1565 };
1566 static const SvxMSDffTextRectangles mso_sptNotchedRightArrowTextRect[] = // todo
1567 {
1568 { { 5 MSO_I, 1 MSO_I }, { 6 MSO_I, 2 MSO_I } }
1569 };
1570 static const SvxMSDffHandle mso_sptNotchedRightArrowHandle[] =
1571 {
1572 { MSDFF_HANDLE_FLAGS_RANGE,
1573 0x100, 0x101, 10800, 10800, 0, 21600, 0, 10800 }
1574 };
1575 static const mso_CustomShape msoNotchedRightArrow =
1576 {
1577 (SvxMSDffVertPair*)mso_sptNotchedRightArrowVert, sizeof( mso_sptNotchedRightArrowVert ) / sizeof( SvxMSDffVertPair ),
1578 NULL, 0,
1579 (SvxMSDffCalculationData*)mso_sptNotchedRightArrowCalc, sizeof( mso_sptNotchedRightArrowCalc ) / sizeof( SvxMSDffCalculationData ),
1580 (sal_Int32*)mso_sptDefault16200and5400,
1581 (SvxMSDffTextRectangles*)mso_sptNotchedRightArrowTextRect, sizeof( mso_sptNotchedRightArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
1582 21600, 21600,
1583 Mx80000000, Mx80000000,
1584 NULL, 0,
1585 (SvxMSDffHandle*)mso_sptNotchedRightArrowHandle, sizeof( mso_sptNotchedRightArrowHandle ) / sizeof( SvxMSDffHandle )
1586 };
1587
1588 static const SvxMSDffVertPair mso_sptHomePlateVert[] = // adjustment1 : x 0 - 21600
1589 {
1590 { 0, 0 }, { 0 MSO_I, 0 }, { 21600, 10800 }, { 0 MSO_I, 21600 },
1591 { 0, 21600 }
1592 };
1593 static const sal_uInt16 mso_sptHomePlateSegm[] =
1594 {
1595 0x4000, 0x0004, 0x6001, 0x8000
1596 };
1597 static const SvxMSDffCalculationData mso_sptHomePlateCalc[] =
1598 {
1599 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
1600 };
1601 static const sal_Int32 mso_sptHomePlateDefault[] =
1602 {
1603 1, 16200
1604 };
1605 static const SvxMSDffTextRectangles mso_sptHomePlateTextRect[] = // todo
1606 {
1607 { { 0, 0 }, { 21600, 21600 } }
1608 };
1609 static const SvxMSDffHandle mso_sptHomePlateHandle[] =
1610 {
1611 { MSDFF_HANDLE_FLAGS_RANGE,
1612 0x100, 0, 10800, 10800, 0, 21600, Mx80000000, 0x7fffffff }
1613 };
1614 static const mso_CustomShape msoHomePlate =
1615 {
1616 (SvxMSDffVertPair*)mso_sptHomePlateVert, sizeof( mso_sptHomePlateVert ) / sizeof( SvxMSDffVertPair ),
1617 (sal_uInt16*)mso_sptHomePlateSegm, sizeof( mso_sptHomePlateSegm ) >> 1,
1618 (SvxMSDffCalculationData*)mso_sptHomePlateCalc, sizeof( mso_sptHomePlateCalc ) / sizeof( SvxMSDffCalculationData ),
1619 (sal_Int32*)mso_sptHomePlateDefault,
1620 (SvxMSDffTextRectangles*)mso_sptHomePlateTextRect, sizeof( mso_sptHomePlateTextRect ) / sizeof( SvxMSDffTextRectangles ),
1621 21600, 21600,
1622 Mx80000000, Mx80000000,
1623 NULL, 0,
1624 (SvxMSDffHandle*)mso_sptHomePlateHandle, sizeof( mso_sptHomePlateHandle ) / sizeof( SvxMSDffHandle )
1625 };
1626
1627 static const SvxMSDffVertPair mso_sptChevronVert[] = // adjustment1 : x 0 - 21600
1628 {
1629 { 0, 0 }, { 0 MSO_I, 0 }, { 21600, 10800 }, { 0 MSO_I, 21600 },
1630 { 0, 21600 }, { 1 MSO_I, 10800 }
1631 };
1632 static const sal_uInt16 mso_sptChevronSegm[] =
1633 {
1634 0x4000, 0x0005, 0x6001, 0x8000
1635 };
1636 static const SvxMSDffCalculationData mso_sptChevronCalc[] =
1637 {
1638 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1639 { 0x8000, { 21600, 0, 0x0400 } }
1640 };
1641 static const sal_Int32 mso_sptChevronDefault[] =
1642 {
1643 1, 16200
1644 };
1645 static const SvxMSDffTextRectangles mso_sptChevronTextRect[] = // todo
1646 {
1647 { { 0, 0 }, { 21600, 21600 } }
1648 };
1649 static const SvxMSDffHandle mso_sptChevronHandle[] =
1650 {
1651 { MSDFF_HANDLE_FLAGS_RANGE,
1652 0x100, 0, 10800, 10800, 0, 21600, Mx80000000, 0x7fffffff }
1653 };
1654 static const mso_CustomShape msoChevron =
1655 {
1656 (SvxMSDffVertPair*)mso_sptChevronVert, sizeof( mso_sptChevronVert ) / sizeof( SvxMSDffVertPair ),
1657 (sal_uInt16*)mso_sptChevronSegm, sizeof( mso_sptChevronSegm ) >> 1,
1658 (SvxMSDffCalculationData*)mso_sptChevronCalc, sizeof( mso_sptChevronCalc ) / sizeof( SvxMSDffCalculationData ),
1659 (sal_Int32*)mso_sptChevronDefault,
1660 (SvxMSDffTextRectangles*)mso_sptChevronTextRect, sizeof( mso_sptChevronTextRect ) / sizeof( SvxMSDffTextRectangles ),
1661 21600, 21600,
1662 Mx80000000, Mx80000000,
1663 NULL, 0,
1664 (SvxMSDffHandle*)mso_sptChevronHandle, sizeof( mso_sptChevronHandle ) / sizeof( SvxMSDffHandle )
1665 };
1666
1667 static const SvxMSDffVertPair mso_sptRightArrowCalloutVert[] = // adjustment1 : x 0 - 21000
1668 { // adjustment2 : y 0 - 10800
1669 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I },
1670 { 2 MSO_I, 1 MSO_I }, { 21600, 10800 }, { 2 MSO_I, 4 MSO_I }, { 2 MSO_I, 5 MSO_I },
1671 { 0 MSO_I, 5 MSO_I }, { 0 MSO_I, 21600 }, { 0, 21600 }
1672 };
1673 static const sal_uInt16 mso_sptRightArrowCalloutSegm[] =
1674 {
1675 0x4000, 0x000a, 0x6001, 0x8000
1676 };
1677 static const SvxMSDffCalculationData mso_sptRightArrowCalloutCalc[] =
1678 {
1679 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1680 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1681 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1682 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1683 { 0x8000, { 21600, 0, 0x0401 } },
1684 { 0x8000, { 21600, 0, 0x0403 } }
1685 };
1686 static const sal_Int32 mso_sptRightArrowCalloutDefault[] =
1687 {
1688 4, 14400, 5400, 18000, 8100
1689 };
1690 static const SvxMSDffTextRectangles mso_sptRightArrowCalloutTextRect[] =
1691 {
1692 { { 0, 0 }, { 0 MSO_I, 21600 } }
1693 };
1694 static const SvxMSDffHandle mso_sptRightArrowCalloutHandle[] =
1695 {
1696 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1697 0x100, 0, 10800, 10800, 0, 0x102, Mx80000000, 0x7fffffff },
1698 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1699 0x102, 0x103, 10800, 10800, 0x100, 21600, 0x101, 10800 },
1700 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1701 1, 0x101, 10800, 10800, Mx80000000, 0x7fffffff, 0, 0x103 }
1702 };
1703 static const mso_CustomShape msoRightArrowCallout =
1704 {
1705 (SvxMSDffVertPair*)mso_sptRightArrowCalloutVert, sizeof( mso_sptRightArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
1706 (sal_uInt16*)mso_sptRightArrowCalloutSegm, sizeof( mso_sptRightArrowCalloutSegm ) >> 1,
1707 (SvxMSDffCalculationData*)mso_sptRightArrowCalloutCalc, sizeof( mso_sptRightArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
1708 (sal_Int32*)mso_sptRightArrowCalloutDefault,
1709 (SvxMSDffTextRectangles*)mso_sptRightArrowCalloutTextRect, sizeof( mso_sptRightArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
1710 21600, 21600,
1711 Mx80000000, Mx80000000,
1712 NULL, 0,
1713 (SvxMSDffHandle*)mso_sptRightArrowCalloutHandle, sizeof( mso_sptRightArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
1714 };
1715
1716 static const SvxMSDffVertPair mso_sptLeftArrowCalloutVert[] = // adjustment1 : x 0 - 21600, adjustment2 : y 0 - 10800
1717 { // adjustment3 : x 0 - 21600, adjustment4 : y 0 - 10800
1718 { 0 MSO_I, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0 MSO_I, 21600 },
1719 { 0 MSO_I, 5 MSO_I }, { 2 MSO_I, 5 MSO_I }, { 2 MSO_I, 4 MSO_I }, { 0, 10800 },
1720 { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
1721 };
1722 static const sal_uInt16 mso_sptLeftArrowCalloutSegm[] =
1723 {
1724 0x4000, 0x000a, 0x6001, 0x8000
1725 };
1726 static const SvxMSDffCalculationData mso_sptLeftArrowCalloutCalc[] =
1727 {
1728 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1729 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1730 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1731 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1732 { 0x8000, { 21600, 0, 0x0401 } },
1733 { 0x8000, { 21600, 0, 0x0403 } }
1734 };
1735 static const sal_Int32 mso_sptLeftArrowCalloutDefault[] =
1736 {
1737 4, 7200, 5400, 3600, 8100
1738 };
1739 static const SvxMSDffTextRectangles mso_sptLeftArrowCalloutTextRect[] =
1740 {
1741 { { 0 MSO_I, 0 }, { 21600, 21600 } }
1742 };
1743 static const SvxMSDffHandle mso_sptLeftArrowCalloutHandle[] =
1744 {
1745 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
1746 0x100, 0, 10800, 10800, 0x102, 21600, Mx80000000, 0x7fffffff },
1747 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1748 0x102, 0x103, 10800, 10800, 0, 0x100, 0x101, 10800 },
1749 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1750 0, 0x101, 10800, 10800, Mx80000000, 0x7fffffff, 0, 0x103 }
1751 };
1752 static const mso_CustomShape msoLeftArrowCallout =
1753 {
1754 (SvxMSDffVertPair*)mso_sptLeftArrowCalloutVert, sizeof( mso_sptLeftArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
1755 (sal_uInt16*)mso_sptLeftArrowCalloutSegm, sizeof( mso_sptLeftArrowCalloutSegm ) >> 1,
1756 (SvxMSDffCalculationData*)mso_sptLeftArrowCalloutCalc, sizeof( mso_sptLeftArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
1757 (sal_Int32*)mso_sptLeftArrowCalloutDefault,
1758 (SvxMSDffTextRectangles*)mso_sptLeftArrowCalloutTextRect, sizeof( mso_sptLeftArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
1759 21600, 21600,
1760 Mx80000000, Mx80000000,
1761 NULL, 0,
1762 (SvxMSDffHandle*)mso_sptLeftArrowCalloutHandle, sizeof( mso_sptLeftArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
1763 };
1764
1765 static const SvxMSDffVertPair mso_sptUpArrowCalloutVert[] =
1766 {
1767 { 21600, 0 MSO_I }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 MSO_I },
1768 { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I }, { 10800, 0 },
1769 { 4 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 5 MSO_I, 0 MSO_I }
1770 };
1771 static const sal_uInt16 mso_sptUpArrowCalloutSegm[] =
1772 {
1773 0x4000, 0x000a, 0x6001, 0x8000
1774 };
1775 static const SvxMSDffCalculationData mso_sptUpArrowCalloutCalc[] =
1776 {
1777 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1778 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1779 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1780 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1781 { 0x8000, { 21600, 0, 0x0401 } },
1782 { 0x8000, { 21600, 0, 0x0403 } }
1783 };
1784 static const sal_Int32 mso_sptUpArrowCalloutDefault[] =
1785 {
1786 4, 7200, 5400, 3600, 8100
1787 };
1788 static const SvxMSDffTextRectangles mso_sptUpArrowCalloutTextRect[] =
1789 {
1790 { { 0, 0 MSO_I }, { 21600, 21600 } }
1791 };
1792 static const SvxMSDffHandle mso_sptUpArrowCalloutHandle[] =
1793 {
1794 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1795 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0x102, 21600 },
1796 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1797 0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 },
1798 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1799 0x101, 0, 10800, 10800, 0, 0x103, Mx80000000, 0x7fffffff }
1800 };
1801 static const mso_CustomShape msoUpArrowCallout =
1802 {
1803 (SvxMSDffVertPair*)mso_sptUpArrowCalloutVert, sizeof( mso_sptUpArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
1804 (sal_uInt16*)mso_sptUpArrowCalloutSegm, sizeof( mso_sptUpArrowCalloutSegm ) >> 1,
1805 (SvxMSDffCalculationData*)mso_sptUpArrowCalloutCalc, sizeof( mso_sptUpArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
1806 (sal_Int32*)mso_sptUpArrowCalloutDefault,
1807 (SvxMSDffTextRectangles*)mso_sptUpArrowCalloutTextRect, sizeof( mso_sptUpArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
1808 21600, 21600,
1809 Mx80000000, Mx80000000,
1810 NULL, 0,
1811 (SvxMSDffHandle*)mso_sptUpArrowCalloutHandle, sizeof( mso_sptUpArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
1812 };
1813
1814 static const SvxMSDffVertPair mso_sptDownArrowCalloutVert[] =
1815 {
1816 { 0, 0 MSO_I }, { 0, 0 }, { 21600, 0 }, { 21600, 0 MSO_I },
1817 { 5 MSO_I, 0 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 4 MSO_I, 2 MSO_I }, { 10800, 21600 },
1818 { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 0 MSO_I }
1819 };
1820 static const sal_uInt16 mso_sptDownArrowCalloutSegm[] =
1821 {
1822 0x4000, 0x000a, 0x6001, 0x8000
1823 };
1824 static const SvxMSDffCalculationData mso_sptDownArrowCalloutCalc[] =
1825 {
1826 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1827 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1828 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1829 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1830 { 0x8000, { 21600, 0, 0x0401 } },
1831 { 0x8000, { 21600, 0, 0x0403 } }
1832 };
1833 static const sal_Int32 mso_sptDownArrowCalloutDefault[] =
1834 {
1835 4, 14400, 5400, 18000, 8100
1836 };
1837 static const SvxMSDffTextRectangles mso_sptDownArrowCalloutTextRect[] =
1838 {
1839 { { 0, 0 }, { 21600, 0 MSO_I } }
1840 };
1841 static const SvxMSDffHandle mso_sptDownArrowCalloutHandle[] =
1842 {
1843 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1844 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 0x102 },
1845 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1846 0x103, 0x102, 10800, 10800, 0x101, 10800, 0x100, 21600 },
1847 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1848 0x101, 1, 10800, 10800, 0, 0x103, Mx80000000, 0x7fffffff }
1849 };
1850 static const mso_CustomShape msoDownArrowCallout =
1851 {
1852 (SvxMSDffVertPair*)mso_sptDownArrowCalloutVert, sizeof( mso_sptDownArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
1853 (sal_uInt16*)mso_sptDownArrowCalloutSegm, sizeof( mso_sptDownArrowCalloutSegm ) >> 1,
1854 (SvxMSDffCalculationData*)mso_sptDownArrowCalloutCalc, sizeof( mso_sptDownArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
1855 (sal_Int32*)mso_sptDownArrowCalloutDefault,
1856 (SvxMSDffTextRectangles*)mso_sptDownArrowCalloutTextRect, sizeof( mso_sptDownArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
1857 21600, 21600,
1858 Mx80000000, Mx80000000,
1859 NULL, 0,
1860 (SvxMSDffHandle*)mso_sptDownArrowCalloutHandle, sizeof( mso_sptDownArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
1861 };
1862
1863 static const SvxMSDffVertPair mso_sptLeftRightArrowCalloutVert[] =
1864 {
1865 { 0 MSO_I, 0 }, { 4 MSO_I, 0 }, { 4 MSO_I, 3 MSO_I }, { 6 MSO_I, 3 MSO_I },
1866 { 6 MSO_I, 1 MSO_I }, { 21600, 10800 }, { 6 MSO_I, 5 MSO_I }, { 6 MSO_I, 7 MSO_I },
1867 { 4 MSO_I, 7 MSO_I }, { 4 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0 MSO_I, 7 MSO_I },
1868 { 2 MSO_I, 7 MSO_I }, { 2 MSO_I, 5 MSO_I }, { 0, 10800 }, { 2 MSO_I, 1 MSO_I },
1869 { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
1870 };
1871 static const sal_uInt16 mso_sptLeftRightArrowCalloutSegm[] =
1872 {
1873 0x4000, 0x0011, 0x6001, 0x8000
1874 };
1875 static const SvxMSDffCalculationData mso_sptLeftRightArrowCalloutCalc[] =
1876 {
1877 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1878 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1879 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1880 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1881 { 0x8000, { 21600, 0, 0x0400 } },
1882 { 0x8000, { 21600, 0, 0x0401 } },
1883 { 0x8000, { 21600, 0, 0x0402 } },
1884 { 0x8000, { 21600, 0, 0x0403 } }
1885 };
1886 static const sal_Int32 mso_sptLeftRightArrowCalloutDefault[] =
1887 {
1888 4, 5400, 5500, 2700, 8100
1889 };
1890 static const SvxMSDffTextRectangles mso_sptLeftRightArrowCalloutTextRect[] =
1891 {
1892 { { 0 MSO_I, 0 }, { 4 MSO_I, 21600 } }
1893 };
1894 static const SvxMSDffHandle mso_sptLeftRightArrowCalloutHandle[] =
1895 {
1896 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
1897 0x100, 0, 10800, 10800, 0x102, 10800, Mx80000000, 0x7fffffff },
1898 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1899 0x102, 0x103, 10800, 10800, 0, 0x100, 0x101, 10800 },
1900 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1901 0, 0x101, 10800, 10800, Mx80000000, 0x7fffffff, 0, 0x103 }
1902 };
1903 static const mso_CustomShape msoLeftRightArrowCallout =
1904 {
1905 (SvxMSDffVertPair*)mso_sptLeftRightArrowCalloutVert, sizeof( mso_sptLeftRightArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
1906 (sal_uInt16*)mso_sptLeftRightArrowCalloutSegm, sizeof( mso_sptLeftRightArrowCalloutSegm ) >> 1,
1907 (SvxMSDffCalculationData*)mso_sptLeftRightArrowCalloutCalc, sizeof( mso_sptLeftRightArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
1908 (sal_Int32*)mso_sptLeftRightArrowCalloutDefault,
1909 (SvxMSDffTextRectangles*)mso_sptLeftRightArrowCalloutTextRect, sizeof( mso_sptLeftRightArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
1910 21600, 21600,
1911 Mx80000000, Mx80000000,
1912 NULL, 0,
1913 (SvxMSDffHandle*)mso_sptLeftRightArrowCalloutHandle, sizeof( mso_sptLeftRightArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
1914 };
1915
1916 static const SvxMSDffVertPair mso_sptUpDownArrowCalloutVert[] =
1917 {
1918 { 0, 0 MSO_I }, { 0, 4 MSO_I }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 6 MSO_I },
1919 { 1 MSO_I, 6 MSO_I }, { 10800, 21600 }, { 5 MSO_I, 6 MSO_I }, { 7 MSO_I, 6 MSO_I },
1920 { 7 MSO_I, 4 MSO_I }, { 21600, 4 MSO_I }, { 21600, 0 MSO_I }, { 7 MSO_I, 0 MSO_I },
1921 { 7 MSO_I, 2 MSO_I }, { 5 MSO_I, 2 MSO_I }, { 10800, 0 }, { 1 MSO_I, 2 MSO_I },
1922 { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 0 MSO_I }
1923 };
1924 static const sal_uInt16 mso_sptUpDownArrowCalloutSegm[] =
1925 {
1926 0x4000, 0x0011, 0x6001, 0x8000
1927 };
1928 static const SvxMSDffCalculationData mso_sptUpDownArrowCalloutCalc[] =
1929 {
1930 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1931 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1932 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1933 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1934 { 0x8000, { 21600, 0, 0x0400 } },
1935 { 0x8000, { 21600, 0, 0x0401 } },
1936 { 0x8000, { 21600, 0, 0x0402 } },
1937 { 0x8000, { 21600, 0, 0x0403 } }
1938 };
1939 static const sal_Int32 mso_sptUpDownArrowCalloutDefault[] =
1940 {
1941 4, 5400, 5500, 2700, 8100
1942 };
1943 static const SvxMSDffTextRectangles mso_sptUpDownArrowCalloutTextRect[] =
1944 {
1945 { { 0, 0 MSO_I }, { 21600, 4 MSO_I } }
1946 };
1947 static const SvxMSDffHandle mso_sptUpDownArrowCalloutHandle[] =
1948 {
1949 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
1950 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0x102, 10800 },
1951 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
1952 0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 },
1953 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
1954 0x101, 0, 10800, 10800, 0, 0x103, Mx80000000, 0x7fffffff }
1955 };
1956 static const mso_CustomShape msoUpDownArrowCallout =
1957 {
1958 (SvxMSDffVertPair*)mso_sptUpDownArrowCalloutVert, sizeof( mso_sptUpDownArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
1959 (sal_uInt16*)mso_sptUpDownArrowCalloutSegm, sizeof( mso_sptUpDownArrowCalloutSegm ) >> 1,
1960 (SvxMSDffCalculationData*)mso_sptUpDownArrowCalloutCalc, sizeof( mso_sptUpDownArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
1961 (sal_Int32*)mso_sptUpDownArrowCalloutDefault,
1962 (SvxMSDffTextRectangles*)mso_sptUpDownArrowCalloutTextRect, sizeof( mso_sptUpDownArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
1963 21600, 21600,
1964 Mx80000000, Mx80000000,
1965 NULL, 0,
1966 (SvxMSDffHandle*)mso_sptUpDownArrowCalloutHandle, sizeof( mso_sptUpDownArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
1967 };
1968
1969 static const SvxMSDffVertPair mso_sptQuadArrowCalloutVert[] =
1970 {
1971 { 0 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
1972 { 10800, 0 }, { 5 MSO_I, 2 MSO_I }, { 7 MSO_I, 2 MSO_I }, { 7 MSO_I, 0 MSO_I },
1973 { 4 MSO_I, 0 MSO_I }, { 4 MSO_I, 3 MSO_I }, { 6 MSO_I, 3 MSO_I }, { 6 MSO_I, 1 MSO_I },
1974 { 21600, 10800 }, { 6 MSO_I, 5 MSO_I }, { 6 MSO_I, 7 MSO_I }, { 4 MSO_I, 7 MSO_I },
1975 { 4 MSO_I, 4 MSO_I }, { 7 MSO_I, 4 MSO_I }, { 7 MSO_I, 6 MSO_I }, { 5 MSO_I, 6 MSO_I },
1976 { 10800, 21600 }, { 1 MSO_I, 6 MSO_I }, { 3 MSO_I, 6 MSO_I }, { 3 MSO_I, 4 MSO_I },
1977 { 0 MSO_I, 4 MSO_I }, { 0 MSO_I, 7 MSO_I }, { 2 MSO_I, 7 MSO_I }, { 2 MSO_I, 5 MSO_I },
1978 { 0, 10800 }, { 2 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 3 MSO_I }
1979 };
1980 static const sal_uInt16 mso_sptQuadArrowCalloutSegm[] =
1981 {
1982 0x4000, 0x001f, 0x6001, 0x8000
1983 };
1984 static const SvxMSDffCalculationData mso_sptQuadArrowCalloutCalc[] =
1985 {
1986 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
1987 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
1988 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
1989 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
1990 { 0x8000, { 21600, 0, 0x0400 } },
1991 { 0x8000, { 21600, 0, 0x0401 } },
1992 { 0x8000, { 21600, 0, 0x0402 } },
1993 { 0x8000, { 21600, 0, 0x0403 } }
1994 };
1995 static const sal_Int32 mso_sptQuadArrowCalloutDefault[] =
1996 {
1997 4, 5400, 8100, 2700, 9400
1998 };
1999 static const SvxMSDffTextRectangles mso_sptQuadArrowCalloutTextRect[] =
2000 {
2001 { { 0 MSO_I, 0 MSO_I }, { 4 MSO_I, 4 MSO_I } }
2002 };
2003 static const SvxMSDffHandle mso_sptQuadArrowCalloutHandle[] =
2004 {
2005 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
2006 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0x102, 0x101 },
2007 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
2008 0x101, 0, 10800, 10800, 0x100, 10800, Mx80000000, 0x7fffffff },
2009 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
2010 0x103, 0x102, 10800, 10800, 0x101, 10800, 0, 0x100 }
2011 };
2012 static const mso_CustomShape msoQuadArrowCallout =
2013 {
2014 (SvxMSDffVertPair*)mso_sptQuadArrowCalloutVert, sizeof( mso_sptQuadArrowCalloutVert ) / sizeof( SvxMSDffVertPair ),
2015 (sal_uInt16*)mso_sptQuadArrowCalloutSegm, sizeof( mso_sptQuadArrowCalloutSegm ) >> 1,
2016 (SvxMSDffCalculationData*)mso_sptQuadArrowCalloutCalc, sizeof( mso_sptQuadArrowCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
2017 (sal_Int32*)mso_sptQuadArrowCalloutDefault,
2018 (SvxMSDffTextRectangles*)mso_sptQuadArrowCalloutTextRect, sizeof( mso_sptQuadArrowCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
2019 21600, 21600,
2020 Mx80000000, Mx80000000,
2021 NULL, 0,
2022 (SvxMSDffHandle*)mso_sptQuadArrowCalloutHandle, sizeof( mso_sptQuadArrowCalloutHandle ) / sizeof( SvxMSDffHandle )
2023 };
2024
2025 static const SvxMSDffVertPair mso_sptCircularArrowVert[] =
2026 {
2027 { 0x03 MSO_I, 0x03 MSO_I },
2028 { 0x14 MSO_I, 0x14 MSO_I },
2029 { 0x13 MSO_I, 0x12 MSO_I },
2030 { 0x11 MSO_I, 0x10 MSO_I },
2031 { 0, 0 }, { 21600, 21600 },
2032 { 0x09 MSO_I, 0x08 MSO_I },
2033 { 0x0B MSO_I, 0x0A MSO_I },
2034 { 0x18 MSO_I, 0x17 MSO_I },
2035 { 0x2F MSO_I, 0x2E MSO_I },
2036 { 0x1D MSO_I, 0x1C MSO_I }
2037 };
2038 static const sal_uInt16 mso_sptCircularArrowSegm[] =
2039 {
2040 0xa404, 0xa504, 0x0003, 0x6001, 0x8000
2041 };
2042 static const SvxMSDffCalculationData mso_sptCircularArrowCalc[] =
2043 {
2044 { 0x2000, { 0x0147, 0x0000, 0x0000 } },
2045 { 0x2000, { 0x0148, 0x0000, 0x0000 } },
2046 { 0x2000, { 0x0149, 0x0000, 0x0000 } },
2047 { 0x4000, { 0x2A30, 0x0149, 0x0000 } },
2048 { 0x4009, { 0x2A30, 0x0147, 0x0000 } },
2049 { 0x400A, { 0x2A30, 0x0147, 0x0000 } },
2050 { 0x4009, { 0x2A30, 0x0148, 0x0000 } },
2051 { 0x400A, { 0x2A30, 0x0148, 0x0000 } },
2052 { 0x2000, { 0x0404, 0x2A30, 0x0000 } },
2053 { 0x2000, { 0x0405, 0x2A30, 0x0000 } },
2054 { 0x2000, { 0x0406, 0x2A30, 0x0000 } },
2055 { 0x2000, { 0x0407, 0x2A30, 0x0000 } },
2056 { 0x6009, { 0x0403, 0x0147, 0x0000 } },
2057 { 0x600A, { 0x0403, 0x0147, 0x0000 } },
2058 { 0x6009, { 0x0403, 0x0148, 0x0000 } },
2059 { 0x600A, { 0x0403, 0x0148, 0x0000 } },
2060 { 0x2000, { 0x040C, 0x2A30, 0x0000 } },
2061 { 0x2000, { 0x040D, 0x2A30, 0x0000 } },
2062 { 0x2000, { 0x040E, 0x2A30, 0x0000 } },
2063 { 0x2000, { 0x040F, 0x2A30, 0x0000 } },
2064 { 0x8000, { 0x5460, 0x0000, 0x0403 } },
2065 { 0x4009, { 0x34BC, 0x0148, 0x0000 } },
2066 { 0x400A, { 0x34BC, 0x0148, 0x0000 } },
2067 { 0x2000, { 0x0415, 0x2A30, 0x0000 } },
2068 { 0x2000, { 0x0416, 0x2A30, 0x0000 } },
2069 { 0x2000, { 0x0149, 0x0000, 0x0A8C } },
2070 { 0x6009, { 0x0419, 0x0148, 0x0000 } },
2071 { 0x600A, { 0x0419, 0x0148, 0x0000 } },
2072 { 0x2000, { 0x041A, 0x2A30, 0x0000 } },
2073 { 0x2000, { 0x041B, 0x2A30, 0x0000 } },
2074 { 0xA000, { 0x041D, 0x0000, 0x0418 } },
2075 { 0xA000, { 0x041D, 0x0000, 0x0418 } },
2076 { 0x6001, { 0x041E, 0x041F, 0x0001 } },
2077 { 0xA000, { 0x041C, 0x0000, 0x0417 } },
2078 { 0xA000, { 0x041C, 0x0000, 0x0417 } },
2079 { 0x6001, { 0x0421, 0x0422, 0x0001 } },
2080 { 0x6000, { 0x0420, 0x0423, 0x0000 } },
2081 { 0x200D, { 0x0424, 0x0000, 0x0000 } },
2082 { 0x200E, { 0x0148, 0x002D, 0x0000 } },
2083 { 0x6009, { 0x0425, 0x0426, 0x0000 } },
2084 { 0x200E, { 0x0148, 0x002D, 0x0000 } },
2085 { 0x600A, { 0x0425, 0x0428, 0x0000 } },
2086 { 0x000E, { 0x0000, 0x002D, 0x0000 } },
2087 { 0x6009, { 0x0427, 0x042A, 0x0000 } },
2088 { 0x000E, { 0x0000, 0x002D, 0x0000 } },
2089 { 0x6009, { 0x0429, 0x042C, 0x0000 } },
2090 { 0x6000, { 0x041C, 0x042B, 0x0000 } },
2091 { 0x6000, { 0x041D, 0x042D, 0x0000 } }
2092 };
2093 static const sal_Int32 mso_sptCircularArrowDefault[] =
2094 {
2095 3, 180, 0, 5500
2096 };
2097 static const SvxMSDffTextRectangles mso_sptCircularArrowTextRect[] = // todo
2098 {
2099 { { 0, 0 }, { 21600, 21600 } }
2100 };
2101 static const SvxMSDffHandle mso_sptCircularArrowHandle[] =
2102 {
2103 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
2104 10800, 0x100, 10800, 10800, 10800, 10800, -0x00b40000, +0x00b40000 },
2105 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
2106 0x102, 0x101, 10800, 10800, 0, 10800, -0x00b40000, +0x00b40000 }
2107 };
2108 static const mso_CustomShape msoCircularArrow =
2109 {
2110 (SvxMSDffVertPair*)mso_sptCircularArrowVert, sizeof( mso_sptCircularArrowVert ) / sizeof( SvxMSDffVertPair ),
2111 (sal_uInt16*)mso_sptCircularArrowSegm, sizeof( mso_sptCircularArrowSegm ) >> 1,
2112 (SvxMSDffCalculationData*)mso_sptCircularArrowCalc, sizeof( mso_sptCircularArrowCalc ) / sizeof( SvxMSDffCalculationData ),
2113 (sal_Int32*)mso_sptCircularArrowDefault,
2114 (SvxMSDffTextRectangles*)mso_sptCircularArrowTextRect, sizeof( mso_sptCircularArrowTextRect ) / sizeof( SvxMSDffTextRectangles ),
2115 21600, 21600,
2116 Mx80000000, Mx80000000,
2117 NULL, 0,
2118 (SvxMSDffHandle*)mso_sptCircularArrowHandle, sizeof( mso_sptCircularArrowHandle ) / sizeof( SvxMSDffHandle ) // handles
2119 };
2120
2121 static const SvxMSDffVertPair mso_sptCubeVert[] =
2122 {
2123 { 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 },
2124 { 0, 1 MSO_I }, { 2 MSO_I, 0 }, { 11 MSO_I, 0 }, { 4 MSO_I, 1 MSO_I },
2125 { 4 MSO_I, 12 MSO_I }, { 4 MSO_I, 1 MSO_I }, { 11 MSO_I, 0 }, { 11 MSO_I, 3 MSO_I }
2126 };
2127 static const sal_uInt16 mso_sptCubeSegm[] =
2128 {
2129 0x4000, 0x0005, 0x6001, 0x8000,
2130 0x4000, 0x0003, 0x6001, 0x8000,
2131 0x4000, 0x0003, 0x6001, 0x8000
2132 };
2133 static const SvxMSDffCalculationData mso_sptCubeCalc[] =
2134 {
2135 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2136 { 0x6000, { DFF_Prop_geoTop, 0x400, 0 } },
2137 { 0x6000, { DFF_Prop_geoLeft, 0x400, 0 } },
2138 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } },
2139 { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
2140 { 0xa000, { DFF_Prop_geoRight, 0, 0x402 } }, // 5
2141 { 0x2001, { 0x405, 1, 2 } }, // 6
2142 { 0x6000, { 0x402, 0x406, 0 } }, // 7
2143 { 0xa000, { DFF_Prop_geoBottom, 0, 0x401 } }, // 8
2144 { 0x2001, { 0x408, 1, 2 } }, // 9
2145 { 0x6000, { 0x401, 0x409, 0 } }, // 10
2146 { 0x2000, { DFF_Prop_geoRight, 0, 0 } }, // 11
2147 { 0x2000, { DFF_Prop_geoBottom, 0, 0 } } // 12
2148 };
2149 static const SvxMSDffTextRectangles mso_sptCubeTextRect[] =
2150 {
2151 { { 0, 1 MSO_I }, { 4 MSO_I, 12 MSO_I } }
2152 };
2153 static const SvxMSDffHandle mso_sptCubeHandle[] =
2154 {
2155 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
2156 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 21600 }
2157 };
2158 static const SvxMSDffVertPair mso_sptCubeGluePoints[] =
2159 {
2160 { 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 }
2161 };
2162 static const mso_CustomShape msoCube =
2163 {
2164 (SvxMSDffVertPair*)mso_sptCubeVert, sizeof( mso_sptCubeVert ) / sizeof( SvxMSDffVertPair ),
2165 (sal_uInt16*)mso_sptCubeSegm, sizeof( mso_sptCubeSegm ) >> 1,
2166 (SvxMSDffCalculationData*)mso_sptCubeCalc, sizeof( mso_sptCubeCalc ) / sizeof( SvxMSDffCalculationData ),
2167 (sal_Int32*)mso_sptDefault5400,
2168 (SvxMSDffTextRectangles*)mso_sptCubeTextRect, sizeof( mso_sptCubeTextRect ) / sizeof( SvxMSDffTextRectangles ),
2169 21600, 21600,
2170 10800, 10800,
2171 (SvxMSDffVertPair*)mso_sptCubeGluePoints, sizeof( mso_sptCubeGluePoints ) / sizeof( SvxMSDffVertPair ),
2172 (SvxMSDffHandle*)mso_sptCubeHandle, sizeof( mso_sptCubeHandle ) / sizeof( SvxMSDffHandle )
2173 };
2174
2175 static const SvxMSDffVertPair mso_sptBevelVert[] =
2176 {
2177 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2178 { 0, 0 }, { 21600, 0 }, { 1 MSO_I, 0 MSO_I }, { 0 MSO_I, 0 MSO_I },
2179 { 21600, 0 }, { 21600, 21600 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 0 MSO_I },
2180 { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2181 { 0, 21600 }, { 0, 0 }, { 0 MSO_I, 0 MSO_I }, { 0 MSO_I, 2 MSO_I }
2182 };
2183 static const sal_uInt16 mso_sptBevelSegm[] =
2184 {
2185 0x4000, 0x0003, 0x6001, 0x8000,
2186 0x4000, 0x0003, 0x6001, 0x8000,
2187 0x4000, 0x0003, 0x6001, 0x8000,
2188 0x4000, 0x0003, 0x6001, 0x8000,
2189 0x4000, 0x0003, 0x6001, 0x8000
2190 };
2191 static const SvxMSDffCalculationData mso_sptBevelCalc[] =
2192 {
2193 { 0x2001, { DFF_Prop_adjustValue, 21599, 21600 } },
2194 { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
2195 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
2196 };
2197
2198 static const SvxMSDffTextRectangles mso_sptBevelTextRect[] =
2199 {
2200 { { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 2 MSO_I } }
2201 };
2202 static const SvxMSDffHandle mso_sptBevelHandle[] =
2203 {
2204 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
2205 0x100, 0, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
2206 };
2207 static const mso_CustomShape msoBevel =
2208 {
2209 (SvxMSDffVertPair*)mso_sptBevelVert, sizeof( mso_sptBevelVert ) / sizeof( SvxMSDffVertPair ),
2210 (sal_uInt16*)mso_sptBevelSegm, sizeof( mso_sptBevelSegm ) >> 1,
2211 (SvxMSDffCalculationData*)mso_sptBevelCalc, sizeof( mso_sptBevelCalc ) / sizeof( SvxMSDffCalculationData ),
2212 (sal_Int32*)mso_sptDefault2700,
2213 (SvxMSDffTextRectangles*)mso_sptBevelTextRect, sizeof( mso_sptBevelTextRect ) / sizeof( SvxMSDffTextRectangles ),
2214 21600, 21600,
2215 10800, 10800,
2216 NULL, 0,
2217 (SvxMSDffHandle*)mso_sptBevelHandle, sizeof( mso_sptBevelHandle ) / sizeof( SvxMSDffHandle )
2218 };
2219
2220 static const SvxMSDffVertPair mso_sptFoldedCornerVert[] = // adjustment1 : x 10800 - 21600
2221 {
2222 { 0, 0 }, { 21600, 0 }, { 21600, 0 MSO_I }, { 0 MSO_I, 21600 },
2223 { 0, 21600 }, { 0 MSO_I, 21600 }, { 3 MSO_I, 0 MSO_I }, { 8 MSO_I, 9 MSO_I },
2224 { 10 MSO_I, 11 MSO_I }, { 21600, 0 MSO_I }
2225 };
2226 static const sal_uInt16 mso_sptFoldedCornerSegm[] =
2227 {
2228 0x4000, 0x0004, 0x6001, 0x8000,
2229 0x4000, 0x0001, 0x2001, 0x6001, 0x8000
2230 };
2231 static const SvxMSDffCalculationData mso_sptFoldedCornerCalc[] =
2232 {
2233 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2234 { 0x8000, { 21600, 0, 0x400 } },
2235 { 0x2001, { 0x0401, 8000, 10800 } },
2236 { 0x8000, { 21600, 0, 0x0402 } },
2237 { 0x2001, { 0x0401, 1, 2 } },
2238 { 0x2001, { 0x0401, 1, 4 } },
2239 { 0x2001, { 0x0401, 1, 7 } },
2240 { 0x2001, { 0x0401, 1, 16 } },
2241 { 0x6000, { 0x0403, 0x405, 0 } },
2242 { 0x6000, { 0x0400, 0x406, 0 } },
2243 { 0x8000, { 21600, 0, 0x404 } },
2244 { 0x6000, { 0x400, 0x407, 0 } }
2245 };
2246 static const sal_Int32 mso_sptFoldedCornerDefault[] =
2247 {
2248 1, 18900
2249 };
2250 static const SvxMSDffTextRectangles mso_sptFoldedCornerTextRect[] =
2251 {
2252 { { 0, 0 }, { 21600, 11 MSO_I } }
2253 };
2254 static const SvxMSDffHandle mso_sptFoldedCornerHandle[] =
2255 {
2256 { MSDFF_HANDLE_FLAGS_RANGE,
2257 0x100, 1, 10800, 10800, 10800, 21600, Mx80000000, 0x7fffffff }
2258 };
2259 static const mso_CustomShape msoFoldedCorner =
2260 {
2261 (SvxMSDffVertPair*)mso_sptFoldedCornerVert, sizeof( mso_sptFoldedCornerVert ) / sizeof( SvxMSDffVertPair ),
2262 (sal_uInt16*)mso_sptFoldedCornerSegm, sizeof( mso_sptFoldedCornerSegm ) >> 1,
2263 (SvxMSDffCalculationData*)mso_sptFoldedCornerCalc, sizeof( mso_sptFoldedCornerCalc ) / sizeof( SvxMSDffCalculationData ),
2264 (sal_Int32*)mso_sptFoldedCornerDefault,
2265 (SvxMSDffTextRectangles*)mso_sptFoldedCornerTextRect, sizeof( mso_sptFoldedCornerTextRect ) / sizeof( SvxMSDffTextRectangles ),
2266 21600, 21600,
2267 Mx80000000, Mx80000000,
2268 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
2269 (SvxMSDffHandle*)mso_sptFoldedCornerHandle, sizeof( mso_sptFoldedCornerHandle ) / sizeof( SvxMSDffHandle )
2270 };
2271
2272 static const SvxMSDffVertPair mso_sptActionButtonBlankVert[] =
2273 {
2274 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2275 { 0, 0 }, { 21600, 0 }, { 1 MSO_I, 0 MSO_I }, { 0 MSO_I, 0 MSO_I },
2276 { 21600, 0 }, { 21600, 21600 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 0 MSO_I },
2277 { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2278 { 0, 21600 }, { 0, 0 }, { 0 MSO_I, 0 MSO_I }, { 0 MSO_I, 2 MSO_I }
2279 };
2280 static const sal_uInt16 mso_sptActionButtonBlankSegm[] =
2281 {
2282 0x4000, 0x0003, 0x6001, 0x8000,
2283 0x4000, 0x0003, 0x6001, 0x8000,
2284 0x4000, 0x0003, 0x6001, 0x8000,
2285 0x4000, 0x0003, 0x6001, 0x8000,
2286 0x4000, 0x0003, 0x6001, 0x8000
2287 };
2288 static const SvxMSDffCalculationData mso_sptActionButtonBlankCalc[] =
2289 {
2290 { 0x2001, { DFF_Prop_adjustValue, 21599, 21600 } },
2291 { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
2292 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
2293 };
2294 static const SvxMSDffTextRectangles mso_sptActionButtonBlankTextRect[] =
2295 {
2296 { { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 2 MSO_I } }
2297 };
2298 static const SvxMSDffHandle mso_sptButtonHandle[] =
2299 {
2300 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
2301 0x100, 0, 10800, 10800, 0, 5400, Mx80000000, 0x7fffffff }
2302 };
2303 static const mso_CustomShape msoActionButtonBlank =
2304 {
2305 (SvxMSDffVertPair*)mso_sptActionButtonBlankVert, sizeof( mso_sptActionButtonBlankVert ) / sizeof( SvxMSDffVertPair ),
2306 (sal_uInt16*)mso_sptActionButtonBlankSegm, sizeof( mso_sptActionButtonBlankSegm ) >> 1,
2307 (SvxMSDffCalculationData*)mso_sptActionButtonBlankCalc, sizeof( mso_sptActionButtonBlankCalc ) / sizeof( SvxMSDffCalculationData ),
2308 (sal_Int32*)mso_sptDefault1400,
2309 (SvxMSDffTextRectangles*)mso_sptActionButtonBlankTextRect, sizeof( mso_sptActionButtonBlankTextRect ) / sizeof( SvxMSDffTextRectangles ),
2310 21600, 21600,
2311 10800, 10800,
2312 NULL, 0,
2313 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
2314 };
2315
2316 static const SvxMSDffTextRectangles mso_sptActionButtonTextRect[] =
2317 {
2318 { { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 4 MSO_I } }
2319 };
2320 static const SvxMSDffVertPair mso_sptActionButtonHomeVert[] =
2321 {
2322 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2323 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2324 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2325 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2326 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2327
2328 { 7 MSO_I, 0xa MSO_I }, { 0xc MSO_I, 0xe MSO_I }, { 0xc MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I },
2329 { 0x12 MSO_I, 0x14 MSO_I }, { 0x16 MSO_I, 8 MSO_I }, { 0x18 MSO_I, 8 MSO_I }, { 0x18 MSO_I, 0x1a MSO_I },
2330 { 0x1c MSO_I, 0x1a MSO_I }, { 0x1c MSO_I, 8 MSO_I }, { 0x1e MSO_I, 8 MSO_I },
2331
2332 { 0xc MSO_I, 0xe MSO_I }, { 0xc MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I },{ 0x12 MSO_I, 0x14 MSO_I },
2333
2334 { 0x20 MSO_I, 0x24 MSO_I }, { 0x22 MSO_I, 0x24 MSO_I }, { 0x22 MSO_I, 0x1a MSO_I }, { 0x18 MSO_I, 0x1a MSO_I },
2335 { 0x18 MSO_I, 8 MSO_I }, { 0x1c MSO_I, 8 MSO_I }, { 0x1c MSO_I, 0x1a MSO_I }, { 0x20 MSO_I, 0x1a MSO_I }
2336
2337 };
2338 static const sal_uInt16 mso_sptActionButtonHomeSegm[] =
2339 {
2340 0x4000, 0x0003, 0x6001, 0x8000,
2341 0x4000, 0x0003, 0x6001, 0x8000,
2342 0x4000, 0x0003, 0x6001, 0x8000,
2343 0x4000, 0x0003, 0x6001, 0x8000,
2344 0x4000, 0x0003, 0x6001, 0x8000,
2345 0x4000, 0x000a, 0x6001, 0x8000,
2346 0x4000, 0x0003, 0x6001, 0x8000,
2347 0x4000, 0x0007, 0x6001, 0x8000
2348 };
2349 static const SvxMSDffCalculationData mso_sptActionButtonHomeCalc[] = // adj value 0 - 5400
2350 {
2351 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2352 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2353 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2354 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2355 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2356 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2357 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2358 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2359 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2360
2361 { 0x4001, { -8000, 0x0406, 1 } }, // 9
2362 { 0x6000, { 0x0409, 0x0408, 0 } }, // a
2363 { 0x4001, { 2960, 0x0406, 1 } }, // b
2364 { 0x6000, { 0x040b, 0x0407, 0 } }, // c
2365 { 0x4001, { -5000, 0x0406, 1 } }, // d
2366 { 0x6000, { 0x040d, 0x0408, 0 } }, // e
2367 { 0x4001, { -7000, 0x0406, 1 } }, // f
2368 { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
2369 { 0x4001, { 5000, 0x0406, 1 } }, // 11
2370 { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
2371 { 0x4001, { -2960, 0x0406, 1 } }, // 13
2372 { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
2373 { 0x4001, { 8000, 0x0406, 1 } }, // 15
2374 { 0x6000, { 0x0415,0x0407, 0 } }, // 16
2375 { 0x4001, { 6100, 0x0406, 1 } }, // 17
2376 { 0x6000, { 0x0417,0x0407, 0 } }, // 18
2377 { 0x4001, { 8260, 0x0406, 1 } }, // 19
2378 { 0x6000, { 0x0419, 0x0408, 0 } }, // 1a
2379 { 0x4001, { -6100, 0x0406, 1 } }, // 1b
2380 { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
2381 { 0x4001, { -8000, 0x0406, 1 } }, // 1d
2382 { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
2383 { 0x4001, { -1060, 0x0406, 1 } }, // 1f
2384 { 0x6000, { 0x041f, 0x0407, 0 } }, // 20
2385 { 0x4001, { 1060, 0x0406, 1 } }, // 21
2386 { 0x6000, { 0x0421, 0x0407, 0 } }, // 22
2387 { 0x4001, { 4020, 0x0406, 1 } }, // 23
2388 { 0x6000, { 0x0423, 0x0408, 0 } } // 24
2389
2390 };
2391 static const mso_CustomShape msoActionButtonHome =
2392 {
2393 (SvxMSDffVertPair*)mso_sptActionButtonHomeVert, sizeof( mso_sptActionButtonHomeVert ) / sizeof( SvxMSDffVertPair ),
2394 (sal_uInt16*)mso_sptActionButtonHomeSegm, sizeof( mso_sptActionButtonHomeSegm ) >> 1,
2395 (SvxMSDffCalculationData*)mso_sptActionButtonHomeCalc, sizeof( mso_sptActionButtonHomeCalc ) / sizeof( SvxMSDffCalculationData ),
2396 (sal_Int32*)mso_sptDefault1400,
2397 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
2398 21600, 21600,
2399 10800, 10800,
2400 NULL, 0,
2401 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
2402 };
2403
2404 static const SvxMSDffVertPair mso_sptActionButtonHelpVert[] =
2405 {
2406 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2407 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2408 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2409 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2410 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I,4 MSO_I },
2411 { 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 },
2412 { 0x12 MSO_I, 0x14 MSO_I }, { 0x12 MSO_I, 0x16 MSO_I }, // pp
2413 { 0x12 MSO_I, 0x18 MSO_I }, { 0x1a MSO_I, 8 MSO_I }, { 0x1c MSO_I, 8 MSO_I }, // ccp
2414 { 0x1e MSO_I, 8 MSO_I }, { 0x20 MSO_I, 0x22 MSO_I }, { 0x20 MSO_I, 0x24 MSO_I }, // ccp
2415 { 0x20 MSO_I, 0x26 MSO_I }, { 0x28 MSO_I, 0x2a MSO_I }, { 7 MSO_I, 0x2a MSO_I }, // ccp
2416 { 0x2c MSO_I, 0x2a MSO_I }, { 0x2e MSO_I, 0x26 MSO_I }, { 0x2e MSO_I, 0x24 MSO_I }, // ccp
2417 { 0x30 MSO_I, 0x24 MSO_I }, { 0x30 MSO_I, 0x32 MSO_I }, { 0x34 MSO_I, 0x36 MSO_I }, // ccp
2418 { 7 MSO_I, 0x36 MSO_I }, // p
2419 { 0x12 MSO_I, 0x36 MSO_I }, { 0x1c MSO_I, 0x32 MSO_I }, { 0x1c MSO_I, 0x24 MSO_I }, // ccp
2420 { 0x1c MSO_I, 0x38 MSO_I }, { 0x3a MSO_I, 0x3c MSO_I }, { 0x12 MSO_I, 0x3c MSO_I }, // ccp
2421 { 7 MSO_I, 0x3c MSO_I }, { 0x34 MSO_I, 8 MSO_I }, { 0x34 MSO_I, 0x16 MSO_I }, // ccp
2422 { 0x34 MSO_I, 0x14 MSO_I }
2423 };
2424 static const sal_uInt16 mso_sptActionButtonHelpSegm[] =
2425 {
2426 0x4000, 0x0003, 0x6001, 0x8000,
2427 0x4000, 0x0003, 0x6001, 0x8000,
2428 0x4000, 0x0003, 0x6001, 0x8000,
2429 0x4000, 0x0003, 0x6001, 0x8000,
2430 0x4000, 0x0003, 0x6001, 0x8000,
2431 0x4000, 0xa704, 0x6000, 0x8000,
2432 0x4000, 0x0001, 0x2004, 0x0001, 0x2004, 0x0001, 0x6001, 0x8000
2433 };
2434 static const SvxMSDffCalculationData mso_sptActionButtonHelpCalc[] = // adj value 0 - 5400
2435 {
2436 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2437 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2438 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2439 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2440 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2441 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2442 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2443 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2444 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2445
2446 { 0x4001, { -1690, 0x0406, 1 } }, // 9
2447 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2448 { 0x4001, { 4600, 0x0406, 1 } }, // b
2449 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2450 { 0x4001, { 1690, 0x0406, 1 } }, // d
2451 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2452 { 0x4001, { 7980, 0x0406, 1 } }, // f
2453 { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
2454 { 0x4001, { 1270, 0x0406, 1 } }, // 11
2455 { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
2456 { 0x4001, { 4000, 0x0406, 1 } }, // 13
2457 { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
2458 { 0x4001, { 1750, 0x0406, 1 } }, // 15
2459 { 0x6000, { 0x0415, 0x0408, 0 } }, // 16
2460 { 0x4001, { 800, 0x0406, 1 } }, // 17
2461 { 0x6000, { 0x0417, 0x0408, 0 } }, // 18
2462 { 0x4001, { 1650, 0x0406, 1 } }, // 19
2463 { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
2464 { 0x4001, { 2340, 0x0406, 1 } }, // 1b
2465 { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
2466 { 0x4001, { 3640, 0x0406, 1 } }, // 1d
2467 { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
2468 { 0x4001, { 4670, 0x0406, 1 } }, // 1f
2469 { 0x6000, { 0x041f, 0x0407, 0 } }, // 20
2470 { 0x4001, { -1570, 0x0406, 1 } }, // 21
2471 { 0x6000, { 0x0421, 0x0408, 0 } }, // 22
2472 { 0x4001, { -3390, 0x0406, 1 } }, // 23
2473 { 0x6000, { 0x0423, 0x0408, 0 } }, // 24
2474 { 0x4001, { -6050, 0x0406, 1 } }, // 25
2475 { 0x6000, { 0x0425, 0x0408, 0 } }, // 26
2476 { 0x4001, { 2540, 0x0406, 1 } }, // 27
2477 { 0x6000, { 0x0427, 0x0407, 0 } }, // 28
2478 { 0x4001, { -8050, 0x0406, 1 } }, // 29
2479 { 0x6000, { 0x0429, 0x0408, 0 } }, // 2a
2480 { 0x4001, { -2540, 0x0406, 1 } }, // 2b
2481 { 0x6000, { 0x042b, 0x0407, 0 } }, // 2c
2482 { 0x4001, { -4460, 0x0406, 1 } }, // 2d
2483 { 0x6000, { 0x042d, 0x0407, 0 } }, // 2e
2484 { 0x4001, { -2330, 0x0406, 1 } }, // 2f
2485 { 0x6000, { 0x042f, 0x0407, 0 } }, // 30
2486 { 0x4001, { -4700, 0x0406, 1 } }, // 31
2487 { 0x6000, { 0x0431, 0x0408, 0 } }, // 32
2488 { 0x4001, { -1270, 0x0406, 1 } }, // 33
2489 { 0x6000, { 0x0433, 0x0407, 0 } }, // 34
2490 { 0x4001, { -5720, 0x0406, 1 } }, // 35
2491 { 0x6000, { 0x0435, 0x0408, 0 } }, // 36
2492 { 0x4001, { -2540, 0x0406, 1 } }, // 37
2493 { 0x6000, { 0x0437, 0x0408, 0 } }, // 38
2494 { 0x4001, { 1800, 0x0406, 1 } }, // 39
2495 { 0x6000, { 0x0439, 0x0407, 0 } }, // 3a
2496 { 0x4001, { -1700, 0x0406, 1 } }, // 3b
2497 { 0x6000, { 0x043b, 0x0408, 0 } }, // 3c
2498 { 0x4001, { 6290, 0x0406, 1 } }, // 3d
2499 { 0x6000, { 0x043d, 0x0408, 0 } } // 3e
2500 };
2501 static const mso_CustomShape msoActionButtonHelp =
2502 {
2503 (SvxMSDffVertPair*)mso_sptActionButtonHelpVert, sizeof( mso_sptActionButtonHelpVert ) / sizeof( SvxMSDffVertPair ),
2504 (sal_uInt16*)mso_sptActionButtonHelpSegm, sizeof( mso_sptActionButtonHelpSegm ) >> 1,
2505 (SvxMSDffCalculationData*)mso_sptActionButtonHelpCalc, sizeof( mso_sptActionButtonHelpCalc ) / sizeof( SvxMSDffCalculationData ),
2506 (sal_Int32*)mso_sptDefault1400,
2507 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
2508 21600, 21600,
2509 10800, 10800,
2510 NULL, 0,
2511 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
2512 };
2513
2514 static const SvxMSDffVertPair mso_sptActionButtonInformationVert[] =
2515 {
2516 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2517 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2518 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2519 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2520 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2521 { 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 },
2522 { 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 },
2523 { 0x1a MSO_I, 0x1c MSO_I }, { 0x1e MSO_I, 0x1c MSO_I }, { 0x1e MSO_I, 0x20 MSO_I }, { 0x22 MSO_I, 0x20 MSO_I },
2524 { 0x22 MSO_I, 0x24 MSO_I }, { 0x1a MSO_I, 0x24 MSO_I }, { 0x1a MSO_I, 0x20 MSO_I }, { 0x26 MSO_I, 0x20 MSO_I },
2525 { 0x26 MSO_I, 0x28 MSO_I }, { 0x1a MSO_I, 0x28 MSO_I }
2526 };
2527 static const sal_uInt16 mso_sptActionButtonInformationSegm[] =
2528 {
2529 0x4000, 0x0003, 0x6001, 0x8000,
2530 0x4000, 0x0003, 0x6001, 0x8000,
2531 0x4000, 0x0003, 0x6001, 0x8000,
2532 0x4000, 0x0003, 0x6001, 0x8000,
2533 0x4000, 0x0003, 0x6001, 0x8000,
2534 0x4000, 0xa704, 0x6000, 0x8000,
2535 0x4000, 0xa704, 0x6000, 0x8000,
2536 0x4000, 0x0009, 0x6001, 0x8000
2537 };
2538 static const SvxMSDffCalculationData mso_sptActionButtonInformationCalc[] = // adj value 0 - 5400
2539 {
2540 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2541 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2542 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2543 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2544 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2545 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2546 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2547 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2548 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2549
2550 { 0x4001, { -8050, 0x0406, 1 } }, // 9
2551 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2552 { 0x4001, { -8050, 0x0406, 1 } }, // b
2553 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2554 { 0x4001, { 8050, 0x0406, 1 } }, // d
2555 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2556 { 0x4001, { 8050, 0x0406, 1 } }, // f
2557 { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
2558
2559 { 0x4001, { -2060, 0x0406, 1 } }, // 11
2560 { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
2561 { 0x4001, { -7620, 0x0406, 1 } }, // 13
2562 { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
2563 { 0x4001, { 2060, 0x0406, 1 } }, // 15
2564 { 0x6000, { 0x0415, 0x0407, 0 } }, // 16
2565 { 0x4001, { -3500, 0x0406, 1 } }, // 17
2566 { 0x6000, { 0x0417, 0x0408, 0 } }, // 18
2567
2568 { 0x4001, { -2960, 0x0406, 1 } }, // 19
2569 { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
2570 { 0x4001, { -2960, 0x0406, 1 } }, // 1b
2571 { 0x6000, { 0x041b, 0x0408, 0 } }, // 1c
2572 { 0x4001, { 1480, 0x0406, 1 } }, // 1d
2573 { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
2574 { 0x4001, { 5080, 0x0406, 1 } }, // 1f
2575 { 0x6000, { 0x041f, 0x0408, 0 } }, // 20
2576 { 0x4001, { 2960, 0x0406, 1 } }, // 21
2577 { 0x6000, { 0x0421, 0x0407, 0 } }, // 22
2578 { 0x4001, { 6140, 0x0406, 1 } }, // 23
2579 { 0x6000, { 0x0423, 0x0408, 0 } }, // 24
2580 { 0x4001, { -1480, 0x0406, 1 } }, // 25
2581 { 0x6000, { 0x0425, 0x0407, 0 } }, // 26
2582 { 0x4001, { -1920, 0x0406, 1 } }, // 27
2583 { 0x6000, { 0x0427, 0x0408, 0 } }, // 28
2584
2585 { 0x4001, { -5560, 0x0406, 1 } }, // 29
2586 { 0x6000, { 0x0429, 0x0408, 0 } }, // 2a
2587
2588 };
2589 static const mso_CustomShape msoActionButtonInformation =
2590 {
2591 (SvxMSDffVertPair*)mso_sptActionButtonInformationVert, sizeof( mso_sptActionButtonInformationVert ) / sizeof( SvxMSDffVertPair ),
2592 (sal_uInt16*)mso_sptActionButtonInformationSegm, sizeof( mso_sptActionButtonInformationSegm ) >> 1,
2593 (SvxMSDffCalculationData*)mso_sptActionButtonInformationCalc, sizeof( mso_sptActionButtonInformationCalc ) / sizeof( SvxMSDffCalculationData ),
2594 (sal_Int32*)mso_sptDefault1400,
2595 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
2596 21600, 21600,
2597 10800, 10800,
2598 NULL, 0,
2599 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
2600 };
2601
2602 static const SvxMSDffVertPair mso_sptActionButtonBackPreviousVert[] =
2603 {
2604 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2605 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2606 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2607 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I,4 MSO_I },
2608 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2609
2610 { 0xa MSO_I, 8 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I }
2611 };
2612 static const sal_uInt16 mso_sptActionButtonForwardBackSegm[] =
2613 {
2614 0x4000, 0x0003, 0x6001, 0x8000,
2615 0x4000, 0x0003, 0x6001, 0x8000,
2616 0x4000, 0x0003, 0x6001, 0x8000,
2617 0x4000, 0x0003, 0x6001, 0x8000,
2618 0x4000, 0x0003, 0x6001, 0x8000,
2619 0x4000, 0x0002, 0x6001, 0x8000
2620 };
2621 static const SvxMSDffCalculationData mso_sptActionButtonForwardBackCalc[] = // adj value 0 - 5400
2622 {
2623 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2624 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2625 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2626 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2627 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2628 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2629 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2630 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2631 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2632
2633 { 0x4001, { -8050, 0x0406, 1 } }, // 9
2634 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2635 { 0x4001, { -8050, 0x0406, 1 } }, // b
2636 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2637 { 0x4001, { 8050, 0x0406, 1 } }, // d
2638 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2639 { 0x4001, { 8050, 0x0406, 1 } }, // f
2640 { 0x6000, { 0x040f, 0x0408, 0 } } // 10
2641 };
2642 static const mso_CustomShape msoActionButtonBackPrevious =
2643 {
2644 (SvxMSDffVertPair*)mso_sptActionButtonBackPreviousVert, sizeof( mso_sptActionButtonBackPreviousVert ) / sizeof( SvxMSDffVertPair ),
2645 (sal_uInt16*)mso_sptActionButtonForwardBackSegm, sizeof( mso_sptActionButtonForwardBackSegm ) >> 1,
2646 (SvxMSDffCalculationData*)mso_sptActionButtonForwardBackCalc, sizeof( mso_sptActionButtonForwardBackCalc ) / sizeof( SvxMSDffCalculationData ),
2647 (sal_Int32*)mso_sptDefault1400,
2648 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
2649 21600, 21600,
2650 10800, 10800,
2651 NULL, 0,
2652 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
2653 };
2654
2655 static const SvxMSDffVertPair mso_sptActionButtonForwardNextVert[] =
2656 {
2657 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2658 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2659 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2660 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2661 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2662
2663 { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 8 MSO_I }, { 0xa MSO_I, 0x10 MSO_I }
2664 };
2665 static const mso_CustomShape msoActionButtonForwardNext =
2666 {
2667 (SvxMSDffVertPair*)mso_sptActionButtonForwardNextVert, sizeof( mso_sptActionButtonForwardNextVert ) / sizeof( SvxMSDffVertPair ),
2668 (sal_uInt16*)mso_sptActionButtonForwardBackSegm, sizeof( mso_sptActionButtonForwardBackSegm ) >> 1,
2669 (SvxMSDffCalculationData*)mso_sptActionButtonForwardBackCalc, sizeof( mso_sptActionButtonForwardBackCalc ) / sizeof( SvxMSDffCalculationData ),
2670 (sal_Int32*)mso_sptDefault1400,
2671 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
2672 21600, 21600,
2673 10800, 10800,
2674 NULL, 0,
2675 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
2676 };
2677
2678 static const SvxMSDffVertPair mso_sptActionButtonBeginningVert[] =
2679 {
2680 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2681 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2682 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2683 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2684 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2685
2686 { 0xa MSO_I, 8 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0xc MSO_I },
2687 { 0x14 MSO_I, 0xc MSO_I }, { 0x14 MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I }
2688 };
2689 static const sal_uInt16 mso_sptActionButtonBeginningEndSegm[] =
2690 {
2691 0x4000, 0x0003, 0x6001, 0x8000,
2692 0x4000, 0x0003, 0x6001, 0x8000,
2693 0x4000, 0x0003, 0x6001, 0x8000,
2694 0x4000, 0x0003, 0x6001, 0x8000,
2695 0x4000, 0x0003, 0x6001, 0x8000,
2696
2697 0x4000, 0x0002, 0x6001, 0x8000,
2698 0x4000, 0x0003, 0x6001, 0x8000
2699 };
2700 static const SvxMSDffCalculationData mso_sptActionButtonBeginningEndCalc[] = // adj value 0 - 5400
2701 {
2702 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2703 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2704 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2705 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2706 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2707 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2708 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2709 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2710 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2711
2712 { 0x4001, { -4020, 0x0406, 1 } }, // 9
2713 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2714 { 0x4001, { -8050, 0x0406, 1 } }, // b
2715 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2716 { 0x4001, { 8050, 0x0406, 1 } }, // d
2717 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2718 { 0x4001, { 8050, 0x0406, 1 } }, // f
2719 { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
2720
2721 { 0x4001, { -8050, 0x0406, 1 } }, // 11
2722 { 0x6000, { 0x0411, 0x0407, 0 } }, // 12
2723 { 0x4001, { -6140, 0x0406, 1 } }, // 13
2724 { 0x6000, { 0x0413, 0x0407, 0 } }, // 14
2725
2726
2727 { 0x4001, { 4020, 0x0406, 1 } }, // 15
2728 { 0x6000, { 0x0415, 0x0407, 0 } }, // 16
2729 { 0x4001, { 6140, 0x0406, 1 } }, // 17
2730 { 0x6000, { 0x0417, 0x0407, 0 } } // 18
2731 };
2732 static const mso_CustomShape msoActionButtonBeginning =
2733 {
2734 (SvxMSDffVertPair*)mso_sptActionButtonBeginningVert, sizeof( mso_sptActionButtonBeginningVert ) / sizeof( SvxMSDffVertPair ),
2735 (sal_uInt16*)mso_sptActionButtonBeginningEndSegm, sizeof( mso_sptActionButtonBeginningEndSegm ) >> 1,
2736 (SvxMSDffCalculationData*)mso_sptActionButtonBeginningEndCalc, sizeof( mso_sptActionButtonBeginningEndCalc ) / sizeof( SvxMSDffCalculationData ),
2737 (sal_Int32*)mso_sptDefault1400,
2738 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
2739 21600, 21600,
2740 10800, 10800,
2741 NULL, 0,
2742 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
2743 };
2744
2745 static const SvxMSDffVertPair mso_sptActionButtonEndVert[] =
2746 {
2747 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2748 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2749 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2750 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2751 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2752
2753 { 0x16 MSO_I, 8 MSO_I }, { 0x12 MSO_I, 0x10 MSO_I }, { 0x12 MSO_I, 0xc MSO_I },
2754
2755 { 0x18 MSO_I, 0xc MSO_I }, { 0x18 MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 0x10 MSO_I }, { 0xe MSO_I, 0xc MSO_I }
2756 };
2757 static const mso_CustomShape msoActionButtonEnd =
2758 {
2759 (SvxMSDffVertPair*)mso_sptActionButtonEndVert, sizeof( mso_sptActionButtonEndVert ) / sizeof( SvxMSDffVertPair ),
2760 (sal_uInt16*)mso_sptActionButtonBeginningEndSegm, sizeof( mso_sptActionButtonBeginningEndSegm ) >> 1,
2761 (SvxMSDffCalculationData*)mso_sptActionButtonBeginningEndCalc, sizeof( mso_sptActionButtonBeginningEndCalc ) / sizeof( SvxMSDffCalculationData ),
2762 (sal_Int32*)mso_sptDefault1400,
2763 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
2764 21600, 21600,
2765 10800, 10800,
2766 NULL, 0,
2767 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
2768 };
2769
2770 static const SvxMSDffVertPair mso_sptActionButtonReturnVert[] =
2771 {
2772 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2773 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2774 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2775 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2776 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2777
2778 { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0x10 MSO_I }, // ppp
2779 { 0xe MSO_I, 0x12 MSO_I }, { 0x14 MSO_I, 0x16 MSO_I }, { 0x18 MSO_I, 0x16 MSO_I }, // ccp
2780 { 7 MSO_I, 0x16 MSO_I }, // p
2781 { 0x1a MSO_I, 0x16 MSO_I }, { 0x1c MSO_I, 0x12 MSO_I }, { 0x1c MSO_I, 0x10 MSO_I }, // ccp
2782 { 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
2783 { 0x24 MSO_I, 0xc MSO_I }, { 0x24 MSO_I, 0x10 MSO_I }, // pp
2784 { 0x24 MSO_I, 0x26 MSO_I }, { 0x28 MSO_I, 0x2a MSO_I }, { 7 MSO_I, 0x2a MSO_I }, // ccp
2785 { 0x18 MSO_I, 0x2a MSO_I }, // p
2786 { 0x2c MSO_I, 0x2a MSO_I }, { 0xa MSO_I, 0x26 MSO_I }, { 0xa MSO_I, 0x10 MSO_I } // ccp
2787 };
2788 static const sal_uInt16 mso_sptActionButtonReturnSegm[] =
2789 {
2790 0x4000, 0x0003, 0x6001, 0x8000,
2791 0x4000, 0x0003, 0x6001, 0x8000,
2792 0x4000, 0x0003, 0x6001, 0x8000,
2793 0x4000, 0x0003, 0x6001, 0x8000,
2794 0x4000, 0x0003, 0x6001, 0x8000,
2795 0x4000, 0x0002, 0x2001, 0x0001, 0x2001, 0x0006,0x2001, 0x0001, 0x2001, 0x6001, 0x8000
2796 };
2797 static const SvxMSDffCalculationData mso_sptActionButtonReturnCalc[] = // adj value 0 - 5400
2798 {
2799 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2800 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2801 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2802 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2803 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2804 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2805 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2806 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2807 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2808
2809 { 0x4001, { -8050, 0x0406, 1 } }, // 9
2810 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2811 { 0x4001, { -3800, 0x0406, 1 } }, // b
2812 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2813 { 0x4001, { -4020, 0x0406, 1 } }, // d
2814 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2815 { 0x4001, { 2330, 0x0406, 1 } }, // f
2816 { 0x6000, { 0x040f, 0x0408, 0 } }, // 10
2817 { 0x4001, { 3390, 0x0406, 1 } }, // 11
2818 { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
2819 { 0x4001, { -3100, 0x0406, 1 } }, // 13
2820 { 0x6000, { 0x0413, 0x0407, 0 } }, // 14
2821 { 0x4001, { 4230, 0x0406, 1 } }, // 15
2822 { 0x6000, { 0x0415, 0x0408, 0 } }, // 16
2823 { 0x4001, { -1910, 0x0406, 1 } }, // 17
2824 { 0x6000, { 0x0417, 0x0407, 0 } }, // 18
2825 { 0x4001, { 1190, 0x0406, 1 } }, // 19
2826 { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
2827 { 0x4001, { 2110, 0x0406, 1 } }, // 1b
2828 { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
2829 { 0x4001, { 4030, 0x0406, 1 } }, // 1d
2830 { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
2831 { 0x4001, { -7830, 0x0406, 1 } }, // 1f
2832 { 0x6000, { 0x041f, 0x0408, 0 } }, // 20
2833 { 0x4001, { 8250, 0x0406, 1 } }, // 21
2834 { 0x6000, { 0x0421, 0x0407, 0 } }, // 22
2835 { 0x4001, { 6140, 0x0406, 1 } }, // 23
2836 { 0x6000, { 0x0423, 0x0407, 0 } }, // 24
2837 { 0x4001, { 5510, 0x0406, 1 } }, // 25
2838 { 0x6000, { 0x0425, 0x0408, 0 } }, // 26
2839 { 0x4001, { 3180, 0x0406, 1 } }, // 27
2840 { 0x6000, { 0x0427, 0x0407, 0 } }, // 28
2841 { 0x4001, { 8450, 0x0406, 1 } }, // 29
2842 { 0x6000, { 0x0429, 0x0408, 0 } }, // 2a
2843 { 0x4001, { -5090, 0x0406, 1 } }, // 2b
2844 { 0x6000, { 0x042b, 0x0407, 0 } } // 2c
2845 };
2846 static const mso_CustomShape msoActionButtonReturn =
2847 {
2848 (SvxMSDffVertPair*)mso_sptActionButtonReturnVert, sizeof( mso_sptActionButtonReturnVert ) / sizeof( SvxMSDffVertPair ),
2849 (sal_uInt16*)mso_sptActionButtonReturnSegm, sizeof( mso_sptActionButtonReturnSegm ) >> 1,
2850 (SvxMSDffCalculationData*)mso_sptActionButtonReturnCalc, sizeof( mso_sptActionButtonReturnCalc ) / sizeof( SvxMSDffCalculationData ),
2851 (sal_Int32*)mso_sptDefault1400,
2852 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
2853 21600, 21600,
2854 10800, 10800,
2855 NULL, 0,
2856 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
2857 };
2858
2859 static const SvxMSDffVertPair mso_sptActionButtonDocumentVert[] =
2860 {
2861 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2862 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2863 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2864 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2865 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2866
2867 { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x10 MSO_I, 0x14 MSO_I },
2868 { 0xa MSO_I, 0x14 MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0xe MSO_I, 0x12 MSO_I }
2869 };
2870 static const sal_uInt16 mso_sptActionButtonDocumentSegm[] =
2871 {
2872 0x4000, 0x0003, 0x6001, 0x8000,
2873 0x4000, 0x0003, 0x6001, 0x8000,
2874 0x4000, 0x0003, 0x6001, 0x8000,
2875 0x4000, 0x0003, 0x6001, 0x8000,
2876 0x4000, 0x0003, 0x6001, 0x8000,
2877
2878 0x4000, 0x0004, 0x6001, 0x8000,
2879 0x4000, 0x0002, 0x6001, 0x8000
2880 };
2881 static const SvxMSDffCalculationData mso_sptActionButtonDocumentCalc[] = // adj value 0 - 5400
2882 {
2883 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2884 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2885 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2886 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2887 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2888 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2889 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2890 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2891 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2892
2893 { 0x4001, { -6350, 0x0406, 1 } }, // 9
2894 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2895 { 0x4001, { -7830, 0x0406, 1 } }, // b
2896 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2897 { 0x4001, { 1690, 0x0406, 1 } }, // d
2898 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2899 { 0x4001, { 6350, 0x0406, 1 } }, // f
2900 { 0x6000, { 0x040f, 0x0407, 0 } }, // 10
2901 { 0x4001, { -3810, 0x0406, 1 } }, // 11
2902 { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
2903 { 0x4001, { 7830, 0x0406, 1 } }, // 13
2904 { 0x6000, { 0x0413, 0x0408, 0 } } // 14
2905 };
2906 static const mso_CustomShape msoActionButtonDocument =
2907 {
2908 (SvxMSDffVertPair*)mso_sptActionButtonDocumentVert, sizeof( mso_sptActionButtonDocumentVert ) / sizeof( SvxMSDffVertPair ),
2909 (sal_uInt16*)mso_sptActionButtonDocumentSegm, sizeof( mso_sptActionButtonDocumentSegm ) >> 1,
2910 (SvxMSDffCalculationData*)mso_sptActionButtonDocumentCalc, sizeof( mso_sptActionButtonDocumentCalc ) / sizeof( SvxMSDffCalculationData ),
2911 (sal_Int32*)mso_sptDefault1400,
2912 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
2913 21600, 21600,
2914 10800, 10800,
2915 NULL, 0,
2916 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
2917 };
2918
2919 static const SvxMSDffVertPair mso_sptActionButtonSoundVert[] =
2920 {
2921 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2922 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2923 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
2924 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
2925 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
2926
2927 { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x10 MSO_I, 0x14 MSO_I },
2928 { 0xe MSO_I, 0x16 MSO_I }, { 0xa MSO_I, 0x16 MSO_I }, { 0x18 MSO_I, 8 MSO_I }, { 0x1a MSO_I, 8 MSO_I },
2929
2930 { 0x18 MSO_I, 0xc MSO_I }, { 0x1a MSO_I, 0x1c MSO_I },
2931
2932 { 0x18 MSO_I, 0x16 MSO_I }, { 0x1a MSO_I, 0x1e MSO_I }
2933 };
2934 static const sal_uInt16 mso_sptActionButtonSoundSegm[] =
2935 {
2936 0x4000, 0x0003, 0x6001, 0x8000,
2937 0x4000, 0x0003, 0x6001, 0x8000,
2938 0x4000, 0x0003, 0x6001, 0x8000,
2939 0x4000, 0x0003, 0x6001, 0x8000,
2940 0x4000, 0x0003, 0x6001, 0x8000,
2941
2942 0x4000, 0x0005, 0x6001, 0x8000,
2943 0x4000, 0x0001, 0x8000,
2944 0x4000, 0x0001, 0x8000,
2945 0x4000, 0x0001, 0x8000
2946 };
2947 static const SvxMSDffCalculationData mso_sptActionButtonSoundCalc[] = // adj value 0 - 5400
2948 {
2949 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
2950 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
2951 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
2952 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
2953 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
2954 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
2955 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
2956 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
2957 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
2958
2959 { 0x4001, { -8050, 0x0406, 1 } }, // 9
2960 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
2961 { 0x4001, { -2750, 0x0406, 1 } }, // b
2962 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
2963 { 0x4001, { -2960, 0x0406, 1 } }, // d
2964 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
2965 { 0x4001, { 2120, 0x0406, 1 } }, // f
2966 { 0x6000, { 0x040f, 0x0407, 0 } }, // 10
2967 { 0x4001, { -8050, 0x0406, 1 } }, // 11
2968 { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
2969 { 0x4001, { 8050, 0x0406, 1 } }, // 13
2970 { 0x6000, { 0x0413, 0x0408, 0 } }, // 14
2971 { 0x4001, { 2750, 0x0406, 1 } }, // 15
2972 { 0x6000, { 0x0415, 0x0408, 0 } }, // 16
2973 { 0x4001, { 4020, 0x0406, 1 } }, // 17
2974 { 0x6000, { 0x0417, 0x0407, 0 } }, // 18
2975 { 0x4001, { 8050, 0x0406, 1 } }, // 19
2976 { 0x6000, { 0x0419, 0x0407, 0 } }, // 1a
2977 { 0x4001, { -5930, 0x0406, 1 } }, // 1b
2978 { 0x6000, { 0x041b, 0x0408, 0 } }, // 1c
2979 { 0x4001, { 5930, 0x0406, 1 } }, // 1d
2980 { 0x6000, { 0x041d, 0x0408, 0 } } // 1e
2981 };
2982 static const mso_CustomShape msoActionButtonSound =
2983 {
2984 (SvxMSDffVertPair*)mso_sptActionButtonSoundVert, sizeof( mso_sptActionButtonSoundVert ) / sizeof( SvxMSDffVertPair ),
2985 (sal_uInt16*)mso_sptActionButtonSoundSegm, sizeof( mso_sptActionButtonSoundSegm ) >> 1,
2986 (SvxMSDffCalculationData*)mso_sptActionButtonSoundCalc, sizeof( mso_sptActionButtonSoundCalc ) / sizeof( SvxMSDffCalculationData ),
2987 (sal_Int32*)mso_sptDefault1400,
2988 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
2989 21600, 21600,
2990 10800, 10800,
2991 NULL, 0,
2992 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
2993 };
2994
2995 static const SvxMSDffVertPair mso_sptActionButtonMovieVert[] =
2996 {
2997 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
2998 { 0, 0 }, { 21600, 0 }, { 3 MSO_I, 2 MSO_I }, { 1 MSO_I, 2 MSO_I },
2999 { 21600, 0 }, { 21600, 21600 }, { 3 MSO_I, 4 MSO_I }, { 3 MSO_I, 2 MSO_I },
3000 { 21600, 21600 }, { 0, 21600 }, { 1 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
3001 { 0, 21600 }, { 0, 0 }, { 1 MSO_I, 2 MSO_I }, { 1 MSO_I, 4 MSO_I },
3002
3003 { 0xa MSO_I, 0xc MSO_I }, { 0xe MSO_I, 0xc MSO_I }, { 0x10 MSO_I, 0x12 MSO_I }, { 0x14 MSO_I, 0x12 MSO_I },
3004 { 0x16 MSO_I, 0x18 MSO_I }, { 0x16 MSO_I, 0x1a MSO_I }, { 0x1c MSO_I, 0x1a MSO_I }, { 0x1e MSO_I, 0x18 MSO_I },
3005 { 0x20 MSO_I, 0x18 MSO_I }, { 0x20 MSO_I, 0x22 MSO_I }, { 0x1e MSO_I, 0x22 MSO_I }, { 0x1c MSO_I, 0x24 MSO_I },
3006 { 0x16 MSO_I, 0x24 MSO_I }, { 0x16 MSO_I, 0x26 MSO_I }, { 0x2a MSO_I, 0x26 MSO_I }, { 0x2a MSO_I, 0x28 MSO_I },
3007 { 0x10 MSO_I, 0x28 MSO_I }, { 0xe MSO_I, 0x2c MSO_I }, { 0xa MSO_I, 0x2c MSO_I }
3008 };
3009 static const sal_uInt16 mso_sptActionButtonMovieSegm[] =
3010 {
3011 0x4000, 0x0003, 0x6001, 0x8000,
3012 0x4000, 0x0003, 0x6001, 0x8000,
3013 0x4000, 0x0003, 0x6001, 0x8000,
3014 0x4000, 0x0003, 0x6001, 0x8000,
3015 0x4000, 0x0003, 0x6001, 0x8000,
3016 0x4000, 0x0012, 0x6001, 0x8000
3017 };
3018 static const SvxMSDffCalculationData mso_sptActionButtonMovieCalc[] = // adj value 0 - 5400
3019 {
3020 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
3021 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
3022 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
3023 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
3024 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
3025 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } },
3026 { 0x2001, { 0x0405, 1, 10800 } }, // scaling 6
3027 { 0x2001, { DFF_Prop_geoRight, 1, 2 } }, // lr center 7
3028 { 0x2001, { DFF_Prop_geoBottom, 1, 2 } }, // ul center 8
3029
3030 { 0x4001, { -8050, 0x0406, 1 } }, // 9
3031 { 0x6000, { 0x0409, 0x0407, 0 } }, // a
3032 { 0x4001, { -4020, 0x0406, 1 } }, // b
3033 { 0x6000, { 0x040b, 0x0408, 0 } }, // c
3034 { 0x4001, { -7000, 0x0406, 1 } }, // d
3035 { 0x6000, { 0x040d, 0x0407, 0 } }, // e
3036 { 0x4001, { -6560, 0x0406, 1 } }, // f
3037 { 0x6000, { 0x040f, 0x0407, 0 } }, // 10
3038 { 0x4001, { -3600, 0x0406, 1 } }, // 11
3039 { 0x6000, { 0x0411, 0x0408, 0 } }, // 12
3040 { 0x4001, { 4020, 0x0406, 1 } }, // 13
3041 { 0x6000, { 0x0413, 0x0407, 0 } }, // 14
3042 { 0x4001, { 4660, 0x0406, 1 } }, // 15
3043 { 0x6000, { 0x0415, 0x0407, 0 } }, // 16
3044 { 0x4001, { -2960, 0x0406, 1 } }, // 17
3045 { 0x6000, { 0x0417, 0x0408, 0 } }, // 18
3046 { 0x4001, { -2330, 0x0406, 1 } }, // 19
3047 { 0x6000, { 0x0419, 0x0408, 0 } }, // 1a
3048 { 0x4001, { 6780, 0x0406, 1 } }, // 1b
3049 { 0x6000, { 0x041b, 0x0407, 0 } }, // 1c
3050 { 0x4001, { 7200, 0x0406, 1 } }, // 1d
3051 { 0x6000, { 0x041d, 0x0407, 0 } }, // 1e
3052 { 0x4001, { 8050, 0x0406, 1 } }, // 1f
3053 { 0x6000, { 0x041f, 0x0407, 0 } }, // 20
3054 { 0x4001, { 2960, 0x0406, 1 } }, // 21
3055 { 0x6000, { 0x0421, 0x0408, 0 } }, // 22
3056 { 0x4001, { 2330, 0x0406, 1 } }, // 23
3057 { 0x6000, { 0x0423, 0x0408, 0 } }, // 24
3058 { 0x4001, { 3800, 0x0406, 1 } }, // 25
3059 { 0x6000, { 0x0425, 0x0408, 0 } }, // 26
3060 { 0x4001, { -1060, 0x0406, 1 } }, // 27
3061 { 0x6000, { 0x0427, 0x0408, 0 } }, // 28
3062 { 0x4001, { -6350, 0x0406, 1 } }, // 29
3063 { 0x6000, { 0x0429, 0x0407, 0 } }, // 2a
3064 { 0x4001, { -640, 0x0406, 1 } }, // 2b
3065 { 0x6000, { 0x042b, 0x0408, 0 } } // 2c
3066 };
3067 static const mso_CustomShape msoActionButtonMovie =
3068 {
3069 (SvxMSDffVertPair*)mso_sptActionButtonMovieVert, sizeof( mso_sptActionButtonMovieVert ) / sizeof( SvxMSDffVertPair ),
3070 (sal_uInt16*)mso_sptActionButtonMovieSegm, sizeof( mso_sptActionButtonMovieSegm ) >> 1,
3071 (SvxMSDffCalculationData*)mso_sptActionButtonMovieCalc, sizeof( mso_sptActionButtonMovieCalc ) / sizeof( SvxMSDffCalculationData ),
3072 (sal_Int32*)mso_sptDefault1400,
3073 (SvxMSDffTextRectangles*)mso_sptActionButtonTextRect, sizeof( mso_sptActionButtonTextRect ) / sizeof( SvxMSDffTextRectangles ),
3074 21600, 21600,
3075 10800, 10800,
3076 NULL, 0,
3077 (SvxMSDffHandle*)mso_sptButtonHandle, sizeof( mso_sptButtonHandle ) / sizeof( SvxMSDffHandle )
3078 };
3079
3080 static const SvxMSDffVertPair mso_sptSmileyFaceVert[] = // adj value 15510 - 17520
3081 {
3082 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
3083 { 7305, 7515 }, { 1165, 1165 }, { 0, 360 },
3084 { 14295, 7515 }, { 1165, 1165 }, { 0, 360 },
3085 { 4870, 1 MSO_I }, { 8680, 2 MSO_I }, { 12920, 2 MSO_I }, { 16730, 1 MSO_I }
3086 };
3087 static const sal_uInt16 mso_sptSmileyFaceSegm[] =
3088 {
3089 0xa203, 0x6000, 0x8000,
3090 0xa203, 0x6000, 0x8000,
3091 0xa203, 0x6000, 0x8000,
3092 0x4000, 0x2001, 0xaa00, 0x8000
3093 };
3094 static const SvxMSDffCalculationData mso_sptSmileyFaceCalc[] =
3095 {
3096 { 0x2000, { DFF_Prop_adjustValue, 0, 15510 } },
3097 { 0x8000, { 17520, 0, 0x400 } },
3098 { 0x4000, { 15510, 0x400, 0 } }
3099 };
3100
3101 static const SvxMSDffTextRectangles mso_sptSmileyFaceTextRect[] =
3102 {
3103 { { 0, 1 MSO_I }, { 4 MSO_I, 21600 } }
3104 };
3105 static const sal_Int32 mso_sptSmileyFaceDefault[] =
3106 {
3107 1, 17520
3108 };
3109 static const SvxMSDffHandle mso_sptSmileyHandle[] =
3110 {
3111 { MSDFF_HANDLE_FLAGS_RANGE,
3112 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 15510, 17520 }
3113 };
3114 static const mso_CustomShape msoSmileyFace =
3115 {
3116 (SvxMSDffVertPair*)mso_sptSmileyFaceVert, sizeof( mso_sptSmileyFaceVert ) / sizeof( SvxMSDffVertPair ),
3117 (sal_uInt16*)mso_sptSmileyFaceSegm, sizeof( mso_sptSmileyFaceSegm ) >> 1,
3118 (SvxMSDffCalculationData*)mso_sptSmileyFaceCalc, sizeof( mso_sptSmileyFaceCalc ) / sizeof( SvxMSDffCalculationData ),
3119 (sal_Int32*)mso_sptSmileyFaceDefault,
3120 (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, sizeof( mso_sptEllipseTextRect ) / sizeof( SvxMSDffTextRectangles ),
3121 21600, 21600,
3122 Mx80000000, Mx80000000,
3123 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
3124 (SvxMSDffHandle*)mso_sptSmileyHandle, sizeof( mso_sptSmileyHandle ) / sizeof( SvxMSDffHandle ) // handles
3125 };
3126
3127 static const SvxMSDffVertPair mso_sptDonutVert[] = // adj value 0 - 10800
3128 {
3129 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
3130 { 10800, 10800 }, { 1 MSO_I, 1 MSO_I }, { 0, 360 }
3131 };
3132 static const sal_uInt16 mso_sptDonutSegm[] =
3133 {
3134 0xa203, 0x6000, 0xa203, 0x8000
3135 };
3136 static const SvxMSDffCalculationData mso_sptDonutCalc[] =
3137 {
3138 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
3139 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }
3140 };
3141 static const SvxMSDffHandle mso_sptDonutHandle[] =
3142 {
3143 { MSDFF_HANDLE_FLAGS_RANGE,
3144 0x100, 10800, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
3145 };
3146 static const mso_CustomShape msoDonut =
3147 {
3148 (SvxMSDffVertPair*)mso_sptDonutVert, sizeof( mso_sptDonutVert ) / sizeof( SvxMSDffVertPair ),
3149 (sal_uInt16*)mso_sptDonutSegm, sizeof( mso_sptDonutSegm ) >> 1,
3150 (SvxMSDffCalculationData*)mso_sptDonutCalc, sizeof( mso_sptDonutCalc ) / sizeof( SvxMSDffCalculationData ),
3151 (sal_Int32*)mso_sptDefault5400,
3152 (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, sizeof( mso_sptEllipseTextRect ) / sizeof( SvxMSDffTextRectangles ),
3153 21600, 21600,
3154 Mx80000000, Mx80000000,
3155 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
3156 (SvxMSDffHandle*)mso_sptDonutHandle, sizeof( mso_sptDonutHandle ) / sizeof( SvxMSDffHandle ) // handles
3157 };
3158
3159 static const SvxMSDffVertPair mso_sptNoSmokingVert[] = // adj value 0 - 7200
3160 {
3161 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
3162 { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 1 MSO_I },
3163 { 9 MSO_I, 0xa MSO_I }, { 0xb MSO_I, 0xc MSO_I }, { 0 MSO_I, 0 MSO_I }, { 1 MSO_I, 1 MSO_I },
3164 { 0xd MSO_I, 0xe MSO_I }, { 0xf MSO_I, 0x10 MSO_I }
3165 };
3166 static const sal_uInt16 mso_sptNoSmokingSegm[] =
3167 {
3168 0xa203, 0x6000, 0xa404, 0x6000, 0xa404, 0x6000, 0x8000
3169 };
3170 static const SvxMSDffCalculationData mso_sptNoSmokingCalc[] =
3171 {
3172 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0
3173 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 1
3174 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }, // 2
3175 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } }, // 3
3176 { 0xa080, { 0x403, 0, 0x402 } }, // 4
3177 { 0x8000, { 10800, 0, 0x403 } }, // 5 x1
3178 { 0x4000, { 10800, 0x403, 0 } }, // 6 x2
3179 { 0x8000, { 10800, 0, 0x404 } }, // 7 y1
3180 { 0x4000, { 10800, 0x404, 0 } }, // 8 y2
3181 { 0x6081, { 0x405, 0x407, 45 } }, // 9
3182 { 0x6082, { 0x405, 0x407, 45 } }, // a
3183 { 0x6081, { 0x405, 0x408, 45 } }, // b
3184 { 0x6082, { 0x405, 0x408, 45 } }, // c
3185 { 0x6081, { 0x406, 0x408, 45 } }, // d
3186 { 0x6082, { 0x406, 0x408, 45 } }, // e
3187 { 0x6081, { 0x406, 0x407, 45 } }, // f
3188 { 0x6082, { 0x406, 0x407, 45 } } // 10
3189 };
3190 static const SvxMSDffHandle mso_sptNoSmokingHandle[] =
3191 {
3192 { MSDFF_HANDLE_FLAGS_RANGE,
3193 0x100, 10800, 10800, 10800, 0, 7200, Mx80000000, 0x7fffffff }
3194 };
3195 static const mso_CustomShape msoNoSmoking =
3196 {
3197 (SvxMSDffVertPair*)mso_sptNoSmokingVert, sizeof( mso_sptNoSmokingVert ) / sizeof( SvxMSDffVertPair ),
3198 (sal_uInt16*)mso_sptNoSmokingSegm, sizeof( mso_sptNoSmokingSegm ) >> 1,
3199 (SvxMSDffCalculationData*)mso_sptNoSmokingCalc, sizeof( mso_sptNoSmokingCalc ) / sizeof( SvxMSDffCalculationData ),
3200 (sal_Int32*)mso_sptDefault2700,
3201 (SvxMSDffTextRectangles*)mso_sptEllipseTextRect, sizeof( mso_sptEllipseTextRect ) / sizeof( SvxMSDffTextRectangles ),
3202 21600, 21600,
3203 Mx80000000, Mx80000000,
3204 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
3205 (SvxMSDffHandle*)mso_sptNoSmokingHandle, sizeof( mso_sptNoSmokingHandle ) / sizeof( SvxMSDffHandle ) // handles
3206 };
3207
3208 static const SvxMSDffVertPair mso_sptBlockArcVert[] = // adj value 0 (degrees)
3209 { // adj value 1: 0 -> 10800;
3210 { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I },
3211 { 5 MSO_I, 5 MSO_I }, { 6 MSO_I, 6 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }
3212 };
3213 static const sal_uInt16 mso_sptBlockArcSegm[] =
3214 {
3215 0xA404, 0xa504, 0x6001, 0x8000
3216 };
3217 static const sal_Int32 mso_sptBlockArcDefault[] =
3218 {
3219 2, 180, 5400
3220 };
3221 static const SvxMSDffCalculationData mso_sptBlockArcCalc[] =
3222 {
3223 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
3224 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
3225 { 0x2000, { 0x400, 10800, 0 } },
3226 { 0x2000, { 0x401, 10800, 0 } },
3227 { 0x8000, { 21600, 0, 0x402 } },
3228 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
3229 { 0x4000, { 10800, DFF_Prop_adjust2Value, 0 } },
3230 { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } },
3231 { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } }
3232 };
3233 static const SvxMSDffHandle mso_sptBlockArcHandle[] =
3234 {
3235 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
3236 0x101, 0x100, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
3237 };
3238 static const mso_CustomShape msoBlockArc =
3239 {
3240 (SvxMSDffVertPair*)mso_sptBlockArcVert, sizeof( mso_sptBlockArcVert ) / sizeof( SvxMSDffVertPair ),
3241 (sal_uInt16*)mso_sptBlockArcSegm, sizeof( mso_sptBlockArcSegm ) >> 1,
3242 (SvxMSDffCalculationData*)mso_sptBlockArcCalc, sizeof( mso_sptBlockArcCalc ) / sizeof( SvxMSDffCalculationData ),
3243 (sal_Int32*)mso_sptBlockArcDefault,
3244 NULL, 0,
3245 21600, 21600,
3246 Mx80000000, Mx80000000,
3247 NULL, 0,
3248 (SvxMSDffHandle*)mso_sptBlockArcHandle, sizeof( mso_sptBlockArcHandle ) / sizeof( SvxMSDffHandle ) // handles
3249 };
3250
3251 // aware : control points are always part of the bounding box
3252 static const SvxMSDffVertPair mso_sptHeartVert[] =
3253 {
3254 { 10800, 21599 }, { 321, 6886 }, { 70, 6036 }, // ppp
3255 { -9, 5766 }, { -1, 5474 }, { 2, 5192 }, // ccp
3256 { 6, 4918 }, { 43, 4641 }, { 101, 4370 }, // ccp
3257 { 159, 4103 }, { 245, 3837 }, { 353, 3582 }, // ccp
3258 { 460, 3326 }, { 591, 3077 }, { 741, 2839 }, // ccp
3259 { 892, 2598 }, { 1066, 2369 }, { 1253, 2155 }, // ccp
3260 { 1443, 1938 }, { 1651, 1732 }, { 1874, 1543 }, // ccp
3261 { 2097, 1351 }, { 2337, 1174 }, { 2587, 1014 }, // ccp
3262 { 2839, 854 }, { 3106, 708 }, { 3380, 584 }, // ccp
3263 { 3656, 459 }, { 3945, 350 }, { 4237, 264 }, // ccp
3264 { 4533, 176 }, { 4838, 108 }, { 5144, 66 }, // ccp
3265 { 5454, 22 }, { 5771, 1 }, { 6086, 3 }, // ccp
3266 { 6407, 7 }, { 6731, 35 }, { 7048, 89 }, // ccp
3267 { 7374, 144 }, { 7700, 226 }, { 8015, 335 }, // ccp
3268 { 8344, 447 }, { 8667, 590 }, { 8972, 756 }, // ccp
3269 { 9297, 932 }, { 9613, 1135 }, { 9907, 1363 }, // ccp
3270 { 10224, 1609 }, { 10504, 1900 }, { 10802, 2169 }, // ccp
3271 { 11697, 1363 }, // p
3272 { 11971, 1116 }, { 12304, 934 }, { 12630, 756 }, // ccp
3273 { 12935, 590 }, { 13528, 450 }, { 13589, 335 }, // ccp
3274 { 13901, 226 }, { 14227, 144 }, { 14556, 89 }, // ccp
3275 { 14872, 35 }, { 15195, 7 }, { 15517, 3 }, // ccp
3276 { 15830, 0 }, { 16147, 22 }, { 16458, 66 }, // ccp
3277 { 16764, 109 }, { 17068, 177 }, { 17365, 264 }, // ccp
3278 { 17658, 349 }, { 17946, 458 }, { 18222, 584 }, // ccp
3279 { 18496, 708 }, { 18762, 854 }, { 19015, 1014 }, // ccp
3280 { 19264, 1172 }, { 19504, 1349 }, { 19730, 1543 }, // ccp
3281 { 19950, 1731 }, { 20158, 1937 }, { 20350, 2155 }, // ccp
3282 { 20536, 2369 }, { 20710, 2598 }, { 20861, 2839 }, // ccp
3283 { 21010, 3074 }, { 21143, 3323 }, { 21251, 3582 }, // ccp
3284 { 21357, 3835 }, { 21443, 4099 }, { 21502, 4370 }, // ccp
3285 { 21561, 4639 }, { 21595, 4916 }, { 21600, 5192 }, // ccp
3286 { 21606, 5474 }, { 21584, 5760 }, { 21532, 6036 }, // ccp
3287 { 21478, 6326 }, { 21366, 6603 }, { 21282, 6887 }, // ccp
3288 { 10802, 21602 } // p
3289 };
3290 static const sal_uInt16 mso_sptHeartSegm[] =
3291 {
3292 0x4000, 0x0002, 0x2010, 0x0001, 0x2010, 0x0001, 0x6001, 0x8000
3293 };
3294 static const SvxMSDffTextRectangles mso_sptHeartTextRect[] =
3295 {
3296 { { 5080, 2540 }, { 16520, 13550 } }
3297 };
3298 static const SvxMSDffVertPair mso_sptHeartGluePoints[] =
3299 {
3300 { 10800, 2180 }, { 3090, 10800 }, { 10800, 21600 }, { 18490, 10800 }
3301 };
3302 static const mso_CustomShape msoHeart =
3303 {
3304 (SvxMSDffVertPair*)mso_sptHeartVert, sizeof( mso_sptHeartVert ) / sizeof( SvxMSDffVertPair ),
3305 (sal_uInt16*)mso_sptHeartSegm, sizeof( mso_sptHeartSegm ) >> 1,
3306 NULL, 0,
3307 NULL,
3308 (SvxMSDffTextRectangles*)mso_sptHeartTextRect, sizeof( mso_sptHeartTextRect ) / sizeof( SvxMSDffTextRectangles ),
3309 21615, 21602,
3310 Mx80000000, Mx80000000,
3311 (SvxMSDffVertPair*)mso_sptHeartGluePoints, sizeof( mso_sptHeartGluePoints ) / sizeof( SvxMSDffVertPair ),
3312 NULL, 0 // handles
3313 };
3314
3315 static const SvxMSDffVertPair mso_sptLightningBoldVert[] =
3316 {
3317 { 8458, 0 }, { 0, 3923 }, { 7564, 8416 }, { 4993, 9720 },
3318 { 12197, 13904 }, { 9987, 14934 }, { 21600, 21600 }, { 14768, 12911 },
3319 { 16558, 12016 }, { 11030, 6840 }, { 12831, 6120 }, { 8458, 0 }
3320 };
3321 static const SvxMSDffTextRectangles mso_sptLightningBoldTextRect[] =
3322 {
3323 { { 8680, 7410 }, { 13970, 14190 } }
3324 };
3325 static const SvxMSDffVertPair mso_sptLightningBoldGluePoints[] =
3326 {
3327 { 8458, 0 }, { 0, 3923 }, { 4993, 9720 }, { 9987, 14934 }, { 21600, 21600 },
3328 { 16558, 12016 }, { 12831, 6120 }
3329 };
3330 static const mso_CustomShape msoLightningBold =
3331 {
3332 (SvxMSDffVertPair*)mso_sptLightningBoldVert, sizeof( mso_sptLightningBoldVert ) / sizeof( SvxMSDffVertPair ),
3333 NULL, 0,
3334 NULL, 0,
3335 NULL,
3336 (SvxMSDffTextRectangles*)mso_sptLightningBoldTextRect, sizeof( mso_sptLightningBoldTextRect ) / sizeof( SvxMSDffTextRectangles ),
3337 21600, 21600,
3338 Mx80000000, Mx80000000,
3339 (SvxMSDffVertPair*)mso_sptLightningBoldGluePoints, sizeof( mso_sptLightningBoldGluePoints ) / sizeof( SvxMSDffVertPair ),
3340 NULL, 0 // handles
3341 };
3342
3343 static const SvxMSDffVertPair mso_sptSunVert[] = // adj value 2700 -> 10125
3344 {
3345 { 0, 10800 }, { 4 MSO_I, 8 MSO_I }, { 4 MSO_I, 9 MSO_I },
3346 { 0x0a MSO_I, 0x0b MSO_I }, { 0x0c MSO_I, 0x0d MSO_I }, { 0x0e MSO_I, 0x0f MSO_I },
3347 { 0x10 MSO_I, 0x11 MSO_I }, { 0x12 MSO_I, 0x13 MSO_I }, { 0x14 MSO_I, 0x15 MSO_I },
3348 { 0x16 MSO_I, 0x17 MSO_I }, { 0x18 MSO_I, 0x19 MSO_I }, { 0x1a MSO_I, 0x1b MSO_I },
3349 { 0x1c MSO_I, 0x1d MSO_I }, { 0x1e MSO_I, 0x1f MSO_I }, { 0x20 MSO_I, 0x21 MSO_I },
3350 { 0x22 MSO_I, 0x23 MSO_I }, { 0x24 MSO_I, 0x25 MSO_I }, { 0x26 MSO_I, 0x27 MSO_I },
3351 { 0x28 MSO_I, 0x29 MSO_I }, { 0x2a MSO_I, 0x2b MSO_I }, { 0x2c MSO_I, 0x2d MSO_I },
3352 { 0x2e MSO_I, 0x2f MSO_I }, { 0x30 MSO_I, 0x31 MSO_I }, { 0x32 MSO_I, 0x33 MSO_I },
3353 { 10800, 10800 }, { 0x36 MSO_I, 0x36 MSO_I }, { 0, 360 }
3354 };
3355 static const sal_uInt16 mso_sptSunSegm[] =
3356 {
3357 0x4000, 0x0002, 0x6001, 0x8000,
3358 0x4000, 0x0002, 0x6001, 0x8000,
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 0xa203, 0x6000, 0x8000
3366 };
3367 static const SvxMSDffCalculationData mso_sptSunCalc[] =
3368 {
3369 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
3370 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
3371 { 0x2000, { DFF_Prop_adjustValue, 0, 2700 } },
3372 { 0x2001, { 0x402, 5080, 7425 } },
3373 { 0x2000, { 0x403, 2540, 0 } },
3374 { 0x8000, { 10125, 0, DFF_Prop_adjustValue } },
3375 { 0x2001, { 0x405, 2120, 7425 } },
3376 { 0x2000, { 0x406, 210, 0 } },
3377 { 0x4000, { 10800, 0x407, 0 } }, // y1 (0x8)
3378 { 0x8000, { 10800, 0, 0x407 } }, // y2 (0x9)
3379 { 0x0081, { 0, 10800, 45 } }, // 0xa
3380 { 0x0082, { 0, 10800, 45 } }, // 0xb
3381 { 0x6081, { 0x404, 0x408, 45 } }, // 0xc
3382 { 0x6082, { 0x404, 0x408, 45 } }, // 0xd
3383 { 0x6081, { 0x404, 0x409, 45 } }, // 0xe
3384 { 0x6082, { 0x404, 0x409, 45 } }, // 0xf
3385 { 0x0081, { 0, 10800, 90 } }, // 0x10
3386 { 0x0082, { 0, 10800, 90 } }, // 0x11
3387 { 0x6081, { 0x404, 0x408, 90 } }, // 0x12
3388 { 0x6082, { 0x404, 0x408, 90 } }, // 0x13
3389 { 0x6081, { 0x404, 0x409, 90 } }, // 0x14
3390 { 0x6082, { 0x404, 0x409, 90 } }, // 0x15
3391 { 0x0081, { 0, 10800, 135 } }, // 0x16
3392 { 0x0082, { 0, 10800, 135 } }, // 0x17
3393 { 0x6081, { 0x404, 0x408, 135 } }, // 0x18
3394 { 0x6082, { 0x404, 0x408, 135 } }, // 0x19
3395 { 0x6081, { 0x404, 0x409, 135 } }, // 0x1a
3396 { 0x6082, { 0x404, 0x409, 135 } }, // 0x1b
3397 { 0x0081, { 0, 10800, 180 } }, // 0x1c
3398 { 0x0082, { 0, 10800, 180 } }, // 0x1d
3399 { 0x6081, { 0x404, 0x408, 180 } }, // 0x1e
3400 { 0x6082, { 0x404, 0x408, 180 } }, // 0x1f
3401 { 0x6081, { 0x404, 0x409, 180 } }, // 0x20
3402 { 0x6082, { 0x404, 0x409, 180 } }, // 0x21
3403 { 0x0081, { 0, 10800, 225 } }, // 0x22
3404 { 0x0082, { 0, 10800, 225 } }, // 0x23
3405 { 0x6081, { 0x404, 0x408, 225 } }, // 0x24
3406 { 0x6082, { 0x404, 0x408, 225 } }, // 0x25
3407 { 0x6081, { 0x404, 0x409, 225 } }, // 0x26
3408 { 0x6082, { 0x404, 0x409, 225 } }, // 0x27
3409 { 0x0081, { 0, 10800, 270 } }, // 0x28
3410 { 0x0082, { 0, 10800, 270 } }, // 0x29
3411 { 0x6081, { 0x404, 0x408, 270 } }, // 0x2a
3412 { 0x6082, { 0x404, 0x408, 270 } }, // 0x2b
3413 { 0x6081, { 0x404, 0x409, 270 } }, // 0x2c
3414 { 0x6082, { 0x404, 0x409, 270 } }, // 0x2d
3415 { 0x0081, { 0, 10800, 315 } }, // 0x2e
3416 { 0x0082, { 0, 10800, 315 } }, // 0x2f
3417 { 0x6081, { 0x404, 0x408, 315 } }, // 0x30
3418 { 0x6082, { 0x404, 0x408, 315 } }, // 0x31
3419 { 0x6081, { 0x404, 0x409, 315 } }, // 0x32
3420 { 0x6082, { 0x404, 0x409, 315 } }, // 0x33
3421 { 0x2081, { DFF_Prop_adjustValue, 10800, 45 } }, // 0x34 ( textbox )
3422 { 0x2081, { DFF_Prop_adjustValue, 10800, 225 } }, // 0x35
3423 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }
3424 };
3425 static const SvxMSDffTextRectangles mso_sptSunTextRect[] =
3426 {
3427 { { 0x34 MSO_I, 0x34 MSO_I }, { 0x35 MSO_I, 0x35 MSO_I } }
3428 };
3429 static const SvxMSDffHandle mso_sptSunHandle[] =
3430 {
3431 { MSDFF_HANDLE_FLAGS_RANGE,
3432 0x100, 10800, 10800, 10800, 2700, 10125, Mx80000000, 0x7fffffff }
3433 };
3434 static const mso_CustomShape msoSun =
3435 {
3436 (SvxMSDffVertPair*)mso_sptSunVert, sizeof( mso_sptSunVert ) / sizeof( SvxMSDffVertPair ),
3437 (sal_uInt16*)mso_sptSunSegm, sizeof( mso_sptSunSegm ) >> 1,
3438 (SvxMSDffCalculationData*)mso_sptSunCalc, sizeof( mso_sptSunCalc ) / sizeof( SvxMSDffCalculationData ),
3439 (sal_Int32*)mso_sptDefault5400,
3440 (SvxMSDffTextRectangles*)mso_sptSunTextRect, sizeof( mso_sptSunTextRect ) / sizeof( SvxMSDffTextRectangles ),
3441 21600, 21600,
3442 Mx80000000, Mx80000000,
3443 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
3444 (SvxMSDffHandle*)mso_sptSunHandle, sizeof( mso_sptSunHandle ) / sizeof( SvxMSDffHandle ) // handles
3445 };
3446
3447 static const SvxMSDffVertPair mso_sptMoonVert[] = // adj value 0 -> 18900
3448 {
3449 { 21600, 0 },
3450 { 3 MSO_I, 4 MSO_I }, { 0 MSO_I, 5080 }, { 0 MSO_I, 10800 }, // ccp
3451 { 0 MSO_I, 16520 }, { 3 MSO_I, 5 MSO_I }, { 21600, 21600 }, // ccp
3452 { 9740, 21600 }, { 0, 16730 }, { 0, 10800 }, // ccp
3453 { 0, 4870 }, { 9740, 0 }, { 21600, 0 } // ccp
3454 };
3455 static const sal_uInt16 mso_sptMoonSegm[] =
3456 {
3457 0x4000, 0x2004, 0x6000, 0x8000
3458 };
3459 static const SvxMSDffCalculationData mso_sptMoonCalc[] =
3460 {
3461 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
3462 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
3463 { 0x2001, { 0x401, 1, 2 } },
3464 { 0x6000, { 0x402, DFF_Prop_adjustValue, 0 } },
3465 { 0x2001, { DFF_Prop_adjustValue, 1794, 10000 } },
3466 { 0x8000, { 21600, 0, 0x0404 } },
3467 { 0x2001, { DFF_Prop_adjustValue, 400, 18900 } },
3468 { 0x8081, { 0, 10800, 0x406 } },
3469 { 0x8082, { 0, 10800, 0x406 } },
3470 { 0x6000, { 0x407, 0x407, 0 } },
3471 { 0x8000, { 21600, 0, 0x408 } }
3472 };
3473 static const SvxMSDffTextRectangles mso_sptMoonTextRect[] =
3474 {
3475 { { 9 MSO_I, 8 MSO_I }, { 0 MSO_I, 0xa MSO_I } }
3476 };
3477 static const SvxMSDffVertPair mso_sptMoonGluePoints[] =
3478 {
3479 { 21600, 0 }, { 0, 10800 }, { 21600, 21600 }, { 0 MSO_I, 10800 }
3480 };
3481 static const SvxMSDffHandle mso_sptMoonHandle[] =
3482 {
3483 { MSDFF_HANDLE_FLAGS_RANGE,
3484 0x100, 10800, 10800, 10800, 0, 18900, Mx80000000, 0x7fffffff }
3485 };
3486 static const mso_CustomShape msoMoon =
3487 {
3488 (SvxMSDffVertPair*)mso_sptMoonVert, sizeof( mso_sptMoonVert ) / sizeof( SvxMSDffVertPair ),
3489 (sal_uInt16*)mso_sptMoonSegm, sizeof( mso_sptMoonSegm ) >> 1,
3490 (SvxMSDffCalculationData*)mso_sptMoonCalc, sizeof( mso_sptMoonCalc ) / sizeof( SvxMSDffCalculationData ),
3491 (sal_Int32*)mso_sptDefault10800,
3492 (SvxMSDffTextRectangles*)mso_sptMoonTextRect, sizeof( mso_sptMoonTextRect ) / sizeof( SvxMSDffTextRectangles ),
3493 21600, 21600,
3494 Mx80000000, Mx80000000,
3495 (SvxMSDffVertPair*)mso_sptMoonGluePoints, sizeof( mso_sptMoonGluePoints ) / sizeof( SvxMSDffVertPair ),
3496 (SvxMSDffHandle*)mso_sptMoonHandle, sizeof( mso_sptMoonHandle ) / sizeof( SvxMSDffHandle ) // handles
3497 };
3498
3499 static const SvxMSDffVertPair mso_sptBracketPairVert[] = // adj value 0 -> 10800
3500 {
3501 { 0 MSO_I, 0 }, { 0, 1 MSO_I }, // left top alignment
3502 { 0, 2 MSO_I }, { 0 MSO_I, 21600 }, // left bottom "
3503 { 3 MSO_I, 21600 }, { 21600, 2 MSO_I }, // right bottom "
3504 { 21600, 1 MSO_I }, { 3 MSO_I, 0 } // right top "
3505 };
3506 static const sal_uInt16 mso_sptBracketPairSegm[] =
3507 {
3508 0x4000, 0xa701, 0x0001, 0xa801, 0x8000,
3509 0x4000, 0xa701, 0x0001, 0xa801, 0x8000
3510 };
3511 static const SvxMSDffCalculationData mso_sptBracketPairCalc[] =
3512 {
3513 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
3514 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
3515 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
3516 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
3517 { 0x2082, { DFF_Prop_adjustValue, 0, 45 } },
3518 { 0x2000, { 0x404, 0, 10800 } },
3519 { 0x8000, { 0, 0, DFF_Prop_adjustValue } },
3520 { 0xa000, { 0x406, 0, 0x405 } },
3521 { 0xa000, { DFF_Prop_geoLeft, 0, 0x407 } },
3522 { 0xa000, { DFF_Prop_geoTop, 0, 0x407 } },
3523 { 0x6000, { DFF_Prop_geoRight, 0x407, 0 } },
3524 { 0x6000, { DFF_Prop_geoBottom, 0x407, 0 } },
3525 { 0xa000, { DFF_Prop_geoLeft, 0, 0x405 } },
3526 { 0xa000, { DFF_Prop_geoTop, 0, 0x405 } },
3527 { 0x6000, { DFF_Prop_geoRight, 0x405, 0 } },
3528 { 0x6000, { DFF_Prop_geoBottom, 0x405, 0 } }
3529 };
3530 static const SvxMSDffTextRectangles mso_sptBracketPairTextRect[] =
3531 {
3532 { { 8 MSO_I, 9 MSO_I }, { 0xa MSO_I, 0xb MSO_I } }
3533 };
3534 static const SvxMSDffHandle mso_sptBracketPairHandle[] =
3535 {
3536 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
3537 0x100, 0, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
3538 };
3539 static const mso_CustomShape msoBracketPair =
3540 {
3541 (SvxMSDffVertPair*)mso_sptBracketPairVert, sizeof( mso_sptBracketPairVert ) / sizeof( SvxMSDffVertPair ),
3542 (sal_uInt16*)mso_sptBracketPairSegm, sizeof( mso_sptBracketPairSegm ) >> 1,
3543 (SvxMSDffCalculationData*)mso_sptBracketPairCalc, sizeof( mso_sptBracketPairCalc ) / sizeof( SvxMSDffCalculationData ),
3544 (sal_Int32*)mso_sptDefault3700,
3545 (SvxMSDffTextRectangles*)mso_sptBracketPairTextRect, sizeof( mso_sptBracketPairTextRect ) / sizeof( SvxMSDffTextRectangles ),
3546 21600, 21600,
3547 10800, Mx80000000,
3548 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
3549 (SvxMSDffHandle*)mso_sptBracketPairHandle, sizeof( mso_sptBracketPairHandle ) / sizeof( SvxMSDffHandle ) // handles
3550 };
3551
3552 static const sal_uInt16 mso_sptPlaqueSegm[] =
3553 {
3554 0x4000, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x6000, 0x8000
3555 };
3556 static const SvxMSDffTextRectangles mso_sptPlaqueTextRect[] =
3557 {
3558 { { 0xc MSO_I, 0xd MSO_I }, { 0xe MSO_I, 0xf MSO_I } }
3559 };
3560 static const SvxMSDffHandle mso_sptPlaqueHandle[] =
3561 {
3562 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
3563 0x100, 0, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
3564 };
3565 static const mso_CustomShape msoPlaque =
3566 {
3567 (SvxMSDffVertPair*)mso_sptBracketPairVert, sizeof( mso_sptBracketPairVert ) / sizeof( SvxMSDffVertPair ),
3568 (sal_uInt16*)mso_sptPlaqueSegm, sizeof( mso_sptPlaqueSegm ) >> 1,
3569 (SvxMSDffCalculationData*)mso_sptBracketPairCalc, sizeof( mso_sptBracketPairCalc ) / sizeof( SvxMSDffCalculationData ),
3570 (sal_Int32*)mso_sptDefault3600,
3571 (SvxMSDffTextRectangles*)mso_sptPlaqueTextRect, sizeof( mso_sptPlaqueTextRect ) / sizeof( SvxMSDffTextRectangles ),
3572 21600, 21600,
3573 10800, 10800,
3574 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
3575 (SvxMSDffHandle*)mso_sptPlaqueHandle, sizeof( mso_sptPlaqueHandle ) / sizeof( SvxMSDffHandle ) // handles
3576 };
3577
3578 static const SvxMSDffVertPair mso_sptBracePairVert[] = // adj value 0 -> 5400
3579 {
3580 { 4 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 0 MSO_I, 6 MSO_I }, { 0 ,10800 }, // left bracket
3581 { 0 MSO_I, 7 MSO_I }, { 0 MSO_I, 2 MSO_I }, { 4 MSO_I, 21600 },
3582 { 8 MSO_I, 21600 }, { 3 MSO_I, 2 MSO_I }, { 3 MSO_I, 7 MSO_I }, { 21600, 10800 }, // right bracket
3583 { 3 MSO_I, 6 MSO_I }, { 3 MSO_I, 1 MSO_I }, { 8 MSO_I, 0 }
3584 };
3585 static const sal_uInt16 mso_sptBracePairSegm[] =
3586 {
3587 0x4000, 0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0x8000,
3588 0x4000, 0xa701, 0x0001, 0xa801, 0xa701, 0x0001, 0xa801, 0x8000
3589 };
3590 static const SvxMSDffCalculationData mso_sptBracePairCalc[] =
3591 {
3592 { 0x6000, { DFF_Prop_geoLeft, DFF_Prop_adjustValue, 0 } },
3593 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
3594 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
3595 { 0xa000, { DFF_Prop_geoRight, 0, DFF_Prop_adjustValue } },
3596 { 0x2001, { 0x400, 2, 1 } }, // 4
3597 { 0x2001, { DFF_Prop_adjustValue, 2, 1 } }, // 5
3598 { 0x8000, { 10800, 0, DFF_Prop_adjustValue } }, // 6
3599 { 0x8000, { 21600, 0, 0x406 } }, // 7
3600 { 0xa000, { DFF_Prop_geoRight, 0, 0x405 } }, // 8
3601 { 0x2001, { DFF_Prop_adjustValue, 1, 3 } }, // 9
3602 { 0x6000, { 0x409, DFF_Prop_adjustValue, 0 } }, // xa
3603 { 0x6000, { DFF_Prop_geoLeft, 0x40a, 0 } }, // xb
3604 { 0x6000, { DFF_Prop_geoTop, 0x409, 0 } }, // xc
3605 { 0xa000, { DFF_Prop_geoRight, 0, 0x40a } }, // xd
3606 { 0xa000, { DFF_Prop_geoBottom, 0, 0x409 } } // xe
3607 };
3608 static const SvxMSDffTextRectangles mso_sptBracePairTextRect[] =
3609 {
3610 { { 0xb MSO_I, 0xc MSO_I }, { 0xd MSO_I, 0xe MSO_I } }
3611 };
3612 static const SvxMSDffHandle mso_sptBracePairHandle[] =
3613 {
3614 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_SWITCHED,
3615 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 5400 }
3616 };
3617 static const mso_CustomShape msoBracePair =
3618 {
3619 (SvxMSDffVertPair*)mso_sptBracePairVert, sizeof( mso_sptBracePairVert ) / sizeof( SvxMSDffVertPair ),
3620 (sal_uInt16*)mso_sptBracePairSegm, sizeof( mso_sptBracePairSegm ) >> 1,
3621 (SvxMSDffCalculationData*)mso_sptBracePairCalc, sizeof( mso_sptBracePairCalc ) / sizeof( SvxMSDffCalculationData ),
3622 (sal_Int32*)mso_sptDefault1800,
3623 (SvxMSDffTextRectangles*)mso_sptBracePairTextRect, sizeof( mso_sptBracePairTextRect ) / sizeof( SvxMSDffTextRectangles ),
3624 21600, 21600,
3625 10800, Mx80000000,
3626 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
3627 (SvxMSDffHandle*)mso_sptBracePairHandle, sizeof( mso_sptBracePairHandle ) / sizeof( SvxMSDffHandle ) // handles
3628 };
3629
3630 static const SvxMSDffCalculationData mso_sptBracketCalc[] =
3631 {
3632 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
3633 { 0x6000, { DFF_Prop_geoTop, DFF_Prop_adjustValue, 0 } },
3634 { 0xa000, { DFF_Prop_geoBottom, 0, DFF_Prop_adjustValue } },
3635 { 0x6000, { DFF_Prop_geoTop, 0x400, 0 } },
3636 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }
3637 };
3638 static const sal_uInt16 mso_sptBracketSegm[] =
3639 {
3640 0x4000, 0x2001, 0x0001, 0x2001, 0x8000
3641 };
3642 static const SvxMSDffVertPair mso_sptLeftBracketVert[] = // adj value 0 -> 10800
3643 {
3644 { 21600, 0 }, { 10800, 0 }, { 0, 3 MSO_I }, { 0, 1 MSO_I },
3645 { 0, 2 MSO_I }, { 0, 4 MSO_I }, { 10800, 21600 }, { 21600, 21600 }
3646 };
3647 static const SvxMSDffTextRectangles mso_sptLeftBracketTextRect[] =
3648 {
3649 { { 6350, 3 MSO_I }, { 21600, 4 MSO_I } }
3650 };
3651 static const SvxMSDffVertPair mso_sptLeftBracketGluePoints[] =
3652 {
3653 { 21600, 0 }, { 0, 10800 }, { 21600, 21600 }
3654 };
3655 static const SvxMSDffHandle mso_sptLeftBracketHandle[] =
3656 {
3657 { MSDFF_HANDLE_FLAGS_RANGE,
3658 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 10800 }
3659 };
3660 static const mso_CustomShape msoLeftBracket =
3661 {
3662 (SvxMSDffVertPair*)mso_sptLeftBracketVert, sizeof( mso_sptLeftBracketVert ) / sizeof( SvxMSDffVertPair ),
3663 (sal_uInt16*)mso_sptBracketSegm, sizeof( mso_sptBracketSegm ) >> 1,
3664 (SvxMSDffCalculationData*)mso_sptBracketCalc, sizeof( mso_sptBracketCalc ) / sizeof( SvxMSDffCalculationData ),
3665 (sal_Int32*)mso_sptDefault1800,
3666 (SvxMSDffTextRectangles*)mso_sptLeftBracketTextRect, sizeof( mso_sptLeftBracketTextRect ) / sizeof( SvxMSDffTextRectangles ),
3667 21600, 21600,
3668 Mx80000000, Mx80000000,
3669 (SvxMSDffVertPair*)mso_sptLeftBracketGluePoints, sizeof( mso_sptLeftBracketGluePoints ) / sizeof( SvxMSDffVertPair ),
3670 (SvxMSDffHandle*)mso_sptLeftBracketHandle, sizeof( mso_sptLeftBracketHandle ) / sizeof( SvxMSDffHandle ) // handles
3671 };
3672 static const SvxMSDffVertPair mso_sptRightBracketVert[] = // adj value 0 -> 10800
3673 {
3674 { 0, 0 }, { 10800, 0 }, { 21600, 3 MSO_I }, { 21600, 1 MSO_I },
3675 { 21600, 2 MSO_I }, { 21600, 4 MSO_I }, { 10800, 21600 }, { 0, 21600 }
3676 };
3677 static const SvxMSDffTextRectangles mso_sptRightBracketTextRect[] =
3678 {
3679 { { 0, 3 MSO_I }, { 15150, 4 MSO_I } }
3680 };
3681 static const SvxMSDffVertPair mso_sptRightBracketGluePoints[] =
3682 {
3683 { 0, 0 }, { 0, 21600 }, { 21600, 10800 }
3684 };
3685 static const SvxMSDffHandle mso_sptRightBracketHandle[] =
3686 {
3687 { MSDFF_HANDLE_FLAGS_RANGE,
3688 1, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 10800 }
3689 };
3690 static const mso_CustomShape msoRightBracket =
3691 {
3692 (SvxMSDffVertPair*)mso_sptRightBracketVert, sizeof( mso_sptRightBracketVert ) / sizeof( SvxMSDffVertPair ),
3693 (sal_uInt16*)mso_sptBracketSegm, sizeof( mso_sptBracketSegm ) >> 1,
3694 (SvxMSDffCalculationData*)mso_sptBracketCalc, sizeof( mso_sptBracketCalc ) / sizeof( SvxMSDffCalculationData ),
3695 (sal_Int32*)mso_sptDefault1800,
3696 (SvxMSDffTextRectangles*)mso_sptRightBracketTextRect, sizeof( mso_sptRightBracketTextRect ) / sizeof( SvxMSDffTextRectangles ),
3697 21600, 21600,
3698 Mx80000000, Mx80000000,
3699 (SvxMSDffVertPair*)mso_sptRightBracketGluePoints, sizeof( mso_sptRightBracketGluePoints ) / sizeof( SvxMSDffVertPair ),
3700 (SvxMSDffHandle*)mso_sptRightBracketHandle, sizeof( mso_sptRightBracketHandle ) / sizeof( SvxMSDffHandle ) // handles
3701 };
3702
3703 static const SvxMSDffCalculationData mso_sptBraceCalc[] =
3704 {
3705 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
3706 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
3707 { 0xa000, { 0x404, 0, DFF_Prop_adjustValue } },
3708 { 0xa000, { 0x404, 0, 0x400 } },
3709 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
3710 { 0x6000, { 0x404, 0x400, 0 } },
3711 { 0x6000, { 0x404, DFF_Prop_adjustValue, 0 } },
3712 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
3713 { 0x8000, { 21600, 0, 0x400 } },
3714 { 0x2001, { DFF_Prop_adjustValue, 10000, 31953 } },
3715 { 0x8000, { 21600, 0, 0x409 } }
3716 };
3717 static const sal_uInt16 mso_sptBraceSegm[] =
3718 {
3719 0x4000, 0x2001, 0x0001, 0x2002, 0x0001, 0x2001, 0x8000
3720 };
3721 static const sal_Int32 mso_sptBraceDefault[] =
3722 {
3723 2, 1800, 10800
3724 };
3725 static const SvxMSDffVertPair mso_sptLeftBraceVert[] =
3726 {
3727 { 21600, 0 }, // p
3728 { 16200, 0 }, { 10800, 0 MSO_I }, { 10800, 1 MSO_I }, // ccp
3729 { 10800, 2 MSO_I }, // p
3730 { 10800, 3 MSO_I }, { 5400, 4 MSO_I }, { 0, 4 MSO_I }, // ccp
3731 { 5400, 4 MSO_I }, { 10800, 5 MSO_I }, { 10800, 6 MSO_I }, // ccp
3732 { 10800, 7 MSO_I }, // p
3733 { 10800, 8 MSO_I }, { 16200, 21600 }, { 21600, 21600 } // ccp
3734 };
3735 static const SvxMSDffTextRectangles mso_sptLeftBraceTextRect[] =
3736 {
3737 { { 13800, 9 MSO_I }, { 21600, 10 MSO_I } }
3738 };
3739 static const SvxMSDffHandle mso_sptLeftBraceHandle[] =
3740 {
3741 { MSDFF_HANDLE_FLAGS_RANGE,
3742 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 5400 },
3743 { MSDFF_HANDLE_FLAGS_RANGE,
3744 0, 0x101, 10800, 10800, Mx80000000, 0x7fffffff, 0, 21600 }
3745 };
3746 static const mso_CustomShape msoLeftBrace = // adj value0 0 -> 5400
3747 { // adj value1 0 -> 21600
3748 (SvxMSDffVertPair*)mso_sptLeftBraceVert, sizeof( mso_sptLeftBraceVert ) / sizeof( SvxMSDffVertPair ),
3749 (sal_uInt16*)mso_sptBraceSegm, sizeof( mso_sptBraceSegm ) >> 1,
3750 (SvxMSDffCalculationData*)mso_sptBraceCalc, sizeof( mso_sptBraceCalc ) / sizeof( SvxMSDffCalculationData ),
3751 (sal_Int32*)mso_sptBraceDefault,
3752 (SvxMSDffTextRectangles*)mso_sptLeftBraceTextRect, sizeof( mso_sptLeftBraceTextRect ) / sizeof( SvxMSDffTextRectangles ),
3753 21600, 21600,
3754 Mx80000000, Mx80000000,
3755 (SvxMSDffVertPair*)mso_sptLeftBracketGluePoints, sizeof( mso_sptLeftBracketGluePoints ) / sizeof( SvxMSDffVertPair ),
3756 (SvxMSDffHandle*)mso_sptLeftBraceHandle, sizeof( mso_sptLeftBraceHandle ) / sizeof( SvxMSDffHandle ) // handles
3757 };
3758 static const SvxMSDffVertPair mso_sptRightBraceVert[] =
3759 {
3760 { 0, 0 }, // p
3761 { 5400, 0 }, { 10800, 0 MSO_I }, { 10800, 1 MSO_I }, // ccp
3762 { 10800, 2 MSO_I }, // p
3763 { 10800, 3 MSO_I }, { 16200, 4 MSO_I }, { 21600, 4 MSO_I }, // ccp
3764 { 16200, 4 MSO_I }, { 10800, 5 MSO_I }, { 10800, 6 MSO_I }, // ccp
3765 { 10800, 7 MSO_I }, // p
3766 { 10800, 8 MSO_I }, { 5400, 21600 }, { 0, 21600 } // ccp
3767 };
3768 static const SvxMSDffTextRectangles mso_sptRightBraceTextRect[] =
3769 {
3770 { { 0, 9 MSO_I }, { 7800, 10 MSO_I } }
3771 };
3772 static const SvxMSDffHandle mso_sptRightBraceHandle[] =
3773 {
3774 { MSDFF_HANDLE_FLAGS_RANGE,
3775 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 5400 },
3776 { MSDFF_HANDLE_FLAGS_RANGE,
3777 1, 0x101, 10800, 10800, Mx80000000, 0x7fffffff, 0, 21600 }
3778 };
3779 static const mso_CustomShape msoRightBrace = // adj value0 0 -> 5400
3780 { // adj value1 0 -> 21600
3781 (SvxMSDffVertPair*)mso_sptRightBraceVert, sizeof( mso_sptRightBraceVert ) / sizeof( SvxMSDffVertPair ),
3782 (sal_uInt16*)mso_sptBraceSegm, sizeof( mso_sptBraceSegm ) >> 1,
3783 (SvxMSDffCalculationData*)mso_sptBraceCalc, sizeof( mso_sptBraceCalc ) / sizeof( SvxMSDffCalculationData ),
3784 (sal_Int32*)mso_sptBraceDefault,
3785 (SvxMSDffTextRectangles*)mso_sptRightBraceTextRect, sizeof( mso_sptRightBraceTextRect ) / sizeof( SvxMSDffTextRectangles ),
3786 21600, 21600,
3787 Mx80000000, Mx80000000,
3788 (SvxMSDffVertPair*)mso_sptRightBracketGluePoints, sizeof( mso_sptRightBracketGluePoints ) / sizeof( SvxMSDffVertPair ),
3789 (SvxMSDffHandle*)mso_sptRightBraceHandle, sizeof( mso_sptRightBraceHandle ) / sizeof( SvxMSDffHandle ) // handles
3790 };
3791
3792 static const SvxMSDffVertPair mso_sptIrregularSeal1Vert[] =
3793 {
3794 { 10901, 5905 }, { 8458, 2399 }, { 7417, 6425 }, { 476, 2399 },
3795 { 4732, 7722 }, { 106, 8718 }, { 3828, 11880 }, { 243, 14689 },
3796 { 5772, 14041 }, { 4868, 17719 }, { 7819, 15730 }, { 8590, 21600 },
3797 { 10637, 15038 }, { 13349, 19840 }, { 14125, 14561 }, { 18248, 18195 },
3798 { 16938, 13044 }, { 21600, 13393 }, { 17710, 10579 }, { 21198, 8242 },
3799 { 16806, 7417 }, { 18482, 4560 }, { 14257, 5429 }, { 14623, 106 }, { 10901, 5905 }
3800 };
3801 static const SvxMSDffTextRectangles mso_sptIrregularSeal1TextRect[] =
3802 {
3803 { { 4680, 6570 }, { 16140, 13280 } }
3804 };
3805 static const SvxMSDffVertPair mso_sptIrregularSeal1GluePoints[] =
3806 {
3807 { 14623, 106 }, { 106, 8718 }, { 8590, 21600 }, { 21600, 13393 }
3808 };
3809 static const mso_CustomShape msoIrregularSeal1 =
3810 {
3811 (SvxMSDffVertPair*)mso_sptIrregularSeal1Vert, sizeof( mso_sptIrregularSeal1Vert ) / sizeof( SvxMSDffVertPair ),
3812 NULL, 0,
3813 NULL, 0,
3814 NULL,
3815 (SvxMSDffTextRectangles*)mso_sptIrregularSeal1TextRect, sizeof( mso_sptIrregularSeal1TextRect ) / sizeof( SvxMSDffTextRectangles ),
3816 21600, 21600,
3817 Mx80000000, Mx80000000,
3818 (SvxMSDffVertPair*)mso_sptIrregularSeal1GluePoints, sizeof( mso_sptIrregularSeal1GluePoints ) / sizeof( SvxMSDffVertPair ),
3819 NULL, 0 // handles
3820 };
3821
3822 static const SvxMSDffVertPair mso_sptIrregularSeal2Vert[] =
3823 {
3824 { 11464, 4340 }, { 9722, 1887 }, { 8548, 6383 }, { 4503, 3626 },
3825 { 5373, 7816 }, { 1174, 8270 }, { 3934, 11592 }, { 0, 12875 },
3826 { 3329, 15372 }, { 1283, 17824 }, { 4804, 18239 }, { 4918, 21600 },
3827 { 7525, 18125 }, { 8698, 19712 }, { 9871, 17371 }, { 11614, 18844 },
3828 { 12178, 15937 }, { 14943, 17371 }, { 14640, 14348 }, { 18878, 15632 },
3829 { 16382, 12311 }, { 18270, 11292 }, { 16986, 9404 }, { 21600, 6646 },
3830 { 16382, 6533 }, { 18005, 3172 }, { 14524, 5778 }, { 14789, 0 },
3831 { 11464, 4340 }
3832 };
3833 static const SvxMSDffTextRectangles mso_sptIrregularSeal2TextRect[] =
3834 {
3835 { { 5400, 6570 }, { 14160, 15290 } }
3836 };
3837 static const SvxMSDffVertPair mso_sptIrregularSeal2GluePoints[] =
3838 {
3839 { 9722, 1887 }, { 0, 12875 }, { 11614, 18844 }, { 21600, 6646 }
3840 };
3841 static const mso_CustomShape msoIrregularSeal2 =
3842 {
3843 (SvxMSDffVertPair*)mso_sptIrregularSeal2Vert, sizeof( mso_sptIrregularSeal2Vert ) / sizeof( SvxMSDffVertPair ),
3844 NULL, 0,
3845 NULL, 0,
3846 NULL,
3847 (SvxMSDffTextRectangles*)mso_sptIrregularSeal2TextRect, sizeof( mso_sptIrregularSeal2TextRect ) / sizeof( SvxMSDffTextRectangles ),
3848 21600, 21600,
3849 Mx80000000, Mx80000000,
3850 (SvxMSDffVertPair*)mso_sptIrregularSeal2GluePoints, sizeof( mso_sptIrregularSeal2GluePoints ) / sizeof( SvxMSDffVertPair ),
3851 NULL, 0 // handles
3852 };
3853
3854 static const SvxMSDffVertPair mso_sptSeal4Vert[] = // adjustment1 : 0 - 10800
3855 {
3856 { 0, 10800 }, { 4 MSO_I, 4 MSO_I }, { 10800, 0 }, { 3 MSO_I, 4 MSO_I },
3857 { 21600, 10800 }, { 3 MSO_I, 3 MSO_I }, { 10800, 21600 }, { 4 MSO_I, 3 MSO_I },
3858 { 0, 10800 }
3859 };
3860 static const SvxMSDffCalculationData mso_sptSeal4Calc[] =
3861 {
3862 { 0x0000, { 7600, 0, 0 } },
3863 { 0x6001, { 0x400, DFF_Prop_adjustValue, 10800 } },
3864 { 0xa000, { 0x400, 0, 0x401 } },
3865 { 0x4000, { 10800, 0x402, 0 } },
3866 { 0x8000, { 10800, 0, 0x402 } }
3867 };
3868 static const SvxMSDffTextRectangles mso_sptSeal4TextRect[] =
3869 {
3870 { { 4 MSO_I, 4 MSO_I }, { 3 MSO_I, 3 MSO_I } }
3871 };
3872 static const SvxMSDffHandle mso_sptSealHandle[] =
3873 {
3874 { MSDFF_HANDLE_FLAGS_RANGE,
3875 0x100, 10800, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
3876 };
3877 static const mso_CustomShape msoSeal4 =
3878 {
3879 (SvxMSDffVertPair*)mso_sptSeal4Vert, sizeof( mso_sptSeal4Vert ) / sizeof( SvxMSDffVertPair ),
3880 NULL, 0,
3881 (SvxMSDffCalculationData*)mso_sptSeal4Calc, sizeof( mso_sptSeal4Calc ) / sizeof( SvxMSDffCalculationData ),
3882 (sal_Int32*)mso_sptDefault8100,
3883 (SvxMSDffTextRectangles*)mso_sptSeal4TextRect, sizeof( mso_sptSeal4TextRect ) / sizeof( SvxMSDffTextRectangles ),
3884 21600, 21600,
3885 Mx80000000, Mx80000000,
3886 NULL, 0,
3887 (SvxMSDffHandle*)mso_sptSealHandle, sizeof( mso_sptSealHandle ) / sizeof( SvxMSDffHandle ) // handles
3888 };
3889
3890 static const SvxMSDffVertPair mso_sptStarVert[] =
3891 {
3892 { 10797, 0 }, { 8278, 8256 }, { 0, 8256 }, { 6722, 13405 },
3893 { 4198, 21600 }, { 10797, 16580 }, { 17401, 21600 }, { 14878, 13405 },
3894 { 21600, 8256 }, { 13321, 8256 }, { 10797, 0 }
3895 };
3896 static const SvxMSDffTextRectangles mso_sptStarTextRect[] =
3897 {
3898 { { 6722, 8256 }, { 14878, 15460 } }
3899 };
3900 static const mso_CustomShape msoStar =
3901 {
3902 (SvxMSDffVertPair*)mso_sptStarVert, sizeof( mso_sptStarVert ) / sizeof( SvxMSDffVertPair ),
3903 NULL, 0,
3904 NULL, 0,
3905 NULL,
3906 (SvxMSDffTextRectangles*)mso_sptStarTextRect, sizeof( mso_sptStarTextRect ) / sizeof( SvxMSDffTextRectangles ),
3907 21600, 21600,
3908 Mx80000000, Mx80000000,
3909 NULL, 0,
3910 NULL, 0 // handles
3911 };
3912
3913 static const SvxMSDffCalculationData mso_sptSeal24Calc[] =
3914 {
3915 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0x00
3916 { 0x2081, { 0x400, 10800, 315 } }, // 0x01 ( textframe )
3917 { 0x2082, { 0x400, 10800, 315 } }, // 0x02
3918 { 0x2081, { 0x400, 10800, 135 } }, // 0x03
3919 { 0x2082, { 0x400, 10800, 135 } }, // 0x04
3920 { 0x0081, { 0, 10800, 0 } },
3921 { 0x0082, { 0, 10800, 0 } },
3922 { 0x2081, { 0x400, 10800, 7 } },
3923 { 0x2082, { 0x400, 10800, 7 } },
3924 { 0x0081, { 0, 10800, 15 } },
3925 { 0x0082, { 0, 10800, 15 } },
3926 { 0x2081, { 0x400, 10800, 22 } },
3927 { 0x2082, { 0x400, 10800, 22 } },
3928 { 0x0081, { 0, 10800, 30 } },
3929 { 0x0082, { 0, 10800, 30 } },
3930 { 0x2081, { 0x400, 10800, 37 } },
3931 { 0x2082, { 0x400, 10800, 37 } },
3932 { 0x0081, { 0, 10800, 45 } },
3933 { 0x0082, { 0, 10800, 45 } },
3934 { 0x2081, { 0x400, 10800, 52 } },
3935 { 0x2082, { 0x400, 10800, 52 } },
3936 { 0x0081, { 0, 10800, 60 } },
3937 { 0x0082, { 0, 10800, 60 } },
3938 { 0x2081, { 0x400, 10800, 67 } },
3939 { 0x2082, { 0x400, 10800, 67 } },
3940 { 0x0081, { 0, 10800, 75 } },
3941 { 0x0082, { 0, 10800, 75 } },
3942 { 0x2081, { 0x400, 10800, 82 } },
3943 { 0x2082, { 0x400, 10800, 82 } },
3944 { 0x0081, { 0, 10800, 90 } },
3945 { 0x0082, { 0, 10800, 90 } },
3946 { 0x2081, { 0x400, 10800, 97 } },
3947 { 0x2082, { 0x400, 10800, 97 } },
3948 { 0x0081, { 0, 10800, 105 } },
3949 { 0x0082, { 0, 10800, 105 } },
3950 { 0x2081, { 0x400, 10800, 112 } },
3951 { 0x2082, { 0x400, 10800, 112 } },
3952 { 0x0081, { 0, 10800, 120 } },
3953 { 0x0082, { 0, 10800, 120 } },
3954 { 0x2081, { 0x400, 10800, 127 } },
3955 { 0x2082, { 0x400, 10800, 127 } },
3956 { 0x0081, { 0, 10800, 135 } },
3957 { 0x0082, { 0, 10800, 135 } },
3958 { 0x2081, { 0x400, 10800, 142 } },
3959 { 0x2082, { 0x400, 10800, 142 } },
3960 { 0x0081, { 0, 10800, 150 } },
3961 { 0x0082, { 0, 10800, 150 } },
3962 { 0x2081, { 0x400, 10800, 157 } },
3963 { 0x2082, { 0x400, 10800, 157 } },
3964 { 0x0081, { 0, 10800, 165 } },
3965 { 0x0082, { 0, 10800, 165 } },
3966 { 0x2081, { 0x400, 10800, 172 } },
3967 { 0x2082, { 0x400, 10800, 172 } },
3968 { 0x0081, { 0, 10800, 180 } },
3969 { 0x0082, { 0, 10800, 180 } },
3970 { 0x2081, { 0x400, 10800, 187 } },
3971 { 0x2082, { 0x400, 10800, 187 } },
3972 { 0x0081, { 0, 10800, 195 } },
3973 { 0x0082, { 0, 10800, 195 } },
3974 { 0x2081, { 0x400, 10800, 202 } },
3975 { 0x2082, { 0x400, 10800, 202 } },
3976 { 0x0081, { 0, 10800, 210 } },
3977 { 0x0082, { 0, 10800, 210 } },
3978 { 0x2081, { 0x400, 10800, 217 } },
3979 { 0x2082, { 0x400, 10800, 217 } },
3980 { 0x0081, { 0, 10800, 225 } },
3981 { 0x0082, { 0, 10800, 225 } },
3982 { 0x2081, { 0x400, 10800, 232 } },
3983 { 0x2082, { 0x400, 10800, 232 } },
3984 { 0x0081, { 0, 10800, 240 } },
3985 { 0x0082, { 0, 10800, 240 } },
3986 { 0x2081, { 0x400, 10800, 247 } },
3987 { 0x2082, { 0x400, 10800, 247 } },
3988 { 0x0081, { 0, 10800, 255 } },
3989 { 0x0082, { 0, 10800, 255 } },
3990 { 0x2081, { 0x400, 10800, 262 } },
3991 { 0x2082, { 0x400, 10800, 262 } },
3992 { 0x0081, { 0, 10800, 270 } },
3993 { 0x0082, { 0, 10800, 270 } },
3994 { 0x2081, { 0x400, 10800, 277 } },
3995 { 0x2082, { 0x400, 10800, 277 } },
3996 { 0x0081, { 0, 10800, 285 } },
3997 { 0x0082, { 0, 10800, 285 } },
3998 { 0x2081, { 0x400, 10800, 292 } },
3999 { 0x2082, { 0x400, 10800, 292 } },
4000 { 0x0081, { 0, 10800, 300 } },
4001 { 0x0082, { 0, 10800, 300 } },
4002 { 0x2081, { 0x400, 10800, 307 } },
4003 { 0x2082, { 0x400, 10800, 307 } },
4004 { 0x0081, { 0, 10800, 315 } },
4005 { 0x0082, { 0, 10800, 315 } },
4006 { 0x2081, { 0x400, 10800, 322 } },
4007 { 0x2082, { 0x400, 10800, 322 } },
4008 { 0x0081, { 0, 10800, 330 } },
4009 { 0x0082, { 0, 10800, 330 } },
4010 { 0x2081, { 0x400, 10800, 337 } },
4011 { 0x2082, { 0x400, 10800, 337 } },
4012 { 0x0081, { 0, 10800, 345 } },
4013 { 0x0082, { 0, 10800, 345 } },
4014 { 0x2081, { 0x400, 10800, 352 } },
4015 { 0x2082, { 0x400, 10800, 352 } }
4016 };
4017 static const SvxMSDffVertPair mso_sptSeal8Vert[] = // adj value 0 -> 10800
4018 {
4019 { 5 MSO_I, 6 MSO_I }, { 11 MSO_I, 12 MSO_I }, { 17 MSO_I, 18 MSO_I }, { 23 MSO_I, 24 MSO_I },
4020 { 29 MSO_I, 30 MSO_I }, { 35 MSO_I, 36 MSO_I }, { 41 MSO_I, 42 MSO_I }, { 47 MSO_I, 48 MSO_I },
4021 { 53 MSO_I, 54 MSO_I }, { 59 MSO_I, 60 MSO_I }, { 65 MSO_I, 66 MSO_I }, { 71 MSO_I, 72 MSO_I },
4022 { 77 MSO_I, 78 MSO_I }, { 83 MSO_I, 84 MSO_I }, { 89 MSO_I, 90 MSO_I }, { 95 MSO_I, 96 MSO_I },
4023 { 5 MSO_I, 6 MSO_I }
4024 };
4025 static const SvxMSDffTextRectangles mso_sptSealTextRect[] =
4026 {
4027 { { 1 MSO_I, 2 MSO_I }, { 3 MSO_I, 4 MSO_I } }
4028 };
4029 static const mso_CustomShape msoSeal8 =
4030 {
4031 (SvxMSDffVertPair*)mso_sptSeal8Vert, sizeof( mso_sptSeal8Vert ) / sizeof( SvxMSDffVertPair ),
4032 NULL, 0,
4033 (SvxMSDffCalculationData*)mso_sptSeal24Calc, sizeof( mso_sptSeal24Calc ) / sizeof( SvxMSDffCalculationData ),
4034 (sal_Int32*)mso_sptDefault2500,
4035 (SvxMSDffTextRectangles*)mso_sptSealTextRect, sizeof( mso_sptSealTextRect ) / sizeof( SvxMSDffTextRectangles ),
4036 21600, 21600,
4037 Mx80000000, Mx80000000,
4038 NULL, 0,
4039 (SvxMSDffHandle*)mso_sptSealHandle, sizeof( mso_sptSealHandle ) / sizeof( SvxMSDffHandle ) // handles
4040 };
4041 static const SvxMSDffVertPair mso_sptSeal16Vert[] = // adj value 0 -> 10800
4042 {
4043 { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
4044 { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
4045 { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
4046 { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
4047 { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
4048 { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
4049 { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
4050 { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
4051 { 0x05 MSO_I, 0x06 MSO_I }
4052 };
4053 static const SvxMSDffCalculationData mso_sptSeal16Calc[] =
4054 {
4055 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0x00
4056 { 0x2081, { 0x400, 10800, 315 } }, // 0x01 ( textframe )
4057 { 0x2082, { 0x400, 10800, 315 } }, // 0x02
4058 { 0x2081, { 0x400, 10800, 135 } }, // 0x03
4059 { 0x2082, { 0x400, 10800, 135 } }, // 0x04
4060 { 0x0081, { 0, 10800, 0 } },
4061 { 0x0082, { 0, 10800, 0 } },
4062 { 0x2081, { 0x400, 10800, 11 } },
4063 { 0x2082, { 0x400, 10800, 11 } },
4064 { 0x0081, { 0, 10800, 22 } },
4065 { 0x0082, { 0, 10800, 22 } },
4066 { 0x2081, { 0x400, 10800, 33 } },
4067 { 0x2082, { 0x400, 10800, 33 } },
4068 { 0x0081, { 0, 10800, 45 } },
4069 { 0x0082, { 0, 10800, 45 } },
4070 { 0x2081, { 0x400, 10800, 56 } },
4071 { 0x2082, { 0x400, 10800, 56 } },
4072 { 0x0081, { 0, 10800, 67 } },
4073 { 0x0082, { 0, 10800, 67 } },
4074 { 0x2081, { 0x400, 10800, 78 } },
4075 { 0x2082, { 0x400, 10800, 78 } },
4076 { 0x0081, { 0, 10800, 90 } },
4077 { 0x0082, { 0, 10800, 90 } },
4078 { 0x2081, { 0x400, 10800, 101 } },
4079 { 0x2082, { 0x400, 10800, 101 } },
4080 { 0x0081, { 0, 10800, 112 } },
4081 { 0x0082, { 0, 10800, 112 } },
4082 { 0x2081, { 0x400, 10800, 123 } },
4083 { 0x2082, { 0x400, 10800, 123 } },
4084 { 0x0081, { 0, 10800, 135 } },
4085 { 0x0082, { 0, 10800, 135 } },
4086 { 0x2081, { 0x400, 10800, 146 } },
4087 { 0x2082, { 0x400, 10800, 146 } },
4088 { 0x0081, { 0, 10800, 157 } },
4089 { 0x0082, { 0, 10800, 157 } },
4090 { 0x2081, { 0x400, 10800, 168 } },
4091 { 0x2082, { 0x400, 10800, 168 } },
4092 { 0x0081, { 0, 10800, 180 } },
4093 { 0x0082, { 0, 10800, 180 } },
4094 { 0x2081, { 0x400, 10800, 191 } },
4095 { 0x2082, { 0x400, 10800, 191 } },
4096 { 0x0081, { 0, 10800, 202 } },
4097 { 0x0082, { 0, 10800, 202 } },
4098 { 0x2081, { 0x400, 10800, 213 } },
4099 { 0x2082, { 0x400, 10800, 213 } },
4100 { 0x0081, { 0, 10800, 225 } },
4101 { 0x0082, { 0, 10800, 225 } },
4102 { 0x2081, { 0x400, 10800, 236 } },
4103 { 0x2082, { 0x400, 10800, 236 } },
4104 { 0x0081, { 0, 10800, 247 } },
4105 { 0x0082, { 0, 10800, 247 } },
4106 { 0x2081, { 0x400, 10800, 258 } },
4107 { 0x2082, { 0x400, 10800, 258 } },
4108 { 0x0081, { 0, 10800, 270 } },
4109 { 0x0082, { 0, 10800, 270 } },
4110 { 0x2081, { 0x400, 10800, 281 } },
4111 { 0x2082, { 0x400, 10800, 281 } },
4112 { 0x0081, { 0, 10800, 292 } },
4113 { 0x0082, { 0, 10800, 292 } },
4114 { 0x2081, { 0x400, 10800, 303 } },
4115 { 0x2082, { 0x400, 10800, 303 } },
4116 { 0x0081, { 0, 10800, 315 } },
4117 { 0x0082, { 0, 10800, 315 } },
4118 { 0x2081, { 0x400, 10800, 326 } },
4119 { 0x2082, { 0x400, 10800, 326 } },
4120 { 0x0081, { 0, 10800, 337 } },
4121 { 0x0082, { 0, 10800, 337 } },
4122 { 0x2081, { 0x400, 10800, 348 } },
4123 { 0x2082, { 0x400, 10800, 348 } }
4124 };
4125 static const mso_CustomShape msoSeal16 =
4126 {
4127 (SvxMSDffVertPair*)mso_sptSeal16Vert, sizeof( mso_sptSeal16Vert ) / sizeof( SvxMSDffVertPair ),
4128 NULL, 0,
4129 (SvxMSDffCalculationData*)mso_sptSeal16Calc, sizeof( mso_sptSeal16Calc ) / sizeof( SvxMSDffCalculationData ),
4130 (sal_Int32*)mso_sptDefault2500,
4131 (SvxMSDffTextRectangles*)mso_sptSealTextRect, sizeof( mso_sptSealTextRect ) / sizeof( SvxMSDffTextRectangles ),
4132 21600, 21600,
4133 Mx80000000, Mx80000000,
4134 NULL, 0,
4135 (SvxMSDffHandle*)mso_sptSealHandle, sizeof( mso_sptSealHandle ) / sizeof( SvxMSDffHandle ) // handles
4136 };
4137 static const SvxMSDffVertPair mso_sptSeal24Vert[] =
4138 {
4139 { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
4140 { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
4141 { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
4142 { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
4143 { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
4144 { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
4145 { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
4146 { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
4147 { 0x45 MSO_I, 0x46 MSO_I }, { 0x47 MSO_I, 0x48 MSO_I }, { 0x49 MSO_I, 0x4a MSO_I }, { 0x4b MSO_I, 0x4c MSO_I },
4148 { 0x4d MSO_I, 0x4e MSO_I }, { 0x4f MSO_I, 0x50 MSO_I }, { 0x51 MSO_I, 0x52 MSO_I }, { 0x53 MSO_I, 0x54 MSO_I },
4149 { 0x55 MSO_I, 0x56 MSO_I }, { 0x57 MSO_I, 0x58 MSO_I }, { 0x59 MSO_I, 0x5a MSO_I }, { 0x5b MSO_I, 0x5c MSO_I },
4150 { 0x5d MSO_I, 0x5e MSO_I }, { 0x5f MSO_I, 0x60 MSO_I }, { 0x61 MSO_I, 0x62 MSO_I }, { 0x63 MSO_I, 0x64 MSO_I },
4151 { 0x05 MSO_I, 0x06 MSO_I }
4152 };
4153 static const mso_CustomShape msoSeal24 =
4154 {
4155 (SvxMSDffVertPair*)mso_sptSeal24Vert, sizeof( mso_sptSeal24Vert ) / sizeof( SvxMSDffVertPair ),
4156 NULL, 0,
4157 (SvxMSDffCalculationData*)mso_sptSeal24Calc, sizeof( mso_sptSeal24Calc ) / sizeof( SvxMSDffCalculationData ),
4158 (sal_Int32*)mso_sptDefault2500,
4159 (SvxMSDffTextRectangles*)mso_sptSealTextRect, sizeof( mso_sptSealTextRect ) / sizeof( SvxMSDffTextRectangles ),
4160 21600, 21600,
4161 Mx80000000, Mx80000000,
4162 NULL, 0,
4163 (SvxMSDffHandle*)mso_sptSealHandle, sizeof( mso_sptSealHandle ) / sizeof( SvxMSDffHandle ) // handles
4164 };
4165 static const SvxMSDffCalculationData mso_sptSeal32Calc[] =
4166 {
4167 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0x00
4168 { 0x2081, { 0x400, 10800, 315 } }, // 0x01 ( textframe )
4169 { 0x2082, { 0x400, 10800, 315 } }, // 0x02
4170 { 0x2081, { 0x400, 10800, 135 } }, // 0x03
4171 { 0x2082, { 0x400, 10800, 135 } }, // 0x04
4172 { 0x0081, { 0, 10800, 0 } },
4173 { 0x0082, { 0, 10800, 0 } },
4174 { 0x2081, { 0x400, 10800, 5 } },
4175 { 0x2082, { 0x400, 10800, 5 } },
4176 { 0x0081, { 0, 10800, 11 } },
4177 { 0x0082, { 0, 10800, 11 } },
4178 { 0x2081, { 0x400, 10800, 16 } },
4179 { 0x2082, { 0x400, 10800, 16 } },
4180 { 0x0081, { 0, 10800, 22 } },
4181 { 0x0082, { 0, 10800, 22 } },
4182 { 0x2081, { 0x400, 10800, 28 } },
4183 { 0x2082, { 0x400, 10800, 28 } },
4184 { 0x0081, { 0, 10800, 33 } },
4185 { 0x0082, { 0, 10800, 33 } },
4186 { 0x2081, { 0x400, 10800, 39 } },
4187 { 0x2082, { 0x400, 10800, 39 } },
4188 { 0x0081, { 0, 10800, 45 } },
4189 { 0x0082, { 0, 10800, 45 } },
4190 { 0x2081, { 0x400, 10800, 50 } },
4191 { 0x2082, { 0x400, 10800, 50 } },
4192 { 0x0081, { 0, 10800, 56 } },
4193 { 0x0082, { 0, 10800, 56 } },
4194 { 0x2081, { 0x400, 10800, 61 } },
4195 { 0x2082, { 0x400, 10800, 61 } },
4196 { 0x0081, { 0, 10800, 67 } },
4197 { 0x0082, { 0, 10800, 67 } },
4198 { 0x2081, { 0x400, 10800, 73 } },
4199 { 0x2082, { 0x400, 10800, 73 } },
4200 { 0x0081, { 0, 10800, 78 } },
4201 { 0x0082, { 0, 10800, 78 } },
4202 { 0x2081, { 0x400, 10800, 84 } },
4203 { 0x2082, { 0x400, 10800, 84 } },
4204 { 0x0081, { 0, 10800, 90 } },
4205 { 0x0082, { 0, 10800, 90 } },
4206 { 0x2081, { 0x400, 10800, 95 } },
4207 { 0x2082, { 0x400, 10800, 95 } },
4208 { 0x0081, { 0, 10800, 101 } },
4209 { 0x0082, { 0, 10800, 101 } },
4210 { 0x2081, { 0x400, 10800, 106 } },
4211 { 0x2082, { 0x400, 10800, 106 } },
4212 { 0x0081, { 0, 10800, 112 } },
4213 { 0x0082, { 0, 10800, 112 } },
4214 { 0x2081, { 0x400, 10800, 118 } },
4215 { 0x2082, { 0x400, 10800, 118 } },
4216 { 0x0081, { 0, 10800, 123 } },
4217 { 0x0082, { 0, 10800, 123 } },
4218 { 0x2081, { 0x400, 10800, 129 } },
4219 { 0x2082, { 0x400, 10800, 129 } },
4220 { 0x0081, { 0, 10800, 135 } },
4221 { 0x0082, { 0, 10800, 135 } },
4222 { 0x2081, { 0x400, 10800, 140 } },
4223 { 0x2082, { 0x400, 10800, 140 } },
4224 { 0x0081, { 0, 10800, 146 } },
4225 { 0x0082, { 0, 10800, 146 } },
4226 { 0x2081, { 0x400, 10800, 151 } },
4227 { 0x2082, { 0x400, 10800, 151 } },
4228 { 0x0081, { 0, 10800, 157 } },
4229 { 0x0082, { 0, 10800, 157 } },
4230 { 0x2081, { 0x400, 10800, 163 } },
4231 { 0x2082, { 0x400, 10800, 163 } },
4232 { 0x0081, { 0, 10800, 168 } },
4233 { 0x0082, { 0, 10800, 168 } },
4234 { 0x2081, { 0x400, 10800, 174 } },
4235 { 0x2082, { 0x400, 10800, 174 } },
4236 { 0x0081, { 0, 10800, 180 } },
4237 { 0x0082, { 0, 10800, 180 } },
4238 { 0x2081, { 0x400, 10800, 185 } },
4239 { 0x2082, { 0x400, 10800, 185 } },
4240 { 0x0081, { 0, 10800, 191 } },
4241 { 0x0082, { 0, 10800, 191 } },
4242 { 0x2081, { 0x400, 10800, 196 } },
4243 { 0x2082, { 0x400, 10800, 196 } },
4244 { 0x0081, { 0, 10800, 202 } },
4245 { 0x0082, { 0, 10800, 202 } },
4246 { 0x2081, { 0x400, 10800, 208 } },
4247 { 0x2082, { 0x400, 10800, 208 } },
4248 { 0x0081, { 0, 10800, 213 } },
4249 { 0x0082, { 0, 10800, 213 } },
4250 { 0x2081, { 0x400, 10800, 219 } },
4251 { 0x2082, { 0x400, 10800, 219 } },
4252 { 0x0081, { 0, 10800, 225 } },
4253 { 0x0082, { 0, 10800, 225 } },
4254 { 0x2081, { 0x400, 10800, 230 } },
4255 { 0x2082, { 0x400, 10800, 230 } },
4256 { 0x0081, { 0, 10800, 236 } },
4257 { 0x0082, { 0, 10800, 236 } },
4258 { 0x2081, { 0x400, 10800, 241 } },
4259 { 0x2082, { 0x400, 10800, 241 } },
4260 { 0x0081, { 0, 10800, 247 } },
4261 { 0x0082, { 0, 10800, 247 } },
4262 { 0x2081, { 0x400, 10800, 253 } },
4263 { 0x2082, { 0x400, 10800, 253 } },
4264 { 0x0081, { 0, 10800, 258 } },
4265 { 0x0082, { 0, 10800, 258 } },
4266 { 0x2081, { 0x400, 10800, 264 } },
4267 { 0x2082, { 0x400, 10800, 264 } },
4268 { 0x0081, { 0, 10800, 270 } },
4269 { 0x0082, { 0, 10800, 270 } },
4270 { 0x2081, { 0x400, 10800, 275 } },
4271 { 0x2082, { 0x400, 10800, 275 } },
4272 { 0x0081, { 0, 10800, 281 } },
4273 { 0x0082, { 0, 10800, 281 } },
4274 { 0x2081, { 0x400, 10800, 286 } },
4275 { 0x2082, { 0x400, 10800, 286 } },
4276 { 0x0081, { 0, 10800, 292 } },
4277 { 0x0082, { 0, 10800, 292 } },
4278 { 0x2081, { 0x400, 10800, 298 } },
4279 { 0x2082, { 0x400, 10800, 298 } },
4280 { 0x0081, { 0, 10800, 303 } },
4281 { 0x0082, { 0, 10800, 303 } },
4282 { 0x2081, { 0x400, 10800, 309 } },
4283 { 0x2082, { 0x400, 10800, 309 } },
4284 { 0x0081, { 0, 10800, 315 } },
4285 { 0x0082, { 0, 10800, 315 } },
4286 { 0x2081, { 0x400, 10800, 320 } },
4287 { 0x2082, { 0x400, 10800, 320 } },
4288 { 0x0081, { 0, 10800, 326 } },
4289 { 0x0082, { 0, 10800, 326 } },
4290 { 0x2081, { 0x400, 10800, 331 } },
4291 { 0x2082, { 0x400, 10800, 331 } },
4292 { 0x0081, { 0, 10800, 337 } },
4293 { 0x0082, { 0, 10800, 337 } },
4294 { 0x2081, { 0x400, 10800, 343 } },
4295 { 0x2082, { 0x400, 10800, 343 } },
4296 { 0x0081, { 0, 10800, 348 } },
4297 { 0x0082, { 0, 10800, 348 } },
4298 { 0x2081, { 0x400, 10800, 354 } },
4299 { 0x2082, { 0x400, 10800, 354 } }
4300 };
4301 static const SvxMSDffVertPair mso_sptSeal32Vert[] =
4302 {
4303 { 0x05 MSO_I, 0x06 MSO_I }, { 0x07 MSO_I, 0x08 MSO_I }, { 0x09 MSO_I, 0x0a MSO_I }, { 0x0b MSO_I, 0x0c MSO_I },
4304 { 0x0d MSO_I, 0x0e MSO_I }, { 0x0f MSO_I, 0x10 MSO_I }, { 0x11 MSO_I, 0x12 MSO_I }, { 0x13 MSO_I, 0x14 MSO_I },
4305 { 0x15 MSO_I, 0x16 MSO_I }, { 0x17 MSO_I, 0x18 MSO_I }, { 0x19 MSO_I, 0x1a MSO_I }, { 0x1b MSO_I, 0x1c MSO_I },
4306 { 0x1d MSO_I, 0x1e MSO_I }, { 0x1f MSO_I, 0x20 MSO_I }, { 0x21 MSO_I, 0x22 MSO_I }, { 0x23 MSO_I, 0x24 MSO_I },
4307 { 0x25 MSO_I, 0x26 MSO_I }, { 0x27 MSO_I, 0x28 MSO_I }, { 0x29 MSO_I, 0x2a MSO_I }, { 0x2b MSO_I, 0x2c MSO_I },
4308 { 0x2d MSO_I, 0x2e MSO_I }, { 0x2f MSO_I, 0x30 MSO_I }, { 0x31 MSO_I, 0x32 MSO_I }, { 0x33 MSO_I, 0x34 MSO_I },
4309 { 0x35 MSO_I, 0x36 MSO_I }, { 0x37 MSO_I, 0x38 MSO_I }, { 0x39 MSO_I, 0x3a MSO_I }, { 0x3b MSO_I, 0x3c MSO_I },
4310 { 0x3d MSO_I, 0x3e MSO_I }, { 0x3f MSO_I, 0x40 MSO_I }, { 0x41 MSO_I, 0x42 MSO_I }, { 0x43 MSO_I, 0x44 MSO_I },
4311 { 0x45 MSO_I, 0x46 MSO_I }, { 0x47 MSO_I, 0x48 MSO_I }, { 0x49 MSO_I, 0x4a MSO_I }, { 0x4b MSO_I, 0x4c MSO_I },
4312 { 0x4d MSO_I, 0x4e MSO_I }, { 0x4f MSO_I, 0x50 MSO_I }, { 0x51 MSO_I, 0x52 MSO_I }, { 0x53 MSO_I, 0x54 MSO_I },
4313 { 0x55 MSO_I, 0x56 MSO_I }, { 0x57 MSO_I, 0x58 MSO_I }, { 0x59 MSO_I, 0x5a MSO_I }, { 0x5b MSO_I, 0x5c MSO_I },
4314 { 0x5d MSO_I, 0x5e MSO_I }, { 0x5f MSO_I, 0x60 MSO_I }, { 0x61 MSO_I, 0x62 MSO_I }, { 0x63 MSO_I, 0x64 MSO_I },
4315 { 0x65 MSO_I, 0x66 MSO_I }, { 0x67 MSO_I, 0x68 MSO_I }, { 0x69 MSO_I, 0x6a MSO_I }, { 0x6b MSO_I, 0x6c MSO_I },
4316 { 0x6d MSO_I, 0x6e MSO_I }, { 0x6f MSO_I, 0x70 MSO_I }, { 0x71 MSO_I, 0x72 MSO_I }, { 0x73 MSO_I, 0x74 MSO_I },
4317 { 0x75 MSO_I, 0x76 MSO_I }, { 0x77 MSO_I, 0x78 MSO_I }, { 0x79 MSO_I, 0x7a MSO_I }, { 0x7b MSO_I, 0x7c MSO_I },
4318 { 0x7d MSO_I, 0x7e MSO_I }, { 0x7f MSO_I, 0x80 MSO_I }, { 0x81 MSO_I, 0x82 MSO_I }, { 0x83 MSO_I, 0x84 MSO_I },
4319 { 0x05 MSO_I, 0x06 MSO_I }
4320 };
4321 static const mso_CustomShape msoSeal32 =
4322 {
4323 (SvxMSDffVertPair*)mso_sptSeal32Vert, sizeof( mso_sptSeal32Vert ) / sizeof( SvxMSDffVertPair ),
4324 NULL, 0,
4325 (SvxMSDffCalculationData*)mso_sptSeal32Calc, sizeof( mso_sptSeal32Calc ) / sizeof( SvxMSDffCalculationData ),
4326 (sal_Int32*)mso_sptDefault2500,
4327 (SvxMSDffTextRectangles*)mso_sptSealTextRect, sizeof( mso_sptSealTextRect ) / sizeof( SvxMSDffTextRectangles ),
4328 21600, 21600,
4329 Mx80000000, Mx80000000,
4330 NULL, 0,
4331 (SvxMSDffHandle*)mso_sptSealHandle, sizeof( mso_sptSealHandle ) / sizeof( SvxMSDffHandle )
4332 };
4333
4334 static const SvxMSDffVertPair mso_sptRibbon2Vert[] = // adjustment1 : x 2700 - 8100 def 5400
4335 { // adjustment2 : y 14400 - 21600 def 18900
4336 { 12 MSO_I, 1 MSO_I }, { 12 MSO_I, 13 MSO_I }, // pp
4337 { 12 MSO_I, 14 MSO_I }, { 15 MSO_I, 21600 }, { 16 MSO_I, 21600 }, // ccp
4338 { 0, 21600 }, { 2750, 7 MSO_I }, { 0, 2 MSO_I }, { 0 MSO_I, 2 MSO_I }, // pppp
4339 { 0 MSO_I, 4 MSO_I }, // p
4340 { 0 MSO_I, 5 MSO_I }, { 10 MSO_I, 0 }, { 11 MSO_I, 0 }, // ccp
4341 { 17 MSO_I, 0 }, // p
4342 { 18 MSO_I, 0 }, { 19 MSO_I, 5 MSO_I }, { 19 MSO_I, 4 MSO_I }, // ccp
4343 { 19 MSO_I, 2 MSO_I }, { 21600, 2 MSO_I }, { 18850, 7 MSO_I }, { 21600, 21600 }, // pppp
4344 { 20 MSO_I, 21600 }, // p
4345 { 21 MSO_I, 21600 }, { 22 MSO_I, 14 MSO_I }, { 22 MSO_I, 13 MSO_I }, // ccp
4346 { 22 MSO_I, 1 MSO_I }, { 12 MSO_I, 1 MSO_I }, { 12 MSO_I, 13 MSO_I }, // ppp
4347 { 12 MSO_I, 23 MSO_I }, { 15 MSO_I, 24 MSO_I }, { 16 MSO_I, 24 MSO_I }, // ccp
4348 { 11 MSO_I, 24 MSO_I }, // p
4349 { 10 MSO_I, 24 MSO_I }, { 0 MSO_I, 26 MSO_I }, { 0 MSO_I, 25 MSO_I }, // ccp
4350 { 0 MSO_I, 27 MSO_I }, { 10 MSO_I, 1 MSO_I }, { 11 MSO_I, 1 MSO_I }, // ccp
4351
4352 { 22 MSO_I, 1 MSO_I }, { 22 MSO_I, 13 MSO_I }, // pp
4353 { 22 MSO_I, 23 MSO_I }, { 21 MSO_I, 24 MSO_I }, { 20 MSO_I, 24 MSO_I }, // ccp
4354 { 17 MSO_I, 24 MSO_I }, // p
4355 { 18 MSO_I, 24 MSO_I }, { 19 MSO_I, 26 MSO_I }, { 19 MSO_I, 25 MSO_I }, // ccp
4356 { 19 MSO_I, 27 MSO_I }, { 18 MSO_I, 1 MSO_I }, { 17 MSO_I, 1 MSO_I }, // ccp
4357
4358 { 0 MSO_I, 25 MSO_I }, { 0 MSO_I, 2 MSO_I }, // pp
4359
4360 { 19 MSO_I, 25 MSO_I }, { 19 MSO_I, 2 MSO_I } // pp
4361 };
4362 static const sal_uInt16 mso_sptRibbon2Segm[] =
4363 {
4364 0x4000, 0x0001, 0x2001, 0x0005, 0x2001, 0x0001, 0x2001, 0x0005, 0x2001, 0x0001, 0x6001, 0x8000,
4365 0x4000, 0x0001, 0x2001, 0x0001, 0x2002, 0x6001, 0x8000,
4366 0x4000, 0x0001, 0x2001, 0x0001, 0x2002, 0x6001, 0x8000,
4367 0x4000, 0x0001, 0x8000,
4368 0x4000, 0x0001, 0x8000
4369 };
4370 static const SvxMSDffCalculationData mso_sptRibbon2Calc[] =
4371 {
4372 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 00
4373 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 01
4374 { 0x8000, { 21600, 0, 0x401 } }, // 02
4375 { 0x2001, { 0x402, 1, 2 } }, // 03
4376 { 0x2001, { 0x403, 1, 2 } }, // 04
4377 { 0x2001, { 0x404, 1, 2 } }, // 05
4378 { 0x2001, { 0x401, 1, 2 } }, // 06
4379 { 0x8000, { 21600, 0, 0x406 } }, // 07
4380 { 0x0000, { 420, 0, 0 } }, // 08
4381 { 0x2001, { 0x408, 2, 1 } }, // 09
4382 { 0x6000, { 0x400, 0x408, 0 } }, // 10
4383 { 0x6000, { 0x400, 0x409, 0 } }, // 11
4384 { 0x2000, { 0x400, 2700, 0 } }, // 12
4385 { 0x8000, { 21600, 0, 0x404 } }, // 13
4386 { 0x8000, { 21600, 0, 0x405 } }, // 14
4387 { 0xa000, { 0x40c, 0, 0x408 } }, // 15
4388 { 0xa000, { 0x40c, 0, 0x409 } }, // 16
4389
4390 { 0x8000, { 21600, 0, 0x40b } }, // 17
4391 { 0x8000, { 21600, 0, 0x40a } }, // 18
4392 { 0x8000, { 21600, 0, 0x400 } }, // 19
4393 { 0x8000, { 21600, 0, 0x410 } }, // 20
4394 { 0x8000, { 21600, 0, 0x40f } }, // 21
4395 { 0x8000, { 21600, 0, 0x40c } }, // 22
4396
4397 { 0xa000, { 0x40d, 0, 0x405 } }, // 23
4398 { 0x6000, { 0x401, 0x403, 0 } }, // 24
4399 { 0x6000, { 0x401, 0x404, 0 } }, // 25
4400 { 0x6000, { 0x419, 0x405, 0 } }, // 26
4401 { 0xa000, { 0x419, 0, 0x405 } } // 27
4402 };
4403 static const sal_Int32 mso_sptRibbon2Default[] =
4404 {
4405 2, 5400, 18900
4406 };
4407 static const SvxMSDffTextRectangles mso_sptRibbon2TextRect[] =
4408 {
4409 { { 0 MSO_I, 0 }, { 19 MSO_I, 1 MSO_I } }
4410 };
4411 static const SvxMSDffHandle mso_sptRibbon2Handle[] =
4412 {
4413 { MSDFF_HANDLE_FLAGS_RANGE,
4414 0x100, 0, 10800, 10800, 2700, 8100, Mx80000000, 0x7fffffff },
4415 { MSDFF_HANDLE_FLAGS_RANGE,
4416 10800, 0x101, 10800, 10800, Mx80000000, 0x7fffffff, 14400, 21600 }
4417 };
4418 static const mso_CustomShape msoRibbon2 =
4419 {
4420 (SvxMSDffVertPair*)mso_sptRibbon2Vert, sizeof( mso_sptRibbon2Vert ) / sizeof( SvxMSDffVertPair ),
4421 (sal_uInt16*)mso_sptRibbon2Segm, sizeof( mso_sptRibbon2Segm ) >> 1,
4422 (SvxMSDffCalculationData*)mso_sptRibbon2Calc, sizeof( mso_sptRibbon2Calc ) / sizeof( SvxMSDffCalculationData ),
4423 (sal_Int32*)mso_sptRibbon2Default,
4424 (SvxMSDffTextRectangles*)mso_sptRibbon2TextRect, sizeof( mso_sptRibbon2TextRect ) / sizeof( SvxMSDffTextRectangles ),
4425 21600, 21600,
4426 Mx80000000, Mx80000000,
4427 NULL, 0,
4428 (SvxMSDffHandle*)mso_sptRibbon2Handle, sizeof( mso_sptRibbon2Handle ) / sizeof( SvxMSDffHandle )
4429 };
4430
4431 static const SvxMSDffVertPair mso_sptRibbonVert[] =
4432 {
4433 { 0, 0 }, { 3 MSO_I, 0 },
4434 { 4 MSO_I, 11 MSO_I }, { 4 MSO_I, 10 MSO_I }, { 5 MSO_I, 10 MSO_I }, { 5 MSO_I, 11 MSO_I },
4435 { 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 },
4436 { 0 MSO_I, 16 MSO_I }, { 0 MSO_I, 15 MSO_I }, { 0, 15 MSO_I }, { 2700, 14 MSO_I },
4437
4438 { 4 MSO_I, 11 MSO_I },
4439 { 3 MSO_I, 12 MSO_I }, { 1 MSO_I, 12 MSO_I },
4440 { 0 MSO_I, 13 MSO_I }, { 1 MSO_I, 10 MSO_I }, { 4 MSO_I, 10 MSO_I },
4441 { 5 MSO_I, 11 MSO_I },
4442 { 6 MSO_I, 12 MSO_I }, { 8 MSO_I, 12 MSO_I },
4443 { 9 MSO_I, 13 MSO_I }, { 8 MSO_I, 10 MSO_I }, { 5 MSO_I, 10 MSO_I },
4444 { 0 MSO_I, 13 MSO_I },
4445 { 0 MSO_I, 15 MSO_I },
4446 { 9 MSO_I, 13 MSO_I },
4447 { 9 MSO_I, 15 MSO_I }
4448 };
4449 static const sal_uInt16 mso_sptRibbonSegm[] =
4450 {
4451 0x4000, 0x0001, 0xa701, 0x0003, 0xa801, 0x0005, 0xa801, 0x0001, 0xa701, 0x0003, 0x6000, 0x8000,
4452 0x4000, 0xaa00, 0xa801, 0x0001, 0xa702, 0x0001, 0x8000,
4453 0x4000, 0xaa00, 0xa801, 0x0001, 0xa702, 0x0001, 0x8000,
4454 0x4000, 0xaa00, 0x0001, 0x8000,
4455 0x4000, 0xaa00, 0x0001, 0x8000
4456 };
4457 static const SvxMSDffCalculationData mso_sptRibbonCalc[] =
4458 {
4459 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 00
4460 { 0x2000, { 0x400, 675, 0 } }, // 01
4461 { 0x2000, { 0x401, 675, 0 } }, // 02
4462 { 0x2000, { 0x402, 675, 0 } }, // 03
4463 { 0x2000, { 0x403, 675, 0 } }, // 04
4464 { 0x8000, { 21600, 0, 0x404 } }, // 05
4465 { 0x8000, { 21600, 0, 0x403 } }, // 06
4466 { 0x8000, { 21600, 0, 0x402 } }, // 07
4467 { 0x8000, { 21600, 0, 0x401 } }, // 08
4468 { 0x8000, { 21600, 0, 0x400 } }, // 09
4469 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 10
4470 { 0x2001, { 0x40a, 1, 4 } }, // 11
4471 { 0x2001, { 0x40b, 2, 1 } }, // 12
4472 { 0x2001, { 0x40b, 3, 1 } }, // 13
4473 { 0x8000, { 10800, 0, 0x40c } }, // 14
4474 { 0x8000, { 21600, 0, 0x40a } }, // 15
4475 { 0x8000, { 21600, 0, 0x40b } }, // 16
4476 { 0x0001, { 21600, 1, 2 } }, // 17
4477 { 0x0000, { 21600, 0, 2700 } }, // 18
4478 { 0x2000, { 0x411, 0, 2700 } } // 19
4479 };
4480 static const sal_Int32 mso_sptRibbonDefault[] =
4481 {
4482 2, 5400, 2700
4483 };
4484 static const SvxMSDffTextRectangles mso_sptRibbonTextRect[] =
4485 {
4486 { { 0 MSO_I, 10 MSO_I }, { 9 MSO_I, 21600 } }
4487 };
4488 static const SvxMSDffVertPair mso_sptRibbonGluePoints[] =
4489 {
4490 { 17 MSO_I, 10 MSO_I }, { 2700, 14 MSO_I }, { 17 MSO_I, 21600 }, { 18 MSO_I, 14 MSO_I }
4491 };
4492 static const SvxMSDffHandle mso_sptRibbonHandle[] =
4493 {
4494 { MSDFF_HANDLE_FLAGS_RANGE,
4495 0x100, 0, 10800, 10800, 2700, 8100, Mx80000000, 0x7fffffff },
4496 { MSDFF_HANDLE_FLAGS_RANGE,
4497 10800, 0x101, 10800, 10800, Mx80000000, 0x7fffffff, 0, 7200 }
4498 };
4499 static const mso_CustomShape msoRibbon =
4500 {
4501 (SvxMSDffVertPair*)mso_sptRibbonVert, sizeof( mso_sptRibbonVert ) / sizeof( SvxMSDffVertPair ),
4502 (sal_uInt16*)mso_sptRibbonSegm, sizeof( mso_sptRibbonSegm ) >> 1,
4503 (SvxMSDffCalculationData*)mso_sptRibbonCalc, sizeof( mso_sptRibbonCalc ) / sizeof( SvxMSDffCalculationData ),
4504 (sal_Int32*)mso_sptRibbonDefault,
4505 (SvxMSDffTextRectangles*)mso_sptRibbonTextRect, sizeof( mso_sptRibbonTextRect ) / sizeof( SvxMSDffTextRectangles ),
4506 21600, 21600,
4507 Mx80000000, Mx80000000,
4508 (SvxMSDffVertPair*)mso_sptRibbonGluePoints, sizeof( mso_sptRibbonGluePoints ) / sizeof( SvxMSDffVertPair ),
4509 (SvxMSDffHandle*)mso_sptRibbonHandle, sizeof( mso_sptRibbonHandle ) / sizeof( SvxMSDffHandle )
4510 };
4511 //msosptEllipseRibbon
4512 //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
4513 //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
4514 static const SvxMSDffVertPair mso_sptEllipseRibbonVert[] =
4515 {
4516 { 9 MSO_I , 38 MSO_I },
4517 { 8 MSO_I , 37 MSO_I },
4518 { 0 , 27 MSO_I },
4519 { 0 MSO_I , 26 MSO_I },
4520 { 9 MSO_I , 13 MSO_I },
4521 { 8 MSO_I , 4 MSO_I },
4522 { 0 MSO_I , 25 MSO_I },
4523 { 22 MSO_I , 25 MSO_I },
4524 { 9 MSO_I , 38 MSO_I },
4525 { 8 MSO_I , 37 MSO_I },
4526 { 22 MSO_I , 26 MSO_I },
4527 { 3 MSO_I , 27 MSO_I },
4528 { 7 MSO_I , 40 MSO_I },
4529 { 3 MSO_I , 0 },
4530 { 9 MSO_I , 35 MSO_I },
4531 { 8 MSO_I , 10 MSO_I },
4532 { 3 MSO_I , 0 },
4533 { 21 MSO_I , 33 MSO_I },
4534 { 9 MSO_I , 36 MSO_I },
4535 { 8 MSO_I , 1 MSO_I },
4536 { 21 MSO_I , 31 MSO_I },
4537 { 20 MSO_I , 31 MSO_I },
4538 { 9 MSO_I , 35 MSO_I },
4539 { 8 MSO_I , 10 MSO_I },
4540 { 20 MSO_I , 33 MSO_I },
4541 { 0 , 0 },
4542 { 5 MSO_I , 40 MSO_I },
4543 { 9 MSO_I , 36 MSO_I },
4544 { 8 MSO_I , 1 MSO_I },
4545 { 20 MSO_I , 31 MSO_I },
4546 { 0 MSO_I , 32 MSO_I },
4547 { 20 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 { 22 MSO_I , 32 MSO_I },
4552 { 21 MSO_I , 33 MSO_I },
4553 { 0 MSO_I , 26 MSO_I },
4554 { 0 MSO_I , 32 MSO_I },
4555 { 22 MSO_I , 26 MSO_I },
4556 { 22 MSO_I , 32 MSO_I }
4557 };
4558
4559 static const sal_uInt16 mso_sptEllipseRibbonSegm[] =
4560 {
4561 0xa30c /*ar*/,0x0002/*l*/,0xa50c/*wa*/,0x0001/*l*/,
4562 0x6001/*x*/, 0x8000/*e*/,0xa504/*wr*/,0xaa00/*nf*/,
4563 0x0001/*l*/, 0x8000/*e*/,0xa304/*ar*/,0xaa00/*nf*/,
4564 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
4565 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
4566 0x0001/*l*/, 0x8000/*e*/
4567 };
4568
4569 static const SvxMSDffCalculationData mso_sptEllipseRibbonCalc[] =
4570 {
4571 { 0x2000 , { DFF_Prop_adjustValue , 0 , 0 } }, //val #0
4572 { 0x2000 , { DFF_Prop_adjust2Value , 0 , 0 } }, //val #1
4573 { 0x2000 , { DFF_Prop_adjust3Value , 0 , 0 } }, //val #2
4574 { 0x2000 , { DFF_Prop_geoRight , 0 , 0 } }, //val width
4575 { 0x2000 , { DFF_Prop_geoBottom , 0 , 0 } }, //val height
4576 { 0x2001 , { DFF_Prop_geoRight , 1 , 8 } }, //prod width 1 8
4577 { 0x2001 , { DFF_Prop_geoRight , 1 , 2 } }, //prod width 1 2
4578 { 0x2001 , { DFF_Prop_geoRight , 7 , 8 } }, //prod width 7 8
4579 { 0x2001 , { DFF_Prop_geoRight , 3 , 2 } }, //prod width 3 2
4580 { 0x8000 , { 0 , 0 , 0x406 } }, //sum 0 0 @6
4581 { 0xa000 , { DFF_Prop_geoBottom , 0 , DFF_Prop_adjust3Value } }, //sum height 0 #2
4582 { 0x2001 , { 0x40a , 30573 , 4096 } }, //prod @10 30573 4096
4583 { 0x2001 , { 0x40b , 2 , 1 } }, //prod @11 2 1
4584 { 0xa000 , { DFF_Prop_geoBottom , 0 , 0x40c } }, //sum height 0 @12
4585 { 0x6000 , { 0x40b , DFF_Prop_adjust3Value , 0 } }, //sum @11 #2 0
4586 { 0xe000 , { 0x40b , DFF_Prop_geoBottom , DFF_Prop_adjust2Value } }, //sum @11 height #1
4587 { 0xa000 , { DFF_Prop_geoBottom , 0 , DFF_Prop_adjust2Value } }, //sum height 0 #1
4588 { 0x2001 , { 0x410 , 1 , 2 } }, //prod @16 1 2
4589 { 0x6000 , { 0x40b , 0x411 , 0 } }, //sum @11 @17 0
4590 { 0xe000 , { 0x40e , DFF_Prop_adjust2Value , DFF_Prop_geoBottom } }, //sum @14 #1 height
4591 { 0x6000 , { DFF_Prop_adjustValue , 0x405 , 0 } }, //sum #0 @5 0
4592 { 0xa000 , { DFF_Prop_geoRight , 0 , 0x414 } }, //sum width 0 @20
4593 { 0xa000 , { DFF_Prop_geoRight , 0 , DFF_Prop_adjustValue } }, //sum width 0 #0
4594 { 0xa000 , { 0x406 , 0 , DFF_Prop_adjustValue } }, //sum @6 0 #0
4595 { 0xe00f , { 0x417 , DFF_Prop_geoRight , 0x40b } }, //ellipse @23 width @11
4596 { 0xe000 , { 0x418 , DFF_Prop_geoBottom , 0x40b } }, //sum @24 height @11
4597 { 0xe000 , { 0x419 , 0x40b , 0x413 } }, //sum @25 @11 @19
4598 { 0xe000 , { DFF_Prop_adjust3Value , 0x40b , 0x413 } }, //sum #2 @11 @19
4599 { 0x2001 , { 0x40b , 2391 , 32768 } }, //prod @11 2391 32768
4600 { 0xa000 , { 0x406 , 0 , 0x414 } }, //sum @6 0 @20
4601 { 0xe00f , { 0x41d , DFF_Prop_geoRight , 0x40b } }, //ellipse @29 width @11
4602 { 0xe000 , { DFF_Prop_adjust2Value , 0x41e , 0x40b } }, //sum #1 @30 @11
4603 { 0xe000 , { 0x419 , DFF_Prop_adjust2Value , DFF_Prop_geoBottom } }, //sum @25 #1 height
4604 { 0xe000 , { DFF_Prop_geoBottom , 0x41e , 0x40e } }, //sum height @30 @14
4605 { 0x6000 , { 0x40b , 0x40e , 0 } }, //sum @11 @14 0
4606 { 0xa000 , { DFF_Prop_geoBottom , 0 , 0x422 } }, //sum height 0 @34
4607 { 0xe000 , { 0x423 , 0x413 , 0x40b } }, //sum @35 @19 @11
4608 { 0xe000 , { 0x40a , 0x40f , 0x40b } }, //sum @10 @15 @11
4609 { 0xe000 , { 0x423 , 0x40f , 0x40b } }, //sum @35 @15 @11
4610 { 0xe000 , { 0x41c , 0x40e , 0x412 } }, //sum @28 @14 @18
4611 { 0xa000 , { DFF_Prop_geoBottom , 0 , 0x427 } }, //sum height 0 @39
4612 { 0xa000 , { 0x413 , 0 , 0x412 } }, //sum @19 0 @18
4613 { 0x2001 , { 0x429 , 2 , 3 } }, //prod @41 2 3
4614 { 0xa000 , { DFF_Prop_adjust2Value , 0 , 0x42a } }, //sum #1 0 @42
4615 { 0xa000 , { DFF_Prop_adjust3Value , 0 , 0x42a } }, //sum #2 0 @42
4616 { 0x2004 , { 0x42c , 20925 , 0 } }, //min @44 20925
4617 { 0x2001 , { DFF_Prop_geoRight , 3 , 8 } }, //prod width 3 8
4618 { 0x2000 , { 0x42e , 0 , 4 } }, //sum @46 0 4
4619 };
4620
4621 static const SvxMSDffTextRectangles mso_sptEllipseRibbonTextRect[] =
4622 {//@0,@1,@22,@25
4623 { { 0 MSO_I, 1 MSO_I }, { 22 MSO_I, 25 MSO_I } }
4624 };
4625
4626 static const sal_Int32 mso_sptEllipseRibbonDefault[] =
4627 {
4628 3,5400,5400,18900
4629 };
4630
4631 static const SvxMSDffHandle mso_sptEllipseRibbonHandle[] =
4632 {
4633 //position="#0,bottomRight" xrange="@5,@47
4634 //position="center,#1" yrange="@10,@43
4635 //position="topLeft,#2" yrange="@27,@45
4636 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL| MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
4637 0x100, 21600, 0, 0, 0x8/*5+3*/, 0x32/*47+3*/, Mx80000000, 0x7fffffff },
4638 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
4639 10800, 0x101, 0, 0, Mx80000000, 0x7fffffff,0xd/*10+3*/, 0x2e /*43+3*/ },
4640 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
4641 0, 0x102, 0, 0, Mx80000000, 0x7fffffff,0x1e/*27+3*/, 0x30 /*45+3*/ }
4642 };
4643
4644 static const mso_CustomShape msosptEllipseRibbon =
4645 {
4646 (SvxMSDffVertPair*)mso_sptEllipseRibbonVert, sizeof( mso_sptEllipseRibbonVert ) / sizeof( SvxMSDffVertPair ),
4647 (sal_uInt16*)mso_sptEllipseRibbonSegm, sizeof( mso_sptEllipseRibbonSegm ) >> 1,
4648 (SvxMSDffCalculationData*)mso_sptEllipseRibbonCalc, sizeof( mso_sptEllipseRibbonCalc ) / sizeof( SvxMSDffCalculationData ),
4649 (sal_Int32*)mso_sptEllipseRibbonDefault,
4650 (SvxMSDffTextRectangles*)mso_sptEllipseRibbonTextRect, sizeof( mso_sptEllipseRibbonTextRect ) / sizeof( SvxMSDffTextRectangles ),
4651 21600, 21600,
4652 Mx80000000, Mx80000000,
4653 NULL, 0,
4654 (SvxMSDffHandle*)mso_sptEllipseRibbonHandle, sizeof( mso_sptEllipseRibbonHandle ) / sizeof( SvxMSDffHandle )
4655 };
4656
4657 //msosptEllipseRibbon2
4658 //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
4659 static const SvxMSDffVertPair mso_sptEllipseRibbon2Vert[] =
4660 {
4661 { 9 MSO_I , 34 MSO_I },
4662 { 8 MSO_I , 35 MSO_I },
4663 { 0 , 24 MSO_I },
4664 { 0 MSO_I , 23 MSO_I },
4665 { 9 MSO_I , 0 },
4666 { 8 MSO_I , 11 MSO_I },
4667 { 0 MSO_I , 22 MSO_I },
4668 { 19 MSO_I , 22 MSO_I },
4669 { 9 MSO_I , 34 MSO_I },
4670 { 8 MSO_I , 35 MSO_I },
4671 { 19 MSO_I , 23 MSO_I },
4672 { 3 MSO_I , 24 MSO_I },
4673 { 7 MSO_I , 36 MSO_I },
4674 { 3 MSO_I , 4 MSO_I },
4675 { 9 MSO_I , 31 MSO_I },
4676 { 8 MSO_I , 32 MSO_I },
4677 { 3 MSO_I , 4 MSO_I },
4678 { 18 MSO_I , 30 MSO_I },
4679 { 9 MSO_I , 1 MSO_I },
4680 { 8 MSO_I , 33 MSO_I },
4681 { 18 MSO_I , 28 MSO_I },
4682 { 17 MSO_I , 28 MSO_I },
4683 { 9 MSO_I , 31 MSO_I },
4684 { 8 MSO_I , 32 MSO_I },
4685 { 17 MSO_I , 30 MSO_I },
4686 { 0 , 4l MSO_I },
4687 { 5 MSO_I , 36 MSO_I },
4688 { 9 MSO_I , 1 MSO_I },
4689 { 8 MSO_I , 33 MSO_I },
4690 { 17 MSO_I , 28 MSO_I },
4691 { 0 MSO_I , 29 MSO_I },
4692 { 17 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 { 19 MSO_I , 29 MSO_I },
4697 { 18 MSO_I , 30 MSO_I },
4698 { 0 MSO_I , 23 MSO_I },
4699 { 0 MSO_I , 29 MSO_I },
4700 { 19 MSO_I , 23 MSO_I },
4701 { 19 MSO_I , 29 MSO_I }
4702 };
4703 static const sal_uInt16 mso_sptEllipseRibbon2Segm[] =
4704 {
4705 0xa50c/*wr*/,0x0002/*l*/,0xa30c/*at*/,0x0001/*l*/,
4706 0x6001/*x*/, 0x8000/*e*/,0xa304/*ar*/,0xaa00/*nf*/,
4707 0x0001/*l*/, 0x8000/*e*/,0xa504/*wr*/,0xaa00/*nf*/,
4708 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
4709 0x0001/*l*/, 0x8000/*e*/,0x4000/*m*/,0xaa00/*nf*/,
4710 0x0001/*l*/, 0x8000/*e*/
4711 };
4712
4713 static const SvxMSDffCalculationData mso_sptEllipseRibbon2Calc[] =
4714 {
4715 { 0x2000 , { DFF_Prop_adjustValue , 0 , 0 } }, //val #0
4716 { 0x2000 , { DFF_Prop_adjust2Value , 0 , 0 } }, //val #1
4717 { 0x2000 , { DFF_Prop_adjust3Value , 0 , 0 } }, //val #2
4718 { 0x2000 , { DFF_Prop_geoRight , 0 , 0 } }, //val width
4719 { 0x2000 , { DFF_Prop_geoBottom , 0 , 0 } }, //val height
4720 { 0x2001 , { DFF_Prop_geoRight , 1 , 8 } }, //prod width 1 8
4721 { 0x2001 , { DFF_Prop_geoRight , 1 , 2 } }, //prod width 1 2
4722 { 0x2001 , { DFF_Prop_geoRight , 7 , 8 } }, //prod width 7 8
4723 { 0x2001 , { DFF_Prop_geoRight , 3 , 2 } }, //prod width 3 2
4724 { 0x8000 , { 0 , 0 , 0x406 } }, //sum 0 0 @6
4725 { 0x2001 , { DFF_Prop_adjust3Value , 30573 , 4096 } }, //prod #2 30573 4096
4726 { 0x2001 , { 0x40a , 2 , 1 } }, //prod @10 2 1
4727 { 0xe000 , { 0x40a , DFF_Prop_geoBottom , DFF_Prop_adjust3Value } }, //sum @10 height #2
4728 { 0x6000 , { 0x40a , DFF_Prop_adjust2Value , 0 } }, //sum @10 #1 0
4729 { 0x2001 , { DFF_Prop_adjust2Value , 1 , 2 } }, //prod #1 1 2
4730 { 0x6000 , { 0x40a , 0x40e , 0 } }, //sum @10 @14 0
4731 { 0xa000 , { 0x40c , 0 , DFF_Prop_adjust2Value } }, //sum @12 0 #1
4732 { 0x6000 , { DFF_Prop_adjustValue , 0x405 , 0 } }, //sum #0 @5 0
4733 { 0xa000 , { DFF_Prop_geoRight , 0 , 0x411 } }, //sum width 0 @17
4734 { 0xa000 , { DFF_Prop_geoRight , 0 , DFF_Prop_adjustValue } }, //sum width 0 #0
4735 { 0xa000 , { 0x406 , 0 , DFF_Prop_adjustValue } }, //sum @6 0 #0
4736 { 0xe00f , { 0x414 , DFF_Prop_geoRight , 0x40a } }, //ellipse @20 width @10
4737 { 0xa000 , { 0x40a , 0 , 0x415 } }, //sum @10 0 @21
4738 { 0xe000 , { 0x416 , 0x410 , 0x40a } }, //sum @22 @16 @10
4739 { 0xe000 , { DFF_Prop_adjust3Value , 0x410 , 0x40a } }, //sum #2 @16 @10
4740 { 0x2001 , { 0x40a , 2391 , 32768 } }, //prod @10 2391 32768
4741 { 0xa000 , { 0x406 , 0 , 0x411 } }, //sum @6 0 @17
4742 { 0xe00f , { 0x41a , DFF_Prop_geoRight , 0x40a } }, //ellipse @26 width @10
4743 { 0xe000 , { 0x40a , DFF_Prop_adjust2Value , 0x41b } }, //sum @10 #1 @27
4744 { 0x6000 , { 0x416 , DFF_Prop_adjust2Value , 0 } }, //sum @22 #1 0
4745 { 0xa000 , { 0x40c , 0 , 0x41b } }, //sum @12 0 @27
4746 { 0xa000 , { DFF_Prop_geoBottom , 0 , DFF_Prop_adjust3Value } }, //sum height 0 #2
4747 { 0x6000 , { 0x40a , 0x40c , 0 } }, //sum @10 @12 0
4748 { 0xe000 , { 0x420 , 0x40a , 0x410 } }, //sum @32 @10 @16
4749 { 0xe000 , { 0x41f , 0x40a , 0x40d } }, //sum @31 @10 @13
4750 { 0xe000 , { 0x420 , 0x40a , 0x40d } }, //sum @32 @10 @13
4751 { 0xe000 , { 0x419 , 0x40c , 0x40f } }, //sum @25 @12 @15
4752 { 0xa000 , { 0x410 , 0 , 0x40f } }, //sum @16 0 @15
4753 { 0x2001 , { 0x425 , 2 , 3 } }, //prod @37 2 3
4754 { 0x6000 , { 0x401 , 0x426 , 0 } }, //sum @1 @38 0
4755 { 0x6000 , { DFF_Prop_adjust3Value , 0x426 , 0 } }, //sum #2 @38 0
4756 { 0x2005 , { 0x428 , 675 , 0 } }, //max @40 675
4757 { 0x2001 , { DFF_Prop_geoRight , 3 , 8 } }, //prod width 3 8
4758 { 0x2000 , { 0x42a , 0 , 4 } } //sum @42 0 4
4759 };
4760
4761 static const SvxMSDffTextRectangles mso_sptEllipseRibbon2TextRect[] =
4762 {//@0,@22,@19,@1
4763 { { 0 MSO_I, 22 MSO_I }, { 19 MSO_I, 1 MSO_I } }
4764 };
4765
4766 static const sal_Int32 mso_sptEllipseRibbon2Default[] =
4767 {
4768 3,5400,16200,2700
4769 };
4770
4771 static const SvxMSDffHandle mso_sptEllipseRibbon2Handle[] =
4772 {
4773 //position="#0,topLeft" xrange="@5,@43
4774 //position="center,#1" yrange="@39,@31
4775 //position="topLeft,#2" yrange="@41,@24
4776 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL| MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
4777 0x100, 0, 0, 0, 0x8/*5+3*/, 0x2e/*43+3*/, Mx80000000, 0x7fffffff },
4778 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
4779 10800, 0x101, 0, 0, Mx80000000, 0x7fffffff,0x2a/*39+3*/, 0x22 /*31+3*/ },
4780 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
4781 0, 0x102, 0, 0, Mx80000000, 0x7fffffff,0x2c/*41+3*/, 0x1b /*24+3*/ }
4782 };
4783
4784 static const mso_CustomShape msosptEllipseRibbon2 =
4785 {
4786 (SvxMSDffVertPair*)mso_sptEllipseRibbon2Vert, sizeof( mso_sptEllipseRibbon2Vert ) / sizeof( SvxMSDffVertPair ),
4787 (sal_uInt16*)mso_sptEllipseRibbon2Segm, sizeof( mso_sptEllipseRibbon2Segm ) >> 1,
4788 (SvxMSDffCalculationData*)mso_sptEllipseRibbon2Calc, sizeof( mso_sptEllipseRibbon2Calc ) / sizeof( SvxMSDffCalculationData ),
4789 (sal_Int32*)mso_sptEllipseRibbon2Default,
4790 (SvxMSDffTextRectangles*)mso_sptEllipseRibbon2TextRect, sizeof( mso_sptEllipseRibbon2TextRect ) / sizeof( SvxMSDffTextRectangles ),
4791 21600, 21600,
4792 Mx80000000, Mx80000000,
4793 NULL, 0,
4794 (SvxMSDffHandle*)mso_sptEllipseRibbon2Handle, sizeof( mso_sptEllipseRibbon2Handle ) / sizeof( SvxMSDffHandle )
4795 };
4796 // End
4797 static const SvxMSDffVertPair mso_sptVerticalScrollVert[] = // adjustment1 : 0 - 5400
4798 {
4799 { 1 MSO_I, 21600 }, { 0, 11 MSO_I }, { 1 MSO_I, 12 MSO_I }, { 0 MSO_I, 12 MSO_I },
4800 { 0 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 }, { 2 MSO_I, 0 }, { 21600, 1 MSO_I },
4801 { 2 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 11 MSO_I }, { 5 MSO_I, 21600 },
4802
4803 { 6 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 4 MSO_I, 1 MSO_I },
4804
4805 { 0 MSO_I, 11 MSO_I }, { 1 MSO_I, 21600 }, { 0, 11 MSO_I }, { 1 MSO_I, 12 MSO_I },
4806 { 9 MSO_I, 10 MSO_I }, { 1 MSO_I, 11 MSO_I },
4807
4808 { 4 MSO_I, 0 }, { 6 MSO_I, 1 MSO_I },
4809
4810 { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I },
4811
4812 { 4 MSO_I, 0 MSO_I },
4813 { 2 MSO_I, 0 MSO_I }
4814 };
4815 static const sal_uInt16 mso_sptVerticalScrollSegm[] =
4816 {
4817 0x4000, 0xa702, 0x0002, 0xa801, 0x0001, 0xa702, 0x0002, 0xa801, 0x6001, 0x8000,
4818 0x4000, 0xa801, 0xa702, 0x6000, 0x8000,
4819 0x4000, 0xa803, 0xa702, 0x6001, 0x8000,
4820 0x4000, 0xa701, 0x8000,
4821 0x4000, 0x0001, 0x8000,
4822 0x4000, 0x0001, 0x8000
4823 };
4824 static const SvxMSDffCalculationData mso_sptScrollCalc[] =
4825 {
4826 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
4827 { 0x2001, { 0x400, 1, 2 } },
4828 { 0xa000, { DFF_Prop_geoRight, 0, 0x401 } },
4829 { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } },
4830 { 0x6000, { 0x400, 0x401, 0 } },
4831 { 0xa000, { DFF_Prop_geoRight, 0, 0x404 } },
4832 { 0x2001, { 0x400, 2, 1 } },
4833 { 0x2001, { 0x401, 1, 2 } },
4834 { 0x6000, { 0x400, 0x407, 0 } },
4835 { 0x6000, { 0x401, 0x407, 0 } },
4836 { 0xa000, { DFF_Prop_geoBottom, 0, 0x409 } },
4837 { 0xa000, { DFF_Prop_geoBottom, 0, 0x401 } },
4838 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } },
4839 { 0xa000, { DFF_Prop_geoBottom, 0, 0x404 } }
4840 };
4841 static const SvxMSDffTextRectangles mso_sptScrollTextRect[] =
4842 {
4843 { { 0 MSO_I, 0 MSO_I }, { 3 MSO_I, 12 MSO_I } }
4844 };
4845 static const SvxMSDffHandle mso_sptVerticalScrollHandle[] =
4846 {
4847 { MSDFF_HANDLE_FLAGS_RANGE,
4848 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 5400 }
4849 };
4850 static const mso_CustomShape msoVerticalScroll =
4851 {
4852 (SvxMSDffVertPair*)mso_sptVerticalScrollVert, sizeof( mso_sptVerticalScrollVert ) / sizeof( SvxMSDffVertPair ),
4853 (sal_uInt16*)mso_sptVerticalScrollSegm, sizeof( mso_sptVerticalScrollSegm ) >> 1,
4854 (SvxMSDffCalculationData*)mso_sptScrollCalc, sizeof( mso_sptScrollCalc ) / sizeof( SvxMSDffCalculationData ),
4855 (sal_Int32*)mso_sptDefault2700,
4856 (SvxMSDffTextRectangles*)mso_sptScrollTextRect, sizeof( mso_sptScrollTextRect ) / sizeof( SvxMSDffTextRectangles ),
4857 21600, 21600,
4858 11000, 10800,
4859 NULL, 0,
4860 (SvxMSDffHandle*)mso_sptVerticalScrollHandle, sizeof( mso_sptVerticalScrollHandle ) / sizeof( SvxMSDffHandle )
4861 };
4862 static const SvxMSDffVertPair mso_sptHorizontalScrollVert[] = // adjustment1 : 0 - 5400
4863 {
4864 { 0, 4 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 1 MSO_I },
4865 { 2 MSO_I, 0 }, { 21600, 1 MSO_I }, { 21600, 13 MSO_I }, { 2 MSO_I, 12 MSO_I },
4866 { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I }, { 1 MSO_I, 21600 }, { 0, 11 MSO_I },
4867
4868 { 1 MSO_I, 4 MSO_I }, { 9 MSO_I, 8 MSO_I }, { 0 MSO_I, 4 MSO_I }, { 1 MSO_I, 6 MSO_I },
4869
4870 { 2 MSO_I, 1 MSO_I }, { 3 MSO_I, 9 MSO_I }, { 3 MSO_I, 1 MSO_I }, { 2 MSO_I, 0 },
4871 { 21600, 1 MSO_I }, { 2 MSO_I, 0 MSO_I },
4872
4873 { 1 MSO_I, 6 MSO_I },
4874 { 0, 4 MSO_I },
4875
4876 { 2 MSO_I, 0 MSO_I },
4877 { 3 MSO_I, 0 MSO_I },
4878
4879 { 0 MSO_I, 4 MSO_I },
4880 { 0 MSO_I, 11 MSO_I }
4881 };
4882 static const sal_uInt16 mso_sptHorizontalScrollSegm[] =
4883 {
4884 0x4000, 0xa801, 0x0002, 0xa802, 0x0001, 0xa801, 0x0002, 0xa802, 0x6001, 0x8000,
4885 0x4000, 0xa803, 0x6000, 0x8000,
4886 0x4000, 0xa803, 0xa702, 0x6000, 0x8000,
4887 0x4000, 0xa701, 0x8000,
4888 0x4000, 0x0001, 0x8000,
4889 0x4000, 0x0001, 0x8000
4890 };
4891 static const SvxMSDffHandle mso_sptHorizontalScrollHandle[] =
4892 {
4893 { MSDFF_HANDLE_FLAGS_RANGE,
4894 0x100, 0, 10800, 10800, 0, 5400, Mx80000000, 0x7fffffff }
4895 };
4896 static const mso_CustomShape msoHorizontalScroll =
4897 {
4898 (SvxMSDffVertPair*)mso_sptHorizontalScrollVert, sizeof( mso_sptHorizontalScrollVert ) / sizeof( SvxMSDffVertPair ),
4899 (sal_uInt16*)mso_sptHorizontalScrollSegm, sizeof( mso_sptHorizontalScrollSegm ) >> 1,
4900 (SvxMSDffCalculationData*)mso_sptScrollCalc, sizeof( mso_sptScrollCalc ) / sizeof( SvxMSDffCalculationData ),
4901 (sal_Int32*)mso_sptDefault2700,
4902 (SvxMSDffTextRectangles*)mso_sptScrollTextRect, sizeof( mso_sptScrollTextRect ) / sizeof( SvxMSDffTextRectangles ),
4903 21600, 21600,
4904 10800, 11000,
4905 NULL, 0,
4906 (SvxMSDffHandle*)mso_sptHorizontalScrollHandle, sizeof( mso_sptHorizontalScrollHandle ) / sizeof( SvxMSDffHandle )
4907 };
4908
4909 static const SvxMSDffVertPair mso_sptFlowChartProcessVert[] =
4910 {
4911 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 }
4912 };
4913 static const mso_CustomShape msoFlowChartProcess =
4914 {
4915 (SvxMSDffVertPair*)mso_sptFlowChartProcessVert, sizeof( mso_sptFlowChartProcessVert ) / sizeof( SvxMSDffVertPair ),
4916 NULL, 0,
4917 NULL, 0,
4918 NULL,
4919 NULL, 0,
4920 21600, 21600,
4921 Mx80000000, Mx80000000,
4922 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
4923 NULL, 0 // handles
4924 };
4925
4926 static const SvxMSDffVertPair mso_sptFlowChartAlternateProcessVert[] =
4927 {
4928 { 0, 2 MSO_I }, { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 21600, 2 MSO_I },
4929 { 21600, 3 MSO_I }, { 1 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0, 3 MSO_I }
4930 };
4931 static const sal_uInt16 mso_sptFlowChartAlternateProcessSegm[] =
4932 {
4933 0x4000, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x6000, 0x8000
4934 };
4935 static const SvxMSDffCalculationData mso_sptFlowChartAlternateProcessCalc[] =
4936 {
4937 { 0x2000, { DFF_Prop_geoLeft, 2540, 0 } },
4938 { 0x2000, { DFF_Prop_geoRight, 0, 2540 } },
4939 { 0x2000, { DFF_Prop_geoTop, 2540, 0 } },
4940 { 0x2000, { DFF_Prop_geoBottom, 0, 2540 } },
4941 { 0x2000, { DFF_Prop_geoLeft, 800, 0 } },
4942 { 0x2000, { DFF_Prop_geoRight, 0, 800 } },
4943 { 0x2000, { DFF_Prop_geoTop, 800, 0 } },
4944 { 0x2000, { DFF_Prop_geoBottom,0, 800 } }
4945 };
4946 static const SvxMSDffTextRectangles mso_sptFlowChartAlternateProcessTextRect[] =
4947 {
4948 { { 4 MSO_I, 6 MSO_I }, { 5 MSO_I, 7 MSO_I } }
4949 };
4950 static const mso_CustomShape msoFlowChartAlternateProcess =
4951 {
4952 (SvxMSDffVertPair*)mso_sptFlowChartAlternateProcessVert, sizeof( mso_sptFlowChartAlternateProcessVert ) / sizeof( SvxMSDffVertPair ),
4953 (sal_uInt16*)mso_sptFlowChartAlternateProcessSegm, sizeof( mso_sptFlowChartAlternateProcessSegm ) >> 1,
4954 (SvxMSDffCalculationData*)mso_sptFlowChartAlternateProcessCalc, sizeof( mso_sptFlowChartAlternateProcessCalc ) / sizeof( SvxMSDffCalculationData ),
4955 NULL,
4956 (SvxMSDffTextRectangles*)mso_sptFlowChartAlternateProcessTextRect, sizeof( mso_sptFlowChartAlternateProcessTextRect ) / sizeof( SvxMSDffTextRectangles ),
4957 21600, 21600,
4958 Mx80000000, Mx80000000,
4959 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
4960 NULL, 0 // handles
4961 };
4962
4963 static const SvxMSDffVertPair mso_sptFlowChartDecisionVert[] =
4964 {
4965 { 0, 10800 }, { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 10800 }
4966 };
4967 static const SvxMSDffTextRectangles mso_sptFlowChartDecisionTextRect[] =
4968 {
4969 { { 5400, 5400 }, { 16200, 16200 } }
4970 };
4971 static const mso_CustomShape msoFlowChartDecision =
4972 {
4973 (SvxMSDffVertPair*)mso_sptFlowChartDecisionVert, sizeof( mso_sptFlowChartDecisionVert ) / sizeof( SvxMSDffVertPair ),
4974 NULL, 0,
4975 NULL, 0,
4976 NULL,
4977 (SvxMSDffTextRectangles*)mso_sptFlowChartDecisionTextRect, sizeof( mso_sptFlowChartDecisionTextRect ) / sizeof( SvxMSDffTextRectangles ),
4978 21600, 21600,
4979 Mx80000000, Mx80000000,
4980 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
4981 NULL, 0 // handles
4982 };
4983
4984 static const SvxMSDffVertPair mso_sptFlowChartInputOutputVert[] =
4985 {
4986 { 4230, 0 }, { 21600, 0 }, { 17370, 21600 }, { 0, 21600 }, { 4230, 0 }
4987 };
4988 static const SvxMSDffTextRectangles mso_sptFlowChartInputOutputTextRect[] =
4989 {
4990 { { 4230, 0 }, { 17370, 21600 } }
4991 };
4992 static const SvxMSDffVertPair mso_sptFlowChartInputOutputGluePoints[] =
4993 {
4994 { 12960, 0 }, { 10800, 0 }, { 2160, 10800 }, { 8600, 21600 }, { 10800, 21600 }, { 19400, 10800 }
4995 };
4996 static const mso_CustomShape msoFlowChartInputOutput =
4997 {
4998 (SvxMSDffVertPair*)mso_sptFlowChartInputOutputVert, sizeof( mso_sptFlowChartInputOutputVert ) / sizeof( SvxMSDffVertPair ),
4999 NULL, 0,
5000 NULL, 0,
5001 NULL,
5002 (SvxMSDffTextRectangles*)mso_sptFlowChartInputOutputTextRect, sizeof( mso_sptFlowChartInputOutputTextRect ) / sizeof( SvxMSDffTextRectangles ),
5003 21600, 21600,
5004 Mx80000000, Mx80000000,
5005 (SvxMSDffVertPair*)mso_sptFlowChartInputOutputGluePoints, sizeof( mso_sptFlowChartInputOutputGluePoints ) / sizeof( SvxMSDffVertPair ),
5006 NULL, 0 // handles
5007 };
5008
5009 static const SvxMSDffVertPair mso_sptFlowChartPredefinedProcessVert[] =
5010 {
5011 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
5012
5013 { 2540, 0 }, { 2540, 21600 },
5014
5015 { 21600 - 2540, 0 }, { 21600 - 2540, 21600 }
5016 };
5017 static const sal_uInt16 mso_sptFlowChartPredefinedProcessSegm[] =
5018 {
5019 0x4000, 0x0003, 0x6000, 0x8000,
5020 0x4000, 0x0001, 0x8000,
5021 0x4000, 0x0001, 0x8000
5022 };
5023 static const SvxMSDffTextRectangles mso_sptFlowChartPredefinedProcessTextRect[] =
5024 {
5025 { { 2540, 0 }, { 21600 - 2540, 21600 } }
5026 };
5027 static const mso_CustomShape msoFlowChartPredefinedProcess =
5028 {
5029 (SvxMSDffVertPair*)mso_sptFlowChartPredefinedProcessVert, sizeof( mso_sptFlowChartPredefinedProcessVert ) / sizeof( SvxMSDffVertPair ),
5030 (sal_uInt16*)mso_sptFlowChartPredefinedProcessSegm, sizeof( mso_sptFlowChartPredefinedProcessSegm ) >> 1,
5031 NULL, 0,
5032 NULL,
5033 (SvxMSDffTextRectangles*)mso_sptFlowChartPredefinedProcessTextRect, sizeof( mso_sptFlowChartPredefinedProcessTextRect ) / sizeof( SvxMSDffTextRectangles ),
5034 21600, 21600,
5035 Mx80000000, Mx80000000,
5036 NULL, 0,
5037 NULL, 0 // handles
5038 };
5039
5040 static const SvxMSDffVertPair mso_sptFlowChartInternalStorageVert[] =
5041 {
5042 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
5043
5044 { 4230, 0 }, { 4230, 21600 },
5045
5046 { 0, 4230 }, { 21600, 4230 }
5047 };
5048 static const sal_uInt16 mso_sptFlowChartInternalStorageSegm[] =
5049 {
5050 0x4000, 0x0003, 0x6000, 0x8000,
5051 0x4000, 0x0001, 0x8000,
5052 0x4000, 0x0001, 0x8000
5053 };
5054 static const SvxMSDffTextRectangles mso_sptFlowChartInternalStorageTextRect[] =
5055 {
5056 { { 4230, 4230 }, { 21600, 21600 } }
5057 };
5058 static const mso_CustomShape msoFlowChartInternalStorage =
5059 {
5060 (SvxMSDffVertPair*)mso_sptFlowChartInternalStorageVert, sizeof( mso_sptFlowChartInternalStorageVert ) / sizeof( SvxMSDffVertPair ),
5061 (sal_uInt16*)mso_sptFlowChartInternalStorageSegm, sizeof( mso_sptFlowChartInternalStorageSegm ) >> 1,
5062 NULL, 0,
5063 NULL,
5064 (SvxMSDffTextRectangles*)mso_sptFlowChartInternalStorageTextRect, sizeof( mso_sptFlowChartInternalStorageTextRect ) / sizeof( SvxMSDffTextRectangles ),
5065 21600, 21600,
5066 Mx80000000, Mx80000000,
5067 NULL, 0,
5068 NULL, 0 // handles
5069 };
5070
5071 static const SvxMSDffVertPair mso_sptFlowChartDocumentVert[] =
5072 {
5073 { 0, 0 }, { 21600, 0 }, { 21600, 17360 },
5074 { 13050, 17220 }, { 13340, 20770 }, { 5620, 21600 }, // ccp
5075 { 2860, 21100 }, { 1850, 20700 }, { 0, 20120 } // ccp
5076 };
5077 static const sal_uInt16 mso_sptFlowChartDocumentSegm[] =
5078 {
5079 0x4000, 0x0002, 0x2002, 0x6000, 0x8000
5080 };
5081 static const SvxMSDffTextRectangles mso_sptFlowChartDocumentTextRect[] =
5082 {
5083 { { 0, 0 }, { 21600, 17360 } }
5084 };
5085 static const SvxMSDffVertPair mso_sptFlowChartDocumentGluePoints[] =
5086 {
5087 { 10800, 0 }, { 0, 10800 }, { 10800, 20320 }, { 21600, 10800 }
5088 };
5089 static const mso_CustomShape msoFlowChartDocument =
5090 {
5091 (SvxMSDffVertPair*)mso_sptFlowChartDocumentVert, sizeof( mso_sptFlowChartDocumentVert ) / sizeof( SvxMSDffVertPair ),
5092 (sal_uInt16*)mso_sptFlowChartDocumentSegm, sizeof( mso_sptFlowChartDocumentSegm ) >> 1,
5093 NULL, 0,
5094 NULL,
5095 (SvxMSDffTextRectangles*)mso_sptFlowChartDocumentTextRect, sizeof( mso_sptFlowChartDocumentTextRect ) / sizeof( SvxMSDffTextRectangles ),
5096 21600, 21600,
5097 Mx80000000, Mx80000000,
5098 (SvxMSDffVertPair*)mso_sptFlowChartDocumentGluePoints, sizeof( mso_sptFlowChartDocumentGluePoints ) / sizeof( SvxMSDffVertPair ),
5099 NULL, 0 // handles
5100 };
5101
5102 static const SvxMSDffVertPair mso_sptFlowChartMultidocumentVert[] =
5103 {
5104 { 0, 3600 }, { 1500, 3600 }, { 1500, 1800 }, { 3000, 1800 },
5105 { 3000, 0 }, { 21600, 0 }, { 21600, 14409 }, { 21600 - 1500, 14409 },
5106 { 21600 - 1500, 14409 + 1800 }, { 21600 - 3000, 14409 + 1800 }, { 21600 - 3000, 14409 + 3600 },
5107 { 11610, 14293 + 3600 }, { 11472, 17239 + 3600 }, { 4833, 17928 + 3600 }, // ccp
5108 { 2450, 17513 + 3600 }, { 1591, 17181 + 3600 }, { 0, 16700 + 3600 }, // ccp
5109
5110 { 1500, 3600 }, { 21600 - 3000, 3600 }, { 21600 - 3000, 14409 + 1800 },
5111
5112 { 3000, 1800 }, { 21600 - 1500, 1800 }, { 21600 - 1500, 14409 }
5113 };
5114 static const sal_uInt16 mso_sptFlowChartMultidocumentSegm[] =
5115 {
5116 0x4000, 0x000a, 0x2002, 0x6000, 0x8000,
5117 0x4000, 0xaa00, 0x0002, 0x8000, // NO FILL
5118 0x4000, 0xaa00, 0x0002, 0x8000 // NO FILL
5119 };
5120 static const SvxMSDffTextRectangles mso_sptFlowChartMultidocumentTextRect[] =
5121 {
5122 { { 0, 3600 }, { 21600 - 3000, 14409 + 3600 } }
5123 };
5124 static const SvxMSDffVertPair mso_sptFlowChartMultidocumentGluePoints[] =
5125 {
5126 { 10800, 0 }, { 0, 10800 }, { 10800, 19890 }, { 21600, 10800 }
5127 };
5128 static const mso_CustomShape msoFlowChartMultidocument =
5129 {
5130 (SvxMSDffVertPair*)mso_sptFlowChartMultidocumentVert, sizeof( mso_sptFlowChartMultidocumentVert ) / sizeof( SvxMSDffVertPair ),
5131 (sal_uInt16*)mso_sptFlowChartMultidocumentSegm, sizeof( mso_sptFlowChartMultidocumentSegm ) >> 1,
5132 NULL, 0,
5133 NULL,
5134 (SvxMSDffTextRectangles*)mso_sptFlowChartMultidocumentTextRect, sizeof( mso_sptFlowChartMultidocumentTextRect ) / sizeof( SvxMSDffTextRectangles ),
5135 21600, 21600,
5136 Mx80000000, Mx80000000,
5137 (SvxMSDffVertPair*)mso_sptFlowChartMultidocumentGluePoints, sizeof( mso_sptFlowChartMultidocumentGluePoints ) / sizeof( SvxMSDffVertPair ),
5138 NULL, 0 // handles
5139 };
5140
5141 static const SvxMSDffVertPair mso_sptFlowChartTerminatorVert[] =
5142 {
5143 { 3470, 21600 }, { 0, 10800 }, { 3470, 0 }, { 18130, 0 },
5144 { 21600, 10800 }, { 18130, 21600 }
5145 };
5146 static const sal_uInt16 mso_sptFlowChartTerminatorSegm[] =
5147 {
5148 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000
5149 };
5150 static const SvxMSDffTextRectangles mso_sptFlowChartTerminatorTextRect[] =
5151 {
5152 { { 1060, 3180 }, { 20540, 18420 } }
5153 };
5154 static const mso_CustomShape msoFlowChartTerminator =
5155 {
5156 (SvxMSDffVertPair*)mso_sptFlowChartTerminatorVert, sizeof( mso_sptFlowChartTerminatorVert ) / sizeof( SvxMSDffVertPair ),
5157 (sal_uInt16*)mso_sptFlowChartTerminatorSegm, sizeof( mso_sptFlowChartTerminatorSegm ) >> 1,
5158 NULL, 0,
5159 NULL,
5160 (SvxMSDffTextRectangles*)mso_sptFlowChartTerminatorTextRect, sizeof( mso_sptFlowChartTerminatorTextRect ) / sizeof( SvxMSDffTextRectangles ),
5161 21600, 21600,
5162 Mx80000000, Mx80000000,
5163 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
5164 NULL, 0 // handles
5165 };
5166
5167 static const SvxMSDffVertPair mso_sptFlowChartPreparationVert[] =
5168 {
5169 { 4350, 0 }, { 17250, 0 }, { 21600, 10800 }, { 17250, 21600 },
5170 { 4350, 21600 }, { 0, 10800 }, { 4350, 0 }
5171 };
5172 static const SvxMSDffTextRectangles mso_sptFlowChartPreparationTextRect[] =
5173 {
5174 { { 4350, 0 }, { 17250, 21600 } }
5175 };
5176 static const mso_CustomShape msoFlowChartPreparation =
5177 {
5178 (SvxMSDffVertPair*)mso_sptFlowChartPreparationVert, sizeof( mso_sptFlowChartPreparationVert ) / sizeof( SvxMSDffVertPair ),
5179 NULL, 0,
5180 NULL, 0,
5181 NULL,
5182 (SvxMSDffTextRectangles*)mso_sptFlowChartPreparationTextRect, sizeof( mso_sptFlowChartPreparationTextRect ) / sizeof( SvxMSDffTextRectangles ),
5183 21600, 21600,
5184 Mx80000000, Mx80000000,
5185 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
5186 NULL, 0 // handles
5187 };
5188
5189 static const SvxMSDffVertPair mso_sptFlowChartManualInputVert[] =
5190 {
5191 { 0, 4300 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 4300 }
5192 };
5193 static const SvxMSDffTextRectangles mso_sptFlowChartManualInputTextRect[] =
5194 {
5195 { { 0, 4300 }, { 21600, 21600 } }
5196 };
5197 static const SvxMSDffVertPair mso_sptFlowChartManualInputGluePoints[] =
5198 {
5199 { 10800, 2150 }, { 0, 10800 }, { 10800, 19890 }, { 21600, 10800 }
5200 };
5201 static const mso_CustomShape msoFlowChartManualInput =
5202 {
5203 (SvxMSDffVertPair*)mso_sptFlowChartManualInputVert, sizeof( mso_sptFlowChartManualInputVert ) / sizeof( SvxMSDffVertPair ),
5204 NULL, 0,
5205 NULL, 0,
5206 NULL,
5207 (SvxMSDffTextRectangles*)mso_sptFlowChartManualInputTextRect, sizeof( mso_sptFlowChartManualInputTextRect ) / sizeof( SvxMSDffTextRectangles ),
5208 21600, 21600,
5209 Mx80000000, Mx80000000,
5210 (SvxMSDffVertPair*)mso_sptFlowChartManualInputGluePoints, sizeof( mso_sptFlowChartManualInputGluePoints ) / sizeof( SvxMSDffVertPair ),
5211 NULL, 0 // handles
5212 };
5213
5214 static const SvxMSDffVertPair mso_sptFlowChartManualOperationVert[] =
5215 {
5216 { 0, 0 }, { 21600, 0 }, { 17250, 21600 }, { 4350, 21600 }, { 0, 0 }
5217 };
5218 static const SvxMSDffTextRectangles mso_sptFlowChartManualOperationTextRect[] =
5219 {
5220 { { 4350, 0 }, { 17250, 21600 } }
5221 };
5222 static const SvxMSDffVertPair mso_sptFlowChartManualOperationGluePoints[] =
5223 {
5224 { 10800, 0 }, { 2160, 10800 }, { 10800, 21600 }, { 19440, 10800 }
5225 };
5226 static const mso_CustomShape msoFlowChartManualOperation =
5227 {
5228 (SvxMSDffVertPair*)mso_sptFlowChartManualOperationVert, sizeof( mso_sptFlowChartManualOperationVert ) / sizeof( SvxMSDffVertPair ),
5229 NULL, 0,
5230 NULL, 0,
5231 NULL,
5232 (SvxMSDffTextRectangles*)mso_sptFlowChartManualOperationTextRect, sizeof( mso_sptFlowChartManualOperationTextRect ) / sizeof( SvxMSDffTextRectangles ),
5233 21600, 21600,
5234 Mx80000000, Mx80000000,
5235 (SvxMSDffVertPair*)mso_sptFlowChartManualOperationGluePoints, sizeof( mso_sptFlowChartManualOperationGluePoints ) / sizeof( SvxMSDffVertPair ),
5236 NULL, 0 // handles
5237 };
5238
5239 static const SvxMSDffVertPair mso_sptFlowChartConnectorVert[] =
5240 {
5241 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 }
5242 };
5243 static const sal_uInt16 mso_sptFlowChartConnectorSegm[] =
5244 {
5245 0xa203, 0x6000, 0x8000
5246 };
5247 static const SvxMSDffTextRectangles mso_sptFlowChartConnectorTextRect[] =
5248 {
5249 { { 3180, 3180 }, { 18420, 18420 } }
5250 };
5251 static const mso_CustomShape msoFlowChartConnector =
5252 {
5253 (SvxMSDffVertPair*)mso_sptFlowChartConnectorVert, sizeof( mso_sptFlowChartConnectorVert ) / sizeof( SvxMSDffVertPair ),
5254 (sal_uInt16*)mso_sptFlowChartConnectorSegm, sizeof( mso_sptFlowChartConnectorSegm ) >> 1,
5255 NULL, 0,
5256 NULL,
5257 (SvxMSDffTextRectangles*)mso_sptFlowChartConnectorTextRect, sizeof( mso_sptFlowChartConnectorTextRect ) / sizeof( SvxMSDffTextRectangles ),
5258 21600, 21600,
5259 Mx80000000, Mx80000000,
5260 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
5261 NULL, 0 // handles
5262 };
5263
5264 static const SvxMSDffVertPair mso_sptFlowChartOffpageConnectorVert[] =
5265 {
5266 { 0, 0 }, { 21600, 0 }, { 21600, 17150 }, { 10800, 21600 },
5267 { 0, 17150 }, { 0, 0 }
5268 };
5269 static const SvxMSDffTextRectangles mso_sptFlowChartOffpageConnectorTextRect[] =
5270 {
5271 { { 0, 0 }, { 21600, 17150 } }
5272 };
5273 static const mso_CustomShape msoFlowChartOffpageConnector =
5274 {
5275 (SvxMSDffVertPair*)mso_sptFlowChartOffpageConnectorVert, sizeof( mso_sptFlowChartOffpageConnectorVert ) / sizeof( SvxMSDffVertPair ),
5276 NULL, 0,
5277 NULL, 0,
5278 NULL,
5279 (SvxMSDffTextRectangles*)mso_sptFlowChartOffpageConnectorTextRect, sizeof( mso_sptFlowChartOffpageConnectorTextRect ) / sizeof( SvxMSDffTextRectangles ),
5280 21600, 21600,
5281 Mx80000000, Mx80000000,
5282 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
5283 NULL, 0 // handles
5284 };
5285
5286 static const SvxMSDffVertPair mso_sptFlowChartPunchedCardVert[] =
5287 {
5288 { 4300, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 },
5289 { 0, 4300 }, { 4300, 0 }
5290 };
5291 static const SvxMSDffTextRectangles mso_sptFlowChartPunchedCardTextRect[] =
5292 {
5293 { { 0, 4300 }, { 21600, 21600 } }
5294 };
5295 static const mso_CustomShape msoFlowChartPunchedCard =
5296 {
5297 (SvxMSDffVertPair*)mso_sptFlowChartPunchedCardVert, sizeof( mso_sptFlowChartPunchedCardVert ) / sizeof( SvxMSDffVertPair ),
5298 NULL, 0,
5299 NULL, 0,
5300 NULL,
5301 (SvxMSDffTextRectangles*)mso_sptFlowChartPunchedCardTextRect, sizeof( mso_sptFlowChartPunchedCardTextRect ) / sizeof( SvxMSDffTextRectangles ),
5302 21600, 21600,
5303 Mx80000000, Mx80000000,
5304 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
5305 NULL, 0 // handles
5306 };
5307
5308 static const SvxMSDffVertPair mso_sptFlowChartPunchedTapeVert[] =
5309 {
5310 { 0, 2230 }, // p
5311 { 820, 3990 }, { 3410, 3980 }, { 5370, 4360 }, // ccp
5312 { 7430, 4030 }, { 10110, 3890 }, { 10690, 2270 }, // ccp
5313 { 11440, 300 }, { 14200, 160 }, { 16150, 0 }, // ccp
5314 { 18670, 170 }, { 20690, 390 }, { 21600, 2230 }, // ccp
5315 { 21600, 19420 }, // p
5316 { 20640, 17510 }, { 18320, 17490 }, { 16140, 17240 }, // ccp
5317 { 14710, 17370 }, { 11310, 17510 }, { 10770, 19430 }, // ccp
5318 { 10150, 21150 }, { 7380, 21290 }, { 5290, 21600 }, // ccp
5319 { 3220, 21250 }, { 610, 21130 }, { 0, 19420 } // ccp
5320 };
5321 static const sal_uInt16 mso_sptFlowChartPunchedTapeSegm[] =
5322 {
5323 0x4000, 0x2004, 0x0001, 0x2004, 0x6000, 0x8000
5324 };
5325 static const SvxMSDffTextRectangles mso_sptFlowChartPunchedTapeTextRect[] =
5326 {
5327 { { 0, 4360 }, { 21600, 17240 } }
5328 };
5329 static const SvxMSDffVertPair mso_sptFlowChartPunchedTapeGluePoints[] =
5330 {
5331 { 10800, 2020 }, { 0, 10800 }, { 10800, 19320 }, { 21600, 10800 }
5332 };
5333 static const mso_CustomShape msoFlowChartPunchedTape =
5334 {
5335 (SvxMSDffVertPair*)mso_sptFlowChartPunchedTapeVert, sizeof( mso_sptFlowChartPunchedTapeVert ) / sizeof( SvxMSDffVertPair ),
5336 (sal_uInt16*)mso_sptFlowChartPunchedTapeSegm, sizeof( mso_sptFlowChartPunchedTapeSegm ) >> 1,
5337 NULL, 0,
5338 NULL,
5339 (SvxMSDffTextRectangles*)mso_sptFlowChartPunchedTapeTextRect, sizeof( mso_sptFlowChartPunchedTapeTextRect ) / sizeof( SvxMSDffTextRectangles ),
5340 21600, 21600,
5341 Mx80000000, Mx80000000,
5342 (SvxMSDffVertPair*)mso_sptFlowChartPunchedTapeGluePoints, sizeof( mso_sptFlowChartPunchedTapeGluePoints ) / sizeof( SvxMSDffVertPair ),
5343 NULL, 0 // handles
5344 };
5345
5346 static const SvxMSDffVertPair mso_sptFlowChartSummingJunctionVert[] =
5347 {
5348 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
5349
5350 { 3100, 3100 },
5351 { 18500, 18500 },
5352
5353 { 3100, 18500 },
5354 { 18500, 3100 }
5355 };
5356 static const sal_uInt16 mso_sptFlowChartSummingJunctionSegm[] =
5357 {
5358 0xa203, 0x6000, 0x8000,
5359 0x4000, 0x0001, 0x8000,
5360 0x4000, 0x0001, 0x8000
5361 };
5362 static const SvxMSDffTextRectangles mso_sptFlowChartSummingJunctionTextRect[] =
5363 {
5364 { { 3100, 3100 }, { 18500, 18500 } }
5365 };
5366 static const mso_CustomShape msoFlowChartSummingJunction =
5367 {
5368 (SvxMSDffVertPair*)mso_sptFlowChartSummingJunctionVert, sizeof( mso_sptFlowChartSummingJunctionVert ) / sizeof( SvxMSDffVertPair ),
5369 (sal_uInt16*)mso_sptFlowChartSummingJunctionSegm, sizeof( mso_sptFlowChartSummingJunctionSegm ) >> 1,
5370 NULL, 0,
5371 NULL,
5372 (SvxMSDffTextRectangles*)mso_sptFlowChartSummingJunctionTextRect, sizeof( mso_sptFlowChartSummingJunctionTextRect ) / sizeof( SvxMSDffTextRectangles ),
5373 21600, 21600,
5374 Mx80000000, Mx80000000,
5375 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
5376 NULL, 0 // handles
5377 };
5378
5379 static const SvxMSDffVertPair mso_sptFlowChartOrVert[] =
5380 {
5381 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 },
5382
5383 { 0, 10800 }, { 21600, 10800 },
5384
5385 { 10800, 0 }, { 10800, 21600 }
5386 };
5387 static const sal_uInt16 mso_sptFlowChartOrSegm[] =
5388 {
5389 0xa203, 0x6000, 0x8000,
5390 0x4000, 0x0001, 0x8000,
5391 0x4000, 0x0001, 0x8000
5392 };
5393 static const SvxMSDffTextRectangles mso_sptFlowChartOrTextRect[] =
5394 {
5395 { { 3100, 3100 }, { 18500, 18500 } }
5396 };
5397 static const mso_CustomShape msoFlowChartOr =
5398 {
5399 (SvxMSDffVertPair*)mso_sptFlowChartOrVert, sizeof( mso_sptFlowChartOrVert ) / sizeof( SvxMSDffVertPair ),
5400 (sal_uInt16*)mso_sptFlowChartOrSegm, sizeof( mso_sptFlowChartOrSegm ) >> 1,
5401 NULL, 0,
5402 NULL,
5403 (SvxMSDffTextRectangles*)mso_sptFlowChartOrTextRect, sizeof( mso_sptFlowChartOrTextRect ) / sizeof( SvxMSDffTextRectangles ),
5404 21600, 21600,
5405 Mx80000000, Mx80000000,
5406 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ),
5407 NULL, 0 // handles
5408 };
5409
5410 static const SvxMSDffVertPair mso_sptFlowChartCollateVert[] =
5411 {
5412 { 0, 0 }, { 21600, 21600 }, { 0, 21600 }, { 21600, 0 }, { 0, 0 }
5413 };
5414 static const SvxMSDffTextRectangles mso_sptFlowChartCollateTextRect[] =
5415 {
5416 { { 5400, 5400 }, { 16200, 16200 } }
5417 };
5418 static const SvxMSDffVertPair mso_sptFlowChartCollateGluePoints[] =
5419 {
5420 { 10800, 0 }, { 10800, 10800 }, { 10800, 21600 }
5421 };
5422 static const mso_CustomShape msoFlowChartCollate =
5423 {
5424 (SvxMSDffVertPair*)mso_sptFlowChartCollateVert, sizeof( mso_sptFlowChartCollateVert ) / sizeof( SvxMSDffVertPair ),
5425 NULL, 0,
5426 NULL, 0,
5427 NULL,
5428 (SvxMSDffTextRectangles*)mso_sptFlowChartCollateTextRect, sizeof( mso_sptFlowChartCollateTextRect ) / sizeof( SvxMSDffTextRectangles ),
5429 21600, 21600,
5430 Mx80000000, Mx80000000,
5431 (SvxMSDffVertPair*)mso_sptFlowChartCollateGluePoints, sizeof( mso_sptFlowChartCollateGluePoints ) / sizeof( SvxMSDffVertPair ),
5432 NULL, 0 // handles
5433 };
5434
5435 static const SvxMSDffVertPair mso_sptFlowChartSortVert[] =
5436 {
5437 { 0, 10800 }, { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 },
5438
5439 { 0, 10800 }, { 21600, 10800 }
5440 };
5441 static const sal_uInt16 mso_sptFlowChartSortSegm[] =
5442 {
5443 0x4000, 0x0003, 0x6000, 0x8000,
5444 0x4000, 0x0001, 0x8000
5445 };
5446 static const SvxMSDffTextRectangles mso_sptFlowChartSortTextRect[] =
5447 {
5448 { { 5400, 5400 }, { 16200, 16200 } }
5449 };
5450 static const mso_CustomShape msoFlowChartSort =
5451 {
5452 (SvxMSDffVertPair*)mso_sptFlowChartSortVert, sizeof( mso_sptFlowChartSortVert ) / sizeof( SvxMSDffVertPair ),
5453 (sal_uInt16*)mso_sptFlowChartSortSegm, sizeof( mso_sptFlowChartSortSegm ) >> 1,
5454 NULL, 0,
5455 NULL,
5456 (SvxMSDffTextRectangles*)mso_sptFlowChartSortTextRect, sizeof( mso_sptFlowChartSortTextRect ) / sizeof( SvxMSDffTextRectangles ),
5457 21600, 21600,
5458 Mx80000000, Mx80000000,
5459 NULL, 0,
5460 NULL, 0 // handles
5461 };
5462
5463 static const SvxMSDffVertPair mso_sptFlowChartExtractVert[] =
5464 {
5465 { 10800, 0 }, { 21600, 21600 }, { 0, 21600 }, { 10800, 0 }
5466 };
5467 static const SvxMSDffTextRectangles mso_sptFlowChartExtractTextRect[] =
5468 {
5469 { { 5400, 10800 }, { 16200, 21600 } }
5470 };
5471 static const SvxMSDffVertPair mso_sptFlowChartExtractGluePoints[] =
5472 {
5473 { 10800, 0 }, { 5400, 10800 }, { 10800, 21600 }, { 16200, 10800 }
5474 };
5475 static const mso_CustomShape msoFlowChartExtract =
5476 {
5477 (SvxMSDffVertPair*)mso_sptFlowChartExtractVert, sizeof( mso_sptFlowChartExtractVert ) / sizeof( SvxMSDffVertPair ),
5478 NULL, 0,
5479 NULL, 0,
5480 NULL,
5481 (SvxMSDffTextRectangles*)mso_sptFlowChartExtractTextRect, sizeof( mso_sptFlowChartExtractTextRect ) / sizeof( SvxMSDffTextRectangles ),
5482 21600, 21600,
5483 Mx80000000, Mx80000000,
5484 (SvxMSDffVertPair*)mso_sptFlowChartExtractGluePoints, sizeof( mso_sptFlowChartExtractGluePoints ) / sizeof( SvxMSDffVertPair ),
5485 NULL, 0 // handles
5486 };
5487
5488 static const SvxMSDffVertPair mso_sptFlowChartMergeVert[] =
5489 {
5490 { 0, 0 }, { 21600, 0 }, { 10800, 21600 }, { 0, 0 }
5491 };
5492 static const SvxMSDffTextRectangles mso_sptFlowChartMergeTextRect[] =
5493 {
5494 { { 5400, 0 }, { 16200, 10800 } }
5495 };
5496 static const mso_CustomShape msoFlowChartMerge =
5497 {
5498 (SvxMSDffVertPair*)mso_sptFlowChartMergeVert, sizeof( mso_sptFlowChartMergeVert ) / sizeof( SvxMSDffVertPair ),
5499 NULL, 0,
5500 NULL, 0,
5501 NULL,
5502 (SvxMSDffTextRectangles*)mso_sptFlowChartMergeTextRect, sizeof( mso_sptFlowChartMergeTextRect ) / sizeof( SvxMSDffTextRectangles ),
5503 21600, 21600,
5504 Mx80000000, Mx80000000,
5505 (SvxMSDffVertPair*)mso_sptFlowChartExtractGluePoints, sizeof( mso_sptFlowChartExtractGluePoints ) / sizeof( SvxMSDffVertPair ),
5506 NULL, 0 // handles
5507 };
5508
5509 static const SvxMSDffVertPair mso_sptFlowChartOnlineStorageVert[] =
5510 {
5511 { 3600, 21600 }, { 0, 10800 }, { 3600, 0 }, { 21600, 0 },
5512 { 18000, 10800 }, { 21600, 21600 }
5513 };
5514 static const sal_uInt16 mso_sptFlowChartOnlineStorageSegm[] =
5515 {
5516 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000
5517 };
5518 static const SvxMSDffTextRectangles mso_sptFlowChartOnlineStorageTextRect[] =
5519 {
5520 { { 3600, 0 }, { 18000, 21600 } }
5521 };
5522 static const SvxMSDffVertPair mso_sptFlowChartOnlineStorageGluePoints[] =
5523 {
5524 { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 18000, 10800 }
5525 };
5526 static const mso_CustomShape msoFlowChartOnlineStorage =
5527 {
5528 (SvxMSDffVertPair*)mso_sptFlowChartOnlineStorageVert, sizeof( mso_sptFlowChartOnlineStorageVert ) / sizeof( SvxMSDffVertPair ),
5529 (sal_uInt16*)mso_sptFlowChartOnlineStorageSegm, sizeof( mso_sptFlowChartOnlineStorageSegm ) >> 1,
5530 NULL, 0,
5531 NULL,
5532 (SvxMSDffTextRectangles*)mso_sptFlowChartOnlineStorageTextRect, sizeof( mso_sptFlowChartOnlineStorageTextRect ) / sizeof( SvxMSDffTextRectangles ),
5533 21600, 21600,
5534 Mx80000000, Mx80000000,
5535 (SvxMSDffVertPair*)mso_sptFlowChartOnlineStorageGluePoints, sizeof( mso_sptFlowChartOnlineStorageGluePoints ) / sizeof( SvxMSDffVertPair ),
5536 NULL, 0 // handles
5537 };
5538
5539 static const SvxMSDffVertPair mso_sptFlowChartDelayVert[] =
5540 {
5541 { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 21600 },
5542 { 0, 0 }
5543 };
5544 static const sal_uInt16 mso_sptFlowChartDelaySegm[] =
5545 {
5546 0x4000, 0xa702, 0x0002, 0x6000, 0x8000
5547 };
5548 static const SvxMSDffTextRectangles mso_sptFlowChartDelayTextRect[] =
5549 {
5550 { { 0, 3100 }, { 18500, 18500 } }
5551 };
5552 static const mso_CustomShape msoFlowChartDelay =
5553 {
5554 (SvxMSDffVertPair*)mso_sptFlowChartDelayVert, sizeof( mso_sptFlowChartDelayVert ) / sizeof( SvxMSDffVertPair ),
5555 (sal_uInt16*)mso_sptFlowChartDelaySegm, sizeof( mso_sptFlowChartDelaySegm ) >> 1,
5556 NULL, 0,
5557 NULL,
5558 (SvxMSDffTextRectangles*)mso_sptFlowChartDelayTextRect, sizeof( mso_sptFlowChartDelayTextRect ) / sizeof( SvxMSDffTextRectangles ),
5559 21600, 21600,
5560 Mx80000000, Mx80000000,
5561 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
5562 NULL, 0 // handles
5563 };
5564
5565 static const SvxMSDffVertPair mso_sptFlowChartMagneticTapeVert[] =
5566 {
5567 { 20980, 18150 }, { 20980, 21600 }, { 10670, 21600 },
5568 { 4770, 21540 }, { 0, 16720 }, { 0, 10800 }, // ccp
5569 { 0, 4840 }, { 4840, 0 }, { 10800, 0 }, // ccp
5570 { 16740, 0 }, { 21600, 4840 }, { 21600, 10800 }, // ccp
5571 { 21600, 13520 }, { 20550, 16160 }, { 18670, 18170 } // ccp
5572 };
5573 static const sal_uInt16 mso_sptFlowChartMagneticTapeSegm[] =
5574 {
5575 0x4000, 0x0002, 0x2004, 0x6000, 0x8000
5576 };
5577 static const SvxMSDffTextRectangles mso_sptFlowChartMagneticTapeTextRect[] =
5578 {
5579 { { 3100, 3100 }, { 18500, 18500 } }
5580 };
5581 static const mso_CustomShape msoFlowChartMagneticTape =
5582 {
5583 (SvxMSDffVertPair*)mso_sptFlowChartMagneticTapeVert, sizeof( mso_sptFlowChartMagneticTapeVert ) / sizeof( SvxMSDffVertPair ),
5584 (sal_uInt16*)mso_sptFlowChartMagneticTapeSegm, sizeof( mso_sptFlowChartMagneticTapeSegm ) >> 1,
5585 NULL, 0,
5586 NULL,
5587 (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticTapeTextRect, sizeof( mso_sptFlowChartMagneticTapeTextRect ) / sizeof( SvxMSDffTextRectangles ),
5588 21600, 21600,
5589 Mx80000000, Mx80000000,
5590 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
5591 NULL, 0 // handles
5592 };
5593
5594 static const SvxMSDffVertPair mso_sptFlowChartMagneticDiskVert[] =
5595 {
5596 { 0, 3400 }, { 10800, 0 }, { 21600, 3400 }, { 21600, 18200 },
5597 { 10800, 21600 }, { 0, 18200 },
5598
5599 { 0, 3400 }, { 10800, 6800 }, { 21600, 3400 }
5600 };
5601 static const sal_uInt16 mso_sptFlowChartMagneticDiskSegm[] =
5602 {
5603 0x4000, 0xa802, 0x0001, 0xa802, 0x6000, 0x8000,
5604 0x4000, 0xa802, 0x8000
5605 };
5606 static const SvxMSDffTextRectangles mso_sptFlowChartMagneticDiskTextRect[] =
5607 {
5608 { { 0, 6800 }, { 21600, 18200 } }
5609 };
5610 static const SvxMSDffVertPair mso_sptFlowChartMagneticDiskGluePoints[] =
5611 {
5612 { 10800, 6800 }, { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }
5613 };
5614 static const mso_CustomShape msoFlowChartMagneticDisk =
5615 {
5616 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDiskVert, sizeof( mso_sptFlowChartMagneticDiskVert ) / sizeof( SvxMSDffVertPair ),
5617 (sal_uInt16*)mso_sptFlowChartMagneticDiskSegm, sizeof( mso_sptFlowChartMagneticDiskSegm ) >> 1,
5618 NULL, 0,
5619 NULL,
5620 (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticDiskTextRect, sizeof( mso_sptFlowChartMagneticDiskTextRect ) / sizeof( SvxMSDffTextRectangles ),
5621 21600, 21600,
5622 Mx80000000, Mx80000000,
5623 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDiskGluePoints, sizeof( mso_sptFlowChartMagneticDiskGluePoints ) / sizeof( SvxMSDffVertPair ),
5624 NULL, 0 // handles
5625 };
5626
5627 static const SvxMSDffVertPair mso_sptFlowChartMagneticDrumVert[] =
5628 {
5629 { 18200, 0 }, { 21600, 10800 }, { 18200, 21600 }, { 3400, 21600 },
5630 { 0, 10800 }, { 3400, 0 },
5631
5632 { 18200, 0 }, { 14800, 10800 }, { 18200, 21600 }
5633 };
5634 static const sal_uInt16 mso_sptFlowChartMagneticDrumSegm[] =
5635 {
5636 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000,
5637 0x4000, 0xa702, 0x8000
5638 };
5639 static const SvxMSDffTextRectangles mso_sptFlowChartMagneticDrumTextRect[] =
5640 {
5641 { { 3400, 0 }, { 14800, 21600 } }
5642 };
5643 static const SvxMSDffVertPair mso_sptFlowChartMagneticDrumGluePoints[] =
5644 {
5645 { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 14800, 10800 }, { 21600, 10800 }
5646 };
5647 static const mso_CustomShape msoFlowChartMagneticDrum =
5648 {
5649 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDrumVert, sizeof( mso_sptFlowChartMagneticDrumVert ) / sizeof( SvxMSDffVertPair ),
5650 (sal_uInt16*)mso_sptFlowChartMagneticDrumSegm, sizeof( mso_sptFlowChartMagneticDrumSegm ) >> 1,
5651 NULL, 0,
5652 NULL,
5653 (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticDrumTextRect, sizeof( mso_sptFlowChartMagneticDrumTextRect ) / sizeof( SvxMSDffTextRectangles ),
5654 21600, 21600,
5655 Mx80000000, Mx80000000,
5656 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDrumGluePoints, sizeof( mso_sptFlowChartMagneticDrumGluePoints ) / sizeof( SvxMSDffVertPair ),
5657 NULL, 0 // handles
5658 };
5659
5660 static const SvxMSDffVertPair mso_sptFlowChartDisplayVert[] =
5661 {
5662 { 3600, 0 }, { 17800, 0 }, { 21600, 10800 }, { 17800, 21600 },
5663 { 3600, 21600 }, { 0, 10800 }
5664 };
5665 static const sal_uInt16 mso_sptFlowChartDisplaySegm[] =
5666 {
5667 0x4000, 0x0001, 0xa702, 0x0002, 0x6000, 0x8000
5668 };
5669 static const SvxMSDffTextRectangles mso_sptFlowChartDisplayTextRect[] =
5670 {
5671 { { 3600, 0 }, { 17800, 21600 } }
5672 };
5673 static const mso_CustomShape msoFlowChartDisplay =
5674 {
5675 (SvxMSDffVertPair*)mso_sptFlowChartDisplayVert, sizeof( mso_sptFlowChartDisplayVert ) / sizeof( SvxMSDffVertPair ),
5676 (sal_uInt16*)mso_sptFlowChartDisplaySegm, sizeof( mso_sptFlowChartDisplaySegm ) >> 1,
5677 NULL, 0,
5678 NULL,
5679 (SvxMSDffTextRectangles*)mso_sptFlowChartDisplayTextRect, sizeof( mso_sptFlowChartDisplayTextRect ) / sizeof( SvxMSDffTextRectangles ),
5680 21600, 21600,
5681 Mx80000000, Mx80000000,
5682 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ),
5683 NULL, 0 // handles
5684 };
5685
5686 static const SvxMSDffVertPair mso_sptWedgeRectCalloutVert[] =
5687 {
5688 { 0, 0 },
5689 { 0, 3590 }, { 2 MSO_I, 3 MSO_I }, { 0, 8970 },
5690 { 0, 12630 },{ 4 MSO_I, 5 MSO_I }, { 0, 18010 },
5691 { 0, 21600 },
5692 { 3590, 21600 }, { 6 MSO_I, 7 MSO_I }, { 8970, 21600 },
5693 { 12630, 21600 }, { 8 MSO_I, 9 MSO_I }, { 18010, 21600 },
5694 { 21600, 21600 },
5695 { 21600, 18010 }, { 10 MSO_I, 11 MSO_I }, { 21600, 12630 },
5696 { 21600, 8970 }, { 12 MSO_I, 13 MSO_I }, { 21600, 3590 },
5697 { 21600, 0 },
5698 { 18010, 0 }, { 14 MSO_I, 15 MSO_I }, { 12630, 0 },
5699 { 8970, 0 }, { 16 MSO_I, 17 MSO_I }, { 3590, 0 },
5700 { 0, 0 }
5701 };
5702 static const SvxMSDffCalculationData mso_sptWedgeRectCalloutCalc[] =
5703 {
5704 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } }, //0x400
5705 { 0x2000, { DFF_Prop_adjust2Value, 0,10800 } },
5706 { 0x6006, { 0x412, DFF_Prop_adjustValue, 0 } }, //0x402
5707 { 0x6006, { 0x412, DFF_Prop_adjust2Value, 6280 } },
5708 { 0x6006, { 0x417, DFF_Prop_adjustValue, 0 } }, //0x404
5709 { 0x6006, { 0x417, DFF_Prop_adjust2Value, 15320 } },
5710 { 0x6006, { 0x41a, DFF_Prop_adjustValue, 6280 } }, //0x406
5711 { 0x6006, { 0x41a, DFF_Prop_adjust2Value, 21600 } },
5712 { 0x6006, { 0x41d, DFF_Prop_adjustValue, 15320 } }, //0x408
5713 { 0x6006, { 0x41d, DFF_Prop_adjust2Value, 21600 } },
5714 { 0x6006, { 0x420, DFF_Prop_adjustValue, 21600 } }, //0x40a
5715 { 0x6006, { 0x420, DFF_Prop_adjust2Value, 15320 } },
5716 { 0x6006, { 0x422, DFF_Prop_adjustValue, 21600 } }, //0x40c
5717 { 0x6006, { 0x422, DFF_Prop_adjust2Value, 6280 } },
5718 { 0x6006, { 0x424, DFF_Prop_adjustValue, 15320 } }, //0x40e
5719 { 0x6006, { 0x424, DFF_Prop_adjust2Value, 0 } },
5720 { 0x6006, { 0x426, DFF_Prop_adjustValue, 6280 } }, //0x410
5721 { 0x6006, { 0x426, DFF_Prop_adjust2Value, 0 } },
5722 { 0xa006, { DFF_Prop_adjustValue, -1, 0x413 } }, //0x412
5723 { 0xa006, { 0x401, -1, 0x416 } },
5724 { 0x2003, { 0x400, 0, 0 } }, //0x414
5725 { 0x2003, { 0x401, 0, 0 } },
5726 { 0xa000, { 0x414, 0, 0x415 } }, //0x416
5727 { 0xa006, { DFF_Prop_adjustValue, -1, 0x418 } },
5728 { 0x6006, { 0x401, 0x416, -1 } }, //0x418
5729 { 0x2000, { DFF_Prop_adjust2Value, 0, 21600 } },
5730 { 0x6006, { 0x419, 0x41b, -1 } }, //0x41a
5731 { 0xa006, { 0x400, -1, 0x41c } },
5732 { 0xa000, { 0x415, 0, 0x414 } }, //0x41c
5733 { 0x6006, { 0x419, 0x41e, -1 } },
5734 { 0x6006, { 0x400, 0x41c, -1 } }, //0x41e
5735 { 0x2000, { DFF_Prop_adjustValue, 0, 21600 } },
5736 { 0x6006, { 0x41f, 0x421, -1 } }, //0x420
5737 { 0x6006, { 0x401, 0x416, -1 } },
5738 { 0x6006, { 0x41f, 0x423, -1 } }, //0x422
5739 { 0xa006, { 0x401, -1, 0x416 } },
5740 { 0xa006, { DFF_Prop_adjust2Value, -1, 0x425 } }, //0x424
5741 { 0x6006, { 0x400, 0x41c, -1 } },
5742 { 0xa006, { DFF_Prop_adjust2Value, -1, 0x427 } }, //0x426
5743 { 0xa006, { 0x400, -1, 0x41c } },
5744 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //0x428
5745 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }
5746 };
5747 static const sal_Int32 mso_sptWedgeRectCalloutDefault[] =
5748 {
5749 2, 1400, 25920
5750 };
5751 static const SvxMSDffTextRectangles mso_sptWedgeRectCalloutTextRect[] =
5752 {
5753 { { 0, 0 }, { 21600, 21600 } }
5754 };
5755 static const SvxMSDffVertPair mso_sptWedgeRectCalloutGluePoints[] =
5756 {
5757 { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }, { 40 MSO_I, 41 MSO_I }
5758 };
5759 static const SvxMSDffHandle mso_sptCalloutHandle[] =
5760 {
5761 {
5762 0,
5763 0x100, 0x101, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff
5764 }
5765 };
5766 static const mso_CustomShape msoWedgeRectCallout =
5767 {
5768 (SvxMSDffVertPair*)mso_sptWedgeRectCalloutVert, sizeof( mso_sptWedgeRectCalloutVert ) / sizeof( SvxMSDffVertPair ),
5769 NULL, 0,
5770 (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, sizeof( mso_sptWedgeRectCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
5771 (sal_Int32*)mso_sptWedgeRectCalloutDefault,
5772 (SvxMSDffTextRectangles*)mso_sptWedgeRectCalloutTextRect, sizeof( mso_sptWedgeRectCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
5773 21600, 21600,
5774 Mx80000000, Mx80000000,
5775 (SvxMSDffVertPair*)mso_sptWedgeRectCalloutGluePoints, sizeof( mso_sptWedgeRectCalloutGluePoints ) / sizeof( SvxMSDffVertPair ),
5776 (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles
5777 };
5778 static const SvxMSDffVertPair mso_sptWedgeRRectCalloutVert[] =
5779 {
5780 { 3590, 0 },
5781 { 0, 3590 },
5782 { 2 MSO_I, 3 MSO_I }, { 0, 8970 },
5783 { 0, 12630 },{ 4 MSO_I, 5 MSO_I }, { 0, 18010 },
5784 { 3590, 21600 },
5785 { 6 MSO_I, 7 MSO_I }, { 8970, 21600 },
5786 { 12630, 21600 }, { 8 MSO_I, 9 MSO_I }, { 18010, 21600 },
5787 { 21600, 18010 },
5788 { 10 MSO_I, 11 MSO_I }, { 21600, 12630 },
5789 { 21600, 8970 }, { 12 MSO_I, 13 MSO_I }, { 21600, 3590 },
5790 { 18010, 0 },
5791 { 14 MSO_I, 15 MSO_I }, { 12630, 0 },
5792 { 8970, 0 }, { 16 MSO_I, 17 MSO_I }
5793 };
5794 static const sal_uInt16 mso_sptWedgeRRectCalloutSegm[] =
5795 {
5796 0x4000, 0xa701, 0x0005, 0xa801, 0x0005, 0xa701, 0x0005, 0xa801, 0x0004, 0x6001, 0x8000
5797 };
5798 static const SvxMSDffTextRectangles mso_sptWedgeRRectCalloutTextRect[] =
5799 {
5800 { { 800, 800 }, { 20800, 20800 } }
5801 };
5802 static const mso_CustomShape msoWedgeRRectCallout =
5803 {
5804 (SvxMSDffVertPair*)mso_sptWedgeRRectCalloutVert, sizeof( mso_sptWedgeRRectCalloutVert ) / sizeof( SvxMSDffVertPair ),
5805 (sal_uInt16*)mso_sptWedgeRRectCalloutSegm, sizeof( mso_sptWedgeRRectCalloutSegm ) >> 1,
5806 (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, sizeof( mso_sptWedgeRectCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
5807 (sal_Int32*)mso_sptWedgeRectCalloutDefault,
5808 (SvxMSDffTextRectangles*)mso_sptWedgeRRectCalloutTextRect, sizeof( mso_sptWedgeRRectCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
5809 21600, 21600,
5810 Mx80000000, Mx80000000,
5811 NULL, 0,
5812 (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles
5813 };
5814 static const SvxMSDffVertPair mso_sptBalloonVert[] =
5815 {
5816 { 3590, 0 },
5817 { 0, 3590 },
5818 { 0, 14460 },
5819 { 3590, 18050 },
5820 { 40 MSO_I, 21600 }, { 5420, 18050 },
5821 { 18010, 18050 },
5822 { 21600, 14460 },
5823 { 21600, 3590 },
5824 { 18010, 0 }
5825 };
5826 static const sal_uInt16 mso_sptBalloonSegm[] =
5827 {
5828 0x4000, 0xa701, 0x0001, 0xa801, 0x0003, 0xa701, 0x0001, 0xa801, 0x6001, 0x8000
5829 };
5830 static const SvxMSDffHandle mso_sptBalloonHandle[] =
5831 {
5832 {
5833 MSDFF_HANDLE_FLAGS_RANGE,
5834 0x100, 1, 10800, 10800, 0, 8990, Mx80000000, 0x7fffffff
5835 }
5836 };
5837 static const SvxMSDffTextRectangles mso_sptBalloonTextRect[] =
5838 {
5839 { { 800, 800 }, { 20800, 17250 } }
5840 };
5841 static const mso_CustomShape msoBalloon =
5842 {
5843 (SvxMSDffVertPair*)mso_sptBalloonVert, sizeof( mso_sptBalloonVert ) / sizeof( SvxMSDffVertPair ),
5844 (sal_uInt16*)mso_sptBalloonSegm, sizeof( mso_sptBalloonSegm ) >> 1,
5845 (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, sizeof( mso_sptWedgeRectCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
5846 (sal_Int32*)mso_sptWedgeRectCalloutDefault,
5847 (SvxMSDffTextRectangles*)mso_sptBalloonTextRect, sizeof( mso_sptBalloonTextRect ) / sizeof( SvxMSDffTextRectangles ),
5848 21600, 21600,
5849 Mx80000000, Mx80000000,
5850 NULL, 0,
5851 (SvxMSDffHandle*)mso_sptBalloonHandle, sizeof( mso_sptBalloonHandle ) / sizeof( SvxMSDffHandle ) // handles
5852 };
5853 static const SvxMSDffVertPair mso_sptWedgeEllipseCalloutVert[] =
5854 {
5855 { 0, 0 }, { 21600, 21600 }, { 0x16 MSO_I, 0x17 MSO_I }, { 0x12 MSO_I, 0x13 MSO_I }, { 0xe MSO_I, 0xf MSO_I }
5856 };
5857 static const sal_uInt16 mso_sptWedgeEllipseCalloutSegm[] =
5858 {
5859 0xa504, 0x0001, 0x6001, 0x8000
5860 };
5861 static const SvxMSDffCalculationData mso_sptWedgeEllipseCalloutCalc[] =
5862 {
5863 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } }, // 00 rad x
5864 { 0x2000, { DFF_Prop_adjust2Value, 0, 10800 } }, // 01 rad y
5865 { 0x6001, { 0x400, 0x400, 1 } }, // 02 rad x^2
5866 { 0x6001, { 0x401, 0x401, 1 } }, // 03 rad y^2
5867 { 0x6000, { 0x402, 0x403, 0 } }, // 04
5868 { 0x200d, { 0x404, 0, 0 } }, // 05
5869 { 0x2000, { 0x405, 0, 10800 } }, // 06 > 0 ? spur needs to be drawn : 10800
5870 { 0x6008, { 0x400, 0x401, 0 } }, // 07 atan2 -> angle
5871 { 0x2000, { 0x407, 0, 10 } }, // 08
5872 { 0x2000, { 0x407, 10, 0 } }, // 09
5873 { 0x400a, { 10800, 0x407, 0 } }, // 0a
5874 { 0x4009, { 10800, 0x407, 0 } }, // 0b
5875 { 0x2000, { 0x40a, 10800, 0 } }, // 0c
5876 { 0x2000, { 0x40b, 10800, 0 } }, // 0d
5877 { 0xe006, { 0x406, DFF_Prop_adjustValue, 0x40c } }, // 0e
5878 { 0xe006, { 0x406, DFF_Prop_adjust2Value, 0x40d } },// 0f
5879 { 0x400a, { 10800, 0x408, 0 } }, // 10
5880 { 0x4009, { 10800, 0x408, 0 } }, // 11
5881 { 0x2000, { 0x410, 10800, 0 } }, // 12
5882 { 0x2000, { 0x411, 10800, 0 } }, // 13
5883 { 0x400a, { 10800, 0x409, 0 } }, // 14
5884 { 0x4009, { 10800, 0x409, 0 } }, // 15
5885 { 0x2000, { 0x414, 10800, 0 } }, // 16
5886 { 0x2000, { 0x415, 10800, 0 } } // 17
5887 };
5888 static const sal_Int32 mso_sptWedgeEllipseCalloutDefault[] =
5889 {
5890 2, 1350, 25920
5891 };
5892 static const SvxMSDffVertPair mso_sptWedgeEllipseCalloutGluePoints[] =
5893 {
5894 { 10800, 0 }, { 3160, 3160 }, { 0, 10800 }, { 3160, 18440 }, { 10800, 21600 }, { 18440, 18440 }, { 21600, 10800 }, { 18440, 3160 }, { 0xe MSO_I, 0xf MSO_I }
5895 };
5896 static const SvxMSDffTextRectangles mso_sptWedgeEllipseCalloutTextRect[] =
5897 {
5898 { { 3200, 3200 }, { 18400, 18400 } }
5899 };
5900 static const mso_CustomShape msoWedgeEllipseCallout =
5901 {
5902 (SvxMSDffVertPair*)mso_sptWedgeEllipseCalloutVert, sizeof( mso_sptWedgeEllipseCalloutVert ) / sizeof( SvxMSDffVertPair ),
5903 (sal_uInt16*)mso_sptWedgeEllipseCalloutSegm, sizeof( mso_sptWedgeEllipseCalloutSegm ) >> 1,
5904 (SvxMSDffCalculationData*)mso_sptWedgeEllipseCalloutCalc, sizeof( mso_sptWedgeEllipseCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
5905 (sal_Int32*)mso_sptWedgeEllipseCalloutDefault,
5906 (SvxMSDffTextRectangles*)mso_sptWedgeEllipseCalloutTextRect, sizeof( mso_sptWedgeEllipseCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
5907 21600, 21600,
5908 Mx80000000, Mx80000000,
5909 (SvxMSDffVertPair*)mso_sptWedgeEllipseCalloutGluePoints, sizeof( mso_sptWedgeEllipseCalloutGluePoints ) / sizeof( SvxMSDffVertPair ),
5910 (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles
5911 };
5912
5913 static const SvxMSDffVertPair mso_sptCloudCalloutVert[] =
5914 {
5915 { 1930,7160 }, // p
5916 { 1530,4490 }, { 3400,1970 }, { 5270,1970 }, // ccp
5917 { 5860,1950 }, { 6470,2210 }, { 6970,2600 }, // ccp
5918 { 7450,1390 }, { 8340,650 }, { 9340,650 }, // ccp
5919 { 10004,690 }, { 10710,1050 }, { 11210,1700 }, // ccp
5920 { 11570,630 }, { 12330,0 }, { 13150,0 }, // ccp
5921 { 13840,0 }, { 14470,460 }, { 14870,1160 }, // ccp
5922 { 15330,440 }, { 16020,0 }, { 16740,0 }, // ccp
5923 { 17910,0 }, { 18900,1130 }, { 19110,2710 }, // ccp
5924 { 20240,3150 }, { 21060,4580 }, { 21060,6220 }, // ccp
5925 { 21060,6720 }, { 21000,7200 }, { 20830,7660 }, // ccp
5926 { 21310,8460 }, { 21600,9450 }, { 21600,10460 }, // ccp
5927 { 21600,12750 }, { 20310,14680 }, { 18650,15010 }, // ccp
5928 { 18650,17200 }, { 17370,18920 }, { 15770,18920 }, // ccp
5929 { 15220,18920 }, { 14700,18710 }, { 14240,18310 }, // ccp
5930 { 13820,20240 }, { 12490,21600 }, { 11000,21600 }, // ccp
5931 { 9890,21600 }, { 8840,20790 }, { 8210,19510 }, // ccp
5932 { 7620,20000 }, { 7930,20290 }, { 6240,20290 }, // ccp
5933 { 4850,20290 }, { 3570,19280 }, { 2900,17640 }, // ccp
5934 { 1300,17600 }, { 480,16300 }, { 480,14660 }, // ccp
5935 { 480,13900 }, { 690,13210 }, { 1070,12640 }, // ccp
5936 { 380,12160 }, { 0,11210 }, { 0,10120 }, // ccp
5937 { 0,8590 }, { 840,7330 }, { 1930,7160 }, // ccp
5938
5939 { 1930, 7160 }, { 1950, 7410 }, { 2040, 7690 }, { 2090, 7920 }, // pccp
5940 { 6970, 2600 }, { 7200, 2790 }, { 7480, 3050 }, { 7670, 3310 }, // pccp
5941 { 11210, 1700 }, { 11130, 1910 }, { 11080, 2160 }, { 11030, 2400 }, // pccp
5942 { 14870, 1160 }, { 14720, 1400 }, { 14640, 1720 }, { 14540, 2010 }, // pccp
5943 { 19110, 2710 }, { 19130, 2890 }, { 19230, 3290 }, { 19190, 3380 }, // pccp
5944 { 20830, 7660 }, { 20660, 8170 }, { 20430, 8620 }, { 20110, 8990 }, // pccp
5945 { 18660, 15010 }, { 18740, 14200 }, { 18280, 12200 }, { 17000, 11450 }, // pccp
5946 { 14240, 18310 }, { 14320, 17980 }, { 14350, 17680 }, { 14370, 17360 }, // pccp
5947 { 8220, 19510 }, { 8060, 19250 }, { 7960, 18950 }, { 7860, 18640 }, // pccp
5948 { 2900, 17640 }, { 3090, 17600 }, { 3280, 17540 }, { 3460, 17450 }, // pccp
5949 { 1070, 12640 }, { 1400, 12900 }, { 1780, 13130 }, { 2330, 13040 }, // pccp
5950
5951 { 0x11 MSO_I, 0x12 MSO_I }, { 1800, 1800 }, { 0, 360 }, // circ1
5952 { 0x13 MSO_I, 0x14 MSO_I }, { 1200, 1200 }, { 0, 360 }, // circ2
5953 { 0xd MSO_I, 0xe MSO_I }, { 700, 700 }, { 0, 360 } // circ3
5954 };
5955 static const sal_uInt16 mso_sptCloudCalloutSegm[] =
5956 {
5957 0x4000, 0x2016, 0x6001, 0x8000,
5958 0x4000, 0x2001, 0xaa00, 0x8000,
5959 0x4000, 0x2001, 0xaa00, 0x8000,
5960 0x4000, 0x2001, 0xaa00, 0x8000,
5961 0x4000, 0x2001, 0xaa00, 0x8000,
5962 0x4000, 0x2001, 0xaa00, 0x8000,
5963 0x4000, 0x2001, 0xaa00, 0x8000,
5964 0x4000, 0x2001, 0xaa00, 0x8000,
5965 0x4000, 0x2001, 0xaa00, 0x8000,
5966 0x4000, 0x2001, 0xaa00, 0x8000,
5967 0x4000, 0x2001, 0xaa00, 0x8000,
5968 0x4000, 0x2001, 0xaa00, 0x8000,
5969 0xa203, 0x6001, 0x8000,
5970 0xa203, 0x6001, 0x8000,
5971 0xa203, 0x6001, 0x8000
5972 };
5973 static const SvxMSDffCalculationData mso_sptCloudCalloutCalc[] =
5974 {
5975 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } },
5976 { 0x2000, { DFF_Prop_adjust2Value, 0, 10800 } },
5977 { 0x6008, { 0x400, 0x401, 0 } },
5978 { 0x400a, { 10800, 0x402, 0 } }, // 3
5979 { 0x4009, { 10800, 0x402, 0 } }, // 4
5980 { 0x2000, { 0x403, 10800, 0 } }, // 5
5981 { 0x2000, { 0x404, 10800, 0 } }, // 6
5982 { 0xa000, { DFF_Prop_adjustValue, 0, 0x405 } }, // 7
5983 { 0xa000, { DFF_Prop_adjust2Value,0, 0x406 } }, // 8
5984 { 0x2001, { 0x407, 1, 3 } }, // 9
5985 { 0x2001, { 0x408, 1, 3 } }, // 0xa
5986 { 0x2001, { 0x407, 2, 3 } }, // 0xb
5987 { 0x2001, { 0x408, 2, 3 } }, // 0xc
5988 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0xd
5989 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 0xe
5990 { 0x2001, { 0x403, 1, 10800 / 900 } }, // 0xf taking half x distance of the radius from the first bobble
5991 { 0x2001, { 0x404, 1, 10800 / 900 } }, // 0x10
5992 { 0xe000, { 0x409, 0x405, 0x40f } }, // 0x11
5993 { 0xe000, { 0x40a, 0x406, 0x410 } }, // 0x12
5994 { 0x6000, { 0x40b, 0x405, 0 } }, // 0x13
5995 { 0x6000, { 0x40c, 0x406, 0 } } // 0x14
5996 };
5997 static const sal_Int32 mso_sptCloudCalloutDefault[] =
5998 {
5999 2, 1350, 25920
6000 };
6001 static const SvxMSDffTextRectangles mso_sptCloudCalloutTextRect[] =
6002 {
6003 { { 3000, 3320 }, { 17110, 17330 } }
6004 };
6005 static const mso_CustomShape msoCloudCallout =
6006 {
6007 (SvxMSDffVertPair*)mso_sptCloudCalloutVert, sizeof( mso_sptCloudCalloutVert ) / sizeof( SvxMSDffVertPair ),
6008 (sal_uInt16*)mso_sptCloudCalloutSegm, sizeof( mso_sptCloudCalloutSegm ) >> 1,
6009 (SvxMSDffCalculationData*)mso_sptCloudCalloutCalc, sizeof( mso_sptCloudCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
6010 (sal_Int32*)mso_sptCloudCalloutDefault,
6011 (SvxMSDffTextRectangles*)mso_sptCloudCalloutTextRect, sizeof( mso_sptCloudCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ),
6012 21600, 21600,
6013 Mx80000000, Mx80000000,
6014 NULL, 0,
6015 (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles
6016 };
6017
6018 static const SvxMSDffVertPair mso_sptWaveVert[] = // adjustment1 : 0 - 4460
6019 { // adjustment2 : 8640 - 12960
6020 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
6021 { 24 MSO_I, 1 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 29 MSO_I, 1 MSO_I }
6022 };
6023 static const SvxMSDffCalculationData mso_sptWaveCalc[] =
6024 {
6025 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //400 (vert.adj)
6026 { 0x8000, { 21600, 0, 0x400 } }, //401
6027 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },//402 (horz.adj)
6028 { 0x2000, { 0x402, 0, 10800 } }, //403 -2160 -> 2160 (horz.adj)
6029 { 0x2001, { 0x403, 2, 1 } }, //404 -4320 -> 4320 (horz.adj)
6030 { 0x2003, { 0x404, 0, 0 } }, //405 abs( 0x404 ) (horz.adj)
6031 { 0x8000, { 4320, 0, 0x405 } }, //406
6032 { 0xa006, { 0x403, 0, 0x405 } }, //407
6033 { 0x4001, { 15800, 0x400, 4460 } }, //408 0 -> 15800 (vert.adj)
6034 { 0xa000, { 0x400, 0, 0x408 } }, //409
6035 { 0x6000, { 0x400, 0x408, 0 } }, //40a
6036 { 0x8000, { 21600, 0, 0x404 } }, //40b
6037 { 0x6006, { 0x403, 0x40b, 21600 } }, //40c
6038 { 0xa000, { 0x40c, 0, 0x407 } }, //40d width between p0 and p1
6039 { 0x2001, { 0x405, 1, 2 } }, //40e
6040 { 0xa000, { 0x407, 7200, 0x40e } }, //40f
6041 { 0x6000, { 0x40c, 0x40e, 7200 } }, //410
6042 { 0x2001, { 0x40d, 1, 2 } }, //411 1/2 width
6043 { 0x6000, { 0x407, 0x411, 0 } }, //412 top center glue xpos
6044 { 0x8000, { 21600, 0, 0x412 } }, //413 bottom center glue xpos
6045 { 0x2001, { 0x405, 1, 2 } }, //414 left glue x pos
6046 { 0x8000, { 21600, 0, 0x414 } }, //415 right glue x pos
6047 { 0x2001, { 0x400, 2, 1 } }, //416 y1 (textbox)
6048 { 0x8000, { 21600, 0, 0x416 } }, //417 y2 (textbox)
6049
6050 { 0x8000, { 21600, 0, 0x407 } }, //418 p2
6051
6052 { 0x8000, { 21600, 0, 0x40f } }, //419 c
6053 { 0x6000, { 0x401, 0x408, 0 } }, //41a
6054
6055 { 0x8000, { 21600, 0, 0x410 } }, //41b c
6056 { 0xa000, { 0x401, 0, 0x408 } }, //41c
6057
6058 { 0x8000, { 21600, 0, 0x40c } } //41d p3
6059 };
6060 static const SvxMSDffVertPair mso_sptWaveGluePoints[] =
6061 {
6062 { 0x12 MSO_I, 0 MSO_I }, { 0x14 MSO_I, 10800 }, { 0x13 MSO_I, 1 MSO_I }, { 0x15 MSO_I, 10800 }
6063 };
6064 static const sal_uInt16 mso_sptWaveSegm[] =
6065 {
6066 0x4000, 0x2001, 0x0001, 0x2001, 0x6000, 0x8000
6067 };
6068 static const SvxMSDffHandle mso_sptWaveHandle[] =
6069 {
6070 { MSDFF_HANDLE_FLAGS_RANGE,
6071 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 4460 },
6072 { MSDFF_HANDLE_FLAGS_RANGE,
6073 0x101, 21600, 10800, 10800, 8640, 12960, Mx80000000, 0x7fffffff }
6074 };
6075 static const sal_Int32 mso_sptWaveDefault[] =
6076 {
6077 2, 1400, 10800
6078 };
6079 static const SvxMSDffTextRectangles mso_sptWaveTextRect[] =
6080 {
6081 { { 5 MSO_I, 22 MSO_I }, { 11 MSO_I, 23 MSO_I } }
6082 };
6083 static const mso_CustomShape msoWave =
6084 {
6085 (SvxMSDffVertPair*)mso_sptWaveVert, sizeof( mso_sptWaveVert ) / sizeof( SvxMSDffVertPair ),
6086 (sal_uInt16*)mso_sptWaveSegm, sizeof( mso_sptWaveSegm ) >> 1,
6087 (SvxMSDffCalculationData*)mso_sptWaveCalc, sizeof( mso_sptWaveCalc ) / sizeof( SvxMSDffCalculationData ),
6088 (sal_Int32*)mso_sptWaveDefault,
6089 (SvxMSDffTextRectangles*)mso_sptWaveTextRect, sizeof( mso_sptWaveTextRect ) / sizeof( SvxMSDffTextRectangles ),
6090 21600, 21600,
6091 Mx80000000, Mx80000000,
6092 (SvxMSDffVertPair*)mso_sptWaveGluePoints, sizeof( mso_sptWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
6093 (SvxMSDffHandle*)mso_sptWaveHandle, sizeof( mso_sptWaveHandle ) / sizeof( SvxMSDffHandle )
6094 };
6095
6096 static const SvxMSDffVertPair mso_sptDoubleWaveVert[] = // adjustment1 : 0 - 2230
6097 { // adjustment2 : 8640 - 12960
6098 { 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 },
6099 { 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 }
6100 };
6101 static const SvxMSDffCalculationData mso_sptDoubleWaveCalc[] =
6102 {
6103 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //400 (vert.adj)
6104 { 0x8000, { 21600, 0, 0x400 } }, //401
6105 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },//402 (horz.adj)
6106 { 0x2000, { 0x402, 0, 10800 } }, //403 -2160 -> 2160 (horz.adj)
6107 { 0x2001, { 0x403, 2, 1 } }, //404 -4320 -> 4320 (horz.adj)
6108 { 0x2003, { 0x404, 0, 0 } }, //405 abs( 0x404 ) (horz.adj)
6109 { 0x8000, { 4320, 0, 0x405 } }, //406 -> not used
6110 { 0xa006, { 0x403, 0, 0x405 } }, //407
6111 { 0x4001, { 7900, 0x400, 2230 } }, //408 0 -> 7900 (vert.adj)
6112 { 0xa000, { 0x400, 0, 0x408 } }, //409
6113 { 0x6000, { 0x400, 0x408, 0 } }, //40a
6114 { 0x8000, { 21600, 0, 0x404 } }, //40b
6115 { 0x6006, { 0x403, 0x40b, 21600 } }, //40c
6116 { 0xa000, { 0x40c, 0, 0x407 } }, //40d width between p0 and p1
6117 { 0x2001, { 0x405, 1, 2 } }, //40e
6118 { 0xa000, { 0x407, 3600, 0x40e } }, //40f
6119 { 0x6000, { 0x40c, 0x40e, 3600 } }, //410
6120 { 0x2001, { 0x40d, 1, 2 } }, //411 1/2 width
6121 { 0x6000, { 0x407, 0x411, 0 } }, //412 top center glue xpos
6122 { 0x8000, { 21600, 0, 0x412 } }, //413 bottom center glue xpos
6123 { 0x2001, { 0x405, 1, 2 } }, //414 left glue x pos
6124 { 0x8000, { 21600, 0, 0x414 } }, //415 right glue x pos
6125 { 0x2001, { 0x400, 2, 1 } }, //416 y1 (textbox)
6126 { 0x8000, { 21600, 0, 0x416 } }, //417 y2 (textbox)
6127
6128 { 0x8000, { 21600, 0, 0x407 } }, //418 p2
6129
6130 { 0x8000, { 21600, 0, 0x40f } }, //419 c
6131 { 0x6000, { 0x401, 0x408, 0 } }, //41a
6132
6133 { 0x8000, { 21600, 0, 0x410 } }, //41b c
6134 { 0xa000, { 0x401, 0, 0x408 } }, //41c
6135
6136 { 0x8000, { 21600, 0, 0x40c } }, //41d p3
6137 { 0xa000, { 0x412, 0, 0x40e } }, //41e
6138 { 0x6000, { 0x412, 0x40e, 0 } }, //41f
6139 { 0xa000, { 0x413, 0, 0x40e } }, //420
6140 { 0x6000, { 0x413, 0x40e, 0 } } //421
6141 };
6142 static const SvxMSDffVertPair mso_sptDoubleWaveGluePoints[] =
6143 {
6144 { 0x12 MSO_I, 0 MSO_I }, { 0x14 MSO_I, 10800 }, { 0x13 MSO_I, 1 MSO_I }, { 0x15 MSO_I, 10800 }
6145 };
6146 static const sal_uInt16 mso_sptDoubleWaveSegm[] =
6147 {
6148 0x4000, 0x2002, 0x0001, 0x2002, 0x6000, 0x8000
6149 };
6150 static const SvxMSDffHandle mso_sptDoubleWaveHandle[] =
6151 {
6152 { MSDFF_HANDLE_FLAGS_RANGE,
6153 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 2230 },
6154 { MSDFF_HANDLE_FLAGS_RANGE,
6155 0x101, 21600, 10800, 10800, 8640, 12960, Mx80000000, 0x7fffffff }
6156 };
6157 static const sal_Int32 mso_sptDoubleWaveDefault[] =
6158 {
6159 2, 1400, 10800
6160 };
6161 static const SvxMSDffTextRectangles mso_sptDoubleWaveTextRect[] =
6162 {
6163 { { 5 MSO_I, 22 MSO_I }, { 11 MSO_I, 23 MSO_I } }
6164 };
6165 static const mso_CustomShape msoDoubleWave =
6166 {
6167 (SvxMSDffVertPair*)mso_sptDoubleWaveVert, sizeof( mso_sptDoubleWaveVert ) / sizeof( SvxMSDffVertPair ),
6168 (sal_uInt16*)mso_sptDoubleWaveSegm, sizeof( mso_sptDoubleWaveSegm ) >> 1,
6169 (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, sizeof( mso_sptDoubleWaveCalc ) / sizeof( SvxMSDffCalculationData ),
6170 (sal_Int32*)mso_sptDoubleWaveDefault,
6171 (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, sizeof( mso_sptDoubleWaveTextRect ) / sizeof( SvxMSDffTextRectangles ),
6172 21600, 21600,
6173 Mx80000000, Mx80000000,
6174 (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, sizeof( mso_sptDoubleWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
6175 (SvxMSDffHandle*)mso_sptDoubleWaveHandle, sizeof( mso_sptDoubleWaveHandle ) / sizeof( SvxMSDffHandle )
6176 };
6177
6178 // for each shapetype a bit of 1 is indicating that the shape is NOT filled by default
6179 static const sal_uInt16 mso_DefaultFillingTable[] =
6180 {
6181 0x0000, 0x0018, 0x01ff, 0x0000, 0x0c00, 0x01e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000
6182 };
IsCustomShapeFilledByDefault(MSO_SPT eSpType)6183 sal_Bool IsCustomShapeFilledByDefault( MSO_SPT eSpType )
6184 {
6185 sal_Bool bIsFilledByDefault = sal_True;
6186 sal_uInt32 i = (sal_uInt32)eSpType;
6187 if ( i < 0x100 )
6188 bIsFilledByDefault = ( mso_DefaultFillingTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) == 0;
6189 return bIsFilledByDefault;
6190 }
GetCustomShapeConnectionTypeDefault(MSO_SPT eSpType)6191 sal_Int16 GetCustomShapeConnectionTypeDefault( MSO_SPT eSpType )
6192 {
6193 sal_Int16 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::SEGMENTS;
6194 const mso_CustomShape* pDefCustomShape = GetCustomShapeContent( eSpType );
6195 if ( pDefCustomShape && pDefCustomShape->nGluePoints )
6196 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::CUSTOM;
6197 else
6198 {
6199 switch( eSpType )
6200 {
6201 case mso_sptRectangle :
6202 case mso_sptRoundRectangle :
6203 case mso_sptPictureFrame :
6204 case mso_sptFlowChartProcess :
6205 case mso_sptFlowChartPredefinedProcess :
6206 case mso_sptFlowChartInternalStorage :
6207 case mso_sptTextPlainText :
6208 case mso_sptTextBox :
6209 case mso_sptVerticalScroll :
6210 case mso_sptHorizontalScroll :
6211 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::RECT;
6212 default: break;
6213 }
6214 }
6215 return nGluePointType;
6216 }
6217
6218 // for each shapetype a bit of 1 is indicating that the shape is NOT stroked by default
6219 // #i28269#
6220 static const sal_uInt16 mso_DefaultStrokingTable[] =
6221 {
6222 0x0000, 0x0000, 0x0000, 0x0000,
6223 0x0800, 0x0000, 0x0000, 0x0000, // #i28269# Added shape 75 (mso_sptPictureFrame)
6224 0x0000, 0x0000, 0x0000, 0x0000,
6225 0x0000, 0x0000, 0x0000, 0x0000
6226 };
6227 // #i28269#
IsCustomShapeStrokedByDefault(MSO_SPT eSpType)6228 sal_Bool IsCustomShapeStrokedByDefault( MSO_SPT eSpType )
6229 {
6230 sal_Bool bIsStrokedByDefault = sal_True;
6231 sal_uInt32 i = (sal_uInt32)eSpType;
6232 if ( i < 0x100 )
6233 bIsStrokedByDefault = ( mso_DefaultStrokingTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) == 0;
6234 return bIsStrokedByDefault;
6235 }
6236
6237 static const sal_uInt16 msoSortFilledObjectsToBackTable[] =
6238 {
6239 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
6240 };
SortFilledObjectsToBackByDefault(MSO_SPT eSpType)6241 sal_Bool SortFilledObjectsToBackByDefault( MSO_SPT eSpType )
6242 {
6243 sal_Bool bSortFilledObjectsToBackByDefault = sal_True;
6244 sal_uInt32 i = (sal_uInt32)eSpType;
6245 if ( i < 0x100 )
6246 bSortFilledObjectsToBackByDefault = ( msoSortFilledObjectsToBackTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) != 0;
6247 return bSortFilledObjectsToBackByDefault;
6248 }
6249
6250 static const SvxMSDffVertPair mso_sptFontWorkVert[] =
6251 {
6252 { 0, 0 }, { 21600, 0 }, { 0, 21600 }, { 21600, 21600 }
6253 };
6254 static const sal_uInt16 mso_sptFontWorkSegm[] =
6255 {
6256 0x4000, 0x0001, 0x8000,
6257 0x4000, 0x0001, 0x8000
6258 };
6259 static const SvxMSDffTextRectangles mso_sptFontWorkTextRect[] =
6260 {
6261 { { 0, 0 }, { 21600, 21600 } }
6262 };
6263 static const mso_CustomShape msoFontWork =
6264 {
6265 (SvxMSDffVertPair*)mso_sptFontWorkVert, sizeof( mso_sptFontWorkVert ) / sizeof( SvxMSDffVertPair ),
6266 (sal_uInt16*)mso_sptFontWorkSegm, sizeof( mso_sptFontWorkSegm ) >> 1,
6267 NULL, 0,
6268 NULL,
6269 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6270 21600, 21600,
6271 Mx80000000, Mx80000000,
6272 NULL, 0,
6273 NULL, 0 // Handles
6274 };
6275
6276 static const SvxMSDffVertPair mso_sptTextPlainTextVert[] =
6277 {
6278 { 3 MSO_I, 0 }, { 5 MSO_I, 0 }, { 6 MSO_I, 21600 }, { 7 MSO_I, 21600 }
6279 };
6280 static const SvxMSDffCalculationData mso_sptTextPlainTextCalc[] = // adjustment1 : 6629 - 14971
6281 {
6282 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } },
6283 { 0x2001, { 0x400, 2, 1 } },
6284 { 0x2003, { 0x401, 0, 0 } },
6285 { 0xa006, { 0x401, 0, 0x402 } }, // x1(3)
6286 { 0x8000, { 21600, 0, 0x402 } },
6287 { 0x6006, { 0x401, 0x404, 21600 } }, // x2(5)
6288 { 0x6006, { 0x401, 0x402, 0 } }, // x2
6289 { 0xa006, { 0x401, 21600, 0x404 } } // x3(7)
6290 };
6291 static const sal_uInt16 mso_sptTextPlainTextSegm[] =
6292 {
6293 0x4000, 0x0001, 0x8000,
6294 0x4000, 0x0001, 0x8000
6295 };
6296 static const SvxMSDffHandle mso_sptTextPlainTextHandle[] =
6297 {
6298 { MSDFF_HANDLE_FLAGS_RANGE,
6299 0x100, 21600, 10800, 10800, 6629, 14971, Mx80000000, 0x7fffffff }
6300 };
6301 static const mso_CustomShape msoTextPlainText =
6302 {
6303 (SvxMSDffVertPair*)mso_sptTextPlainTextVert, sizeof( mso_sptTextPlainTextVert ) / sizeof( SvxMSDffVertPair ),
6304 (sal_uInt16*)mso_sptTextPlainTextSegm, sizeof( mso_sptTextPlainTextSegm ) >> 1,
6305 (SvxMSDffCalculationData*)mso_sptTextPlainTextCalc, sizeof( mso_sptTextPlainTextCalc ) / sizeof( SvxMSDffCalculationData ),
6306 (sal_Int32*)mso_sptDefault10800,
6307 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6308 21600, 21600,
6309 Mx80000000, Mx80000000,
6310 NULL, 0,
6311 (SvxMSDffHandle*)mso_sptTextPlainTextHandle, sizeof( mso_sptTextPlainTextHandle ) / sizeof( SvxMSDffHandle )
6312 };
6313
6314 static const SvxMSDffVertPair mso_sptTextStopVert[] =
6315 {
6316 { 0, 0 MSO_I }, { 7200, 0 }, { 14400, 0 }, { 21600, 0 MSO_I },
6317 { 0, 1 MSO_I }, { 7200, 21600 }, { 14400, 21600 }, { 21600, 1 MSO_I }
6318 };
6319 static const SvxMSDffCalculationData mso_sptTextStopCalc[] = // adjustment1 : 3080 - 10800
6320 {
6321 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
6322 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
6323 };
6324 static const sal_uInt16 mso_sptTextStopSegm[] =
6325 {
6326 0x4000, 0x0003, 0x8000,
6327 0x4000, 0x0003, 0x8000
6328 };
6329 static const sal_Int32 mso_sptTextStopDefault[] =
6330 {
6331 1, 2700
6332 };
6333 static const SvxMSDffHandle mso_sptTextStopHandle[] =
6334 {
6335 { MSDFF_HANDLE_FLAGS_RANGE,
6336 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 3080, 10800 }
6337 };
6338 static const mso_CustomShape msoTextStop =
6339 {
6340 (SvxMSDffVertPair*)mso_sptTextStopVert, sizeof( mso_sptTextStopVert ) / sizeof( SvxMSDffVertPair ),
6341 (sal_uInt16*)mso_sptTextStopSegm, sizeof( mso_sptTextStopSegm ) >> 1,
6342 (SvxMSDffCalculationData*)mso_sptTextStopCalc, sizeof( mso_sptTextStopCalc ) / sizeof( SvxMSDffCalculationData ),
6343 (sal_Int32*)mso_sptTextStopDefault,
6344 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6345 21600, 21600,
6346 Mx80000000, Mx80000000,
6347 NULL, 0,
6348 (SvxMSDffHandle*)mso_sptTextStopHandle, sizeof( mso_sptTextStopHandle ) / sizeof( SvxMSDffHandle )
6349 };
6350
6351 static const SvxMSDffVertPair mso_sptTextTriangleVert[] =
6352 {
6353 { 0, 0 MSO_I }, { 10800, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 21600, 21600 }
6354 };
6355 static const SvxMSDffCalculationData mso_sptTextTriangleCalc[] = // adjustment1 : 6629 - 14971
6356 {
6357 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
6358 };
6359 static const sal_uInt16 mso_sptTextTriangleSegm[] =
6360 {
6361 0x4000, 0x0002, 0x8000,
6362 0x4000, 0x0001, 0x8000
6363 };
6364 static const SvxMSDffHandle mso_sptTextTriangleHandle[] =
6365 {
6366 { MSDFF_HANDLE_FLAGS_RANGE,
6367 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 21600 }
6368 };
6369 static const mso_CustomShape msoTextTriangle =
6370 {
6371 (SvxMSDffVertPair*)mso_sptTextTriangleVert, sizeof( mso_sptTextTriangleVert ) / sizeof( SvxMSDffVertPair ),
6372 (sal_uInt16*)mso_sptTextTriangleSegm, sizeof( mso_sptTextTriangleSegm ) >> 1,
6373 (SvxMSDffCalculationData*)mso_sptTextTriangleCalc, sizeof( mso_sptTextTriangleCalc ) / sizeof( SvxMSDffCalculationData ),
6374 (sal_Int32*)mso_sptDefault10800,
6375 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6376 21600, 21600,
6377 Mx80000000, Mx80000000,
6378 NULL, 0,
6379 (SvxMSDffHandle*)mso_sptTextTriangleHandle, sizeof( mso_sptTextTriangleHandle ) / sizeof( SvxMSDffHandle )
6380 };
6381 static const SvxMSDffVertPair mso_sptTextTriangleInvertedVert[] =
6382 {
6383 { 0, 0 }, { 21600, 0 }, { 0, 0 MSO_I }, { 10800, 21600 }, { 21600, 0 MSO_I }
6384 };
6385 static const sal_uInt16 mso_sptTextTriangleInvertedSegm[] =
6386 {
6387 0x4000, 0x0001, 0x8000,
6388 0x4000, 0x0002, 0x8000
6389 };
6390 static const mso_CustomShape msoTextTriangleInverted =
6391 {
6392 (SvxMSDffVertPair*)mso_sptTextTriangleInvertedVert, sizeof( mso_sptTextTriangleInvertedVert ) / sizeof( SvxMSDffVertPair ),
6393 (sal_uInt16*)mso_sptTextTriangleInvertedSegm, sizeof( mso_sptTextTriangleInvertedSegm ) >> 1,
6394 (SvxMSDffCalculationData*)mso_sptTextTriangleCalc, sizeof( mso_sptTextTriangleCalc ) / sizeof( SvxMSDffCalculationData ),
6395 (sal_Int32*)mso_sptDefault10800,
6396 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6397 21600, 21600,
6398 Mx80000000, Mx80000000,
6399 NULL, 0,
6400 (SvxMSDffHandle*)mso_sptTextTriangleHandle, sizeof( mso_sptTextTriangleHandle ) / sizeof( SvxMSDffHandle )
6401 };
6402
6403 static const SvxMSDffVertPair mso_sptTextChevronVert[] =
6404 {
6405 { 0, 0 MSO_I }, { 10800, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 10800, 1 MSO_I }, { 21600, 21600 }
6406 };
6407 static const SvxMSDffCalculationData mso_sptTextChevronCalc[] = // adjustment1 : 6629 - 14971
6408 {
6409 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
6410 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
6411 };
6412 static const sal_uInt16 mso_sptTextChevronSegm[] =
6413 {
6414 0x4000, 0x0002, 0x8000,
6415 0x4000, 0x0002, 0x8000
6416 };
6417 static const SvxMSDffHandle mso_sptTextChevronHandle[] =
6418 {
6419 { MSDFF_HANDLE_FLAGS_RANGE,
6420 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 10800 }
6421 };
6422 static const mso_CustomShape msoTextChevron =
6423 {
6424 (SvxMSDffVertPair*)mso_sptTextChevronVert, sizeof( mso_sptTextChevronVert ) / sizeof( SvxMSDffVertPair ),
6425 (sal_uInt16*)mso_sptTextChevronSegm, sizeof( mso_sptTextChevronSegm ) >> 1,
6426 (SvxMSDffCalculationData*)mso_sptTextChevronCalc, sizeof( mso_sptTextChevronCalc ) / sizeof( SvxMSDffCalculationData ),
6427 (sal_Int32*)mso_sptDefault5400,
6428 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6429 21600, 21600,
6430 Mx80000000, Mx80000000,
6431 NULL, 0,
6432 (SvxMSDffHandle*)mso_sptTextChevronHandle, sizeof( mso_sptTextChevronHandle ) / sizeof( SvxMSDffHandle )
6433 };
6434
6435 static const SvxMSDffVertPair mso_sptTextChevronInvertedVert[] =
6436 {
6437 { 0, 0 }, { 10800, 1 MSO_I }, { 21600, 0 }, { 0, 0 MSO_I }, { 10800, 21600 }, { 21600, 0 MSO_I }
6438 };
6439 static const SvxMSDffCalculationData mso_sptTextChevronInvertedCalc[] = // adjustment1 : 6629 - 14971
6440 {
6441 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
6442 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
6443 };
6444 static const sal_uInt16 mso_sptTextChevronInvertedSegm[] =
6445 {
6446 0x4000, 0x0002, 0x8000,
6447 0x4000, 0x0002, 0x8000
6448 };
6449 static const SvxMSDffHandle mso_sptTextChevronInvertedHandle[] =
6450 {
6451 { MSDFF_HANDLE_FLAGS_RANGE,
6452 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 10800, 21600 }
6453 };
6454 static const mso_CustomShape msoTextChevronInverted =
6455 {
6456 (SvxMSDffVertPair*)mso_sptTextChevronInvertedVert, sizeof( mso_sptTextChevronInvertedVert ) / sizeof( SvxMSDffVertPair ),
6457 (sal_uInt16*)mso_sptTextChevronInvertedSegm, sizeof( mso_sptTextChevronInvertedSegm ) >> 1,
6458 (SvxMSDffCalculationData*)mso_sptTextChevronInvertedCalc, sizeof( mso_sptTextChevronInvertedCalc ) / sizeof( SvxMSDffCalculationData ),
6459 (sal_Int32*)mso_sptDefault16200,
6460 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6461 21600, 21600,
6462 Mx80000000, Mx80000000,
6463 NULL, 0,
6464 (SvxMSDffHandle*)mso_sptTextChevronInvertedHandle, sizeof( mso_sptTextChevronInvertedHandle ) / sizeof( SvxMSDffHandle )
6465 };
6466 //V 0 0 21600 ?f2 0 ?f0 21600 ?f0
6467 //W 0 0 21600 ?f2 21600 ?f0 0 ?f0 N
6468 //V 0 ?f3 21600 21600 0 ?f1 21600 ?f1
6469 //W 0 ?f3 21600 21600 21600 ?f1 0 ?f1 N
6470 //mso_sptTextRingInside
6471 static const SvxMSDffVertPair mso_sptTextRingInsideVert[] =
6472 {
6473 { 0, 0 }, { 21600, 2 MSO_I }, { 0, 0 MSO_I },{ 21600, 0 MSO_I },//V
6474 { 0, 0 }, { 21600, 2 MSO_I }, { 21600, 0 MSO_I },{ 0, 0 MSO_I },//W
6475 { 0, 3 MSO_I }, { 21600, 21600 }, { 0, 1 MSO_I },{ 21600, 1 MSO_I },//V
6476 { 0, 3 MSO_I }, { 21600, 21600 }, { 21600, 1 MSO_I },{ 0, 1 MSO_I }//W
6477 };
6478 static const SvxMSDffCalculationData mso_sptTextRingInsideCalc[] = // adjustment1 : 6629 - 14971
6479 {
6480 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
6481 { 0x8000, { 21600, 0, 0x400 } },
6482 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //$0
6483 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }//21600-$0
6484 };
6485 static const sal_uInt16 mso_sptTextRingInsideSegm[] =
6486 {
6487 0xa604, 0xa504,0x8000,
6488 0xa604, 0xa504,0x8000
6489 };
6490 static const SvxMSDffHandle mso_sptTextRingInsideHandle[] =
6491 {
6492 { MSDFF_HANDLE_FLAGS_RANGE| MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
6493 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 10800, 21600 }
6494 };
6495 static const mso_CustomShape msoTextRingInside =
6496 {
6497 (SvxMSDffVertPair*)mso_sptTextRingInsideVert, sizeof( mso_sptTextRingInsideVert ) / sizeof( SvxMSDffVertPair ),
6498 (sal_uInt16*)mso_sptTextRingInsideSegm, sizeof( mso_sptTextRingInsideSegm ) >> 1,
6499 (SvxMSDffCalculationData*)mso_sptTextRingInsideCalc, sizeof( mso_sptTextRingInsideCalc ) / sizeof( SvxMSDffCalculationData ),
6500 (sal_Int32*)mso_sptDefault13500,
6501 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6502 21600, 21600,
6503 Mx80000000, Mx80000000,
6504 NULL, 0,
6505 (SvxMSDffHandle*)mso_sptTextRingInsideHandle, sizeof( mso_sptTextRingInsideHandle ) / sizeof( SvxMSDffHandle )
6506 };
6507 //mso_sptTextRingOutside
6508 //path = U 10800 ?f0 21600 ?f2 180 539 N U 10800 ?f1 21600 ?f2 180 539 N
6509 static const SvxMSDffVertPair mso_sptTextRingOutsideVert[] =
6510 {
6511 { 10800, 0 MSO_I }, { 21600, 2 MSO_I }, { 180, 539},//U
6512 { 10800, 1 MSO_I }, { 21600, 2 MSO_I }, { 180, 539 }//U
6513 //{ 10800, 0 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 },
6514 //{ 10800, 1 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 }
6515 };
6516 static const SvxMSDffCalculationData mso_sptTextRingOutsideCalc[] = // adjustment1 : 6629 - 14971
6517 {
6518 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } },
6519 { 0x8000, { 21600, 0, 0x400 } },
6520 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //$0
6521 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }//21600-$0
6522 };
6523 static const sal_uInt16 mso_sptTextRingOutsideSegm[] =
6524 {
6525 0xA203, 0x8000,
6526 0xA203, 0x8000
6527 };
6528 static const SvxMSDffHandle mso_sptTextRingOutsideHandle[] =
6529 {
6530 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL,
6531 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 10800, 21600 }
6532 };
6533 static const mso_CustomShape msoTextRingOutside =
6534 {
6535 (SvxMSDffVertPair*)mso_sptTextRingOutsideVert, sizeof( mso_sptTextRingOutsideVert ) / sizeof( SvxMSDffVertPair ),
6536 (sal_uInt16*)mso_sptTextRingOutsideSegm, sizeof( mso_sptTextRingOutsideSegm ) >> 1,
6537 (SvxMSDffCalculationData*)mso_sptTextRingOutsideCalc, sizeof( mso_sptTextRingOutsideCalc ) / sizeof( SvxMSDffCalculationData ),
6538 (sal_Int32*)mso_sptDefault13500,
6539 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6540 21600, 21600,
6541 Mx80000000, Mx80000000,
6542 NULL, 0,
6543 (SvxMSDffHandle*)mso_sptTextRingOutsideHandle, sizeof( mso_sptTextRingOutsideHandle ) / sizeof( SvxMSDffHandle )
6544 };
6545
6546 static const SvxMSDffVertPair mso_sptTextFadeRightVert[] =
6547 {
6548 { 0, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 21600, 1 MSO_I }
6549 };
6550 static const SvxMSDffCalculationData mso_sptTextFadeCalc[] =
6551 {
6552 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
6553 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }
6554 };
6555 static const sal_uInt16 mso_sptTextFadeSegm[] =
6556 {
6557 0x4000, 0x0001, 0x8000,
6558 0x4000, 0x0001, 0x8000
6559 };
6560 static const SvxMSDffHandle mso_sptTextFadeRightHandle[] =
6561 {
6562 { MSDFF_HANDLE_FLAGS_RANGE,
6563 21600, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 10800 }
6564 };
6565 static const mso_CustomShape msoTextFadeRight =
6566 {
6567 (SvxMSDffVertPair*)mso_sptTextFadeRightVert, sizeof( mso_sptTextFadeRightVert ) / sizeof( SvxMSDffVertPair ),
6568 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6569 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
6570 (sal_Int32*)mso_sptDefault7200,
6571 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6572 21600, 21600,
6573 Mx80000000, Mx80000000,
6574 NULL, 0,
6575 (SvxMSDffHandle*)mso_sptTextFadeRightHandle, sizeof( mso_sptTextFadeRightHandle ) / sizeof( SvxMSDffHandle )
6576 };
6577
6578 static const SvxMSDffVertPair mso_sptTextFadeLeftVert[] =
6579 {
6580 { 0, 0 MSO_I }, { 21600, 0 }, { 0, 1 MSO_I }, { 21600, 21600 }
6581 };
6582 static const SvxMSDffHandle mso_sptTextFadeLeftHandle[] =
6583 {
6584 { MSDFF_HANDLE_FLAGS_RANGE,
6585 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 10800 }
6586 };
6587 static const mso_CustomShape msoTextFadeLeft =
6588 {
6589 (SvxMSDffVertPair*)mso_sptTextFadeLeftVert, sizeof( mso_sptTextFadeLeftVert ) / sizeof( SvxMSDffVertPair ),
6590 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6591 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
6592 (sal_Int32*)mso_sptDefault7200,
6593 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6594 21600, 21600,
6595 Mx80000000, Mx80000000,
6596 NULL, 0,
6597 (SvxMSDffHandle*)mso_sptTextFadeLeftHandle, sizeof( mso_sptTextFadeLeftHandle ) / sizeof( SvxMSDffHandle )
6598 };
6599
6600 static const SvxMSDffVertPair mso_sptTextFadeUpVert[] =
6601 {
6602 { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 0, 21600 }, { 21600, 21600 }
6603 };
6604 static const SvxMSDffHandle mso_sptTextFadeUpHandle[] =
6605 {
6606 { MSDFF_HANDLE_FLAGS_RANGE,
6607 0x100, 0, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
6608 };
6609 static const mso_CustomShape msoTextFadeUp =
6610 {
6611 (SvxMSDffVertPair*)mso_sptTextFadeUpVert, sizeof( mso_sptTextFadeUpVert ) / sizeof( SvxMSDffVertPair ),
6612 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6613 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
6614 (sal_Int32*)mso_sptDefault7200,
6615 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6616 21600, 21600,
6617 Mx80000000, Mx80000000,
6618 NULL, 0,
6619 (SvxMSDffHandle*)mso_sptTextFadeUpHandle, sizeof( mso_sptTextFadeUpHandle ) / sizeof( SvxMSDffHandle )
6620 };
6621
6622 static const SvxMSDffVertPair mso_sptTextFadeDownVert[] =
6623 {
6624 { 0, 0 }, { 21600, 0 }, { 0 MSO_I, 21600 }, { 1 MSO_I, 21600 }
6625 };
6626 static const SvxMSDffHandle mso_sptTextFadeDownHandle[] =
6627 {
6628 { MSDFF_HANDLE_FLAGS_RANGE,
6629 0x100, 21600, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
6630 };
6631 static const mso_CustomShape msoTextFadeDown =
6632 {
6633 (SvxMSDffVertPair*)mso_sptTextFadeDownVert, sizeof( mso_sptTextFadeDownVert ) / sizeof( SvxMSDffVertPair ),
6634 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6635 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
6636 (sal_Int32*)mso_sptDefault7200,
6637 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6638 21600, 21600,
6639 Mx80000000, Mx80000000,
6640 NULL, 0,
6641 (SvxMSDffHandle*)mso_sptTextFadeDownHandle, sizeof( mso_sptTextFadeDownHandle ) / sizeof( SvxMSDffHandle )
6642 };
6643
6644 static const SvxMSDffVertPair mso_sptTextSlantUpVert[] =
6645 {
6646 { 0, 0 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 1 MSO_I }
6647 };
6648 static const SvxMSDffHandle mso_sptTextSlantUpHandle[] =
6649 {
6650 { MSDFF_HANDLE_FLAGS_RANGE,
6651 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 15400 }
6652 };
6653 static const mso_CustomShape msoTextSlantUp =
6654 {
6655 (SvxMSDffVertPair*)mso_sptTextSlantUpVert, sizeof( mso_sptTextSlantUpVert ) / sizeof( SvxMSDffVertPair ),
6656 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6657 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
6658 (sal_Int32*)mso_sptDefault12000,
6659 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6660 21600, 21600,
6661 Mx80000000, Mx80000000,
6662 NULL, 0,
6663 (SvxMSDffHandle*)mso_sptTextSlantUpHandle, sizeof( mso_sptTextSlantUpHandle ) / sizeof( SvxMSDffHandle )
6664 };
6665
6666 static const SvxMSDffVertPair mso_sptTextSlantDownVert[] =
6667 {
6668 { 0, 0 }, { 21600, 1 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 }
6669 };
6670 static const SvxMSDffHandle mso_sptTextSlantDownHandle[] =
6671 {
6672 { MSDFF_HANDLE_FLAGS_RANGE,
6673 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 6200, 21600 }
6674 };
6675 static const mso_CustomShape msoTextSlantDown =
6676 {
6677 (SvxMSDffVertPair*)mso_sptTextSlantDownVert, sizeof( mso_sptTextSlantDownVert ) / sizeof( SvxMSDffVertPair ),
6678 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6679 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ),
6680 (sal_Int32*)mso_sptDefault12000,
6681 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6682 21600, 21600,
6683 Mx80000000, Mx80000000,
6684 NULL, 0,
6685 (SvxMSDffHandle*)mso_sptTextSlantDownHandle, sizeof( mso_sptTextSlantDownHandle ) / sizeof( SvxMSDffHandle )
6686 };
6687
6688 static const SvxMSDffVertPair mso_sptTextCascadeUpVert[] =
6689 {
6690 { 0, 2 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 0 MSO_I }
6691 };
6692 static const SvxMSDffCalculationData mso_sptTextCascadeCalc[] =
6693 {
6694 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
6695 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } },
6696 { 0x2001, { 0x401, 1, 4 } }
6697 };
6698 static const SvxMSDffHandle mso_sptTextCascadeUpHandle[] =
6699 {
6700 { MSDFF_HANDLE_FLAGS_RANGE,
6701 21600, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 6200, 21600 }
6702 };
6703 static const mso_CustomShape msoTextCascadeUp =
6704 {
6705 (SvxMSDffVertPair*)mso_sptTextCascadeUpVert, sizeof( mso_sptTextCascadeUpVert ) / sizeof( SvxMSDffVertPair ),
6706 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6707 (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, sizeof( mso_sptTextCascadeCalc ) / sizeof( SvxMSDffCalculationData ),
6708 (sal_Int32*)mso_sptDefault9600,
6709 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6710 21600, 21600,
6711 Mx80000000, Mx80000000,
6712 NULL, 0,
6713 (SvxMSDffHandle*)mso_sptTextCascadeUpHandle, sizeof( mso_sptTextCascadeUpHandle ) / sizeof( SvxMSDffHandle )
6714 };
6715
6716 static const SvxMSDffVertPair mso_sptTextCascadeDownVert[] =
6717 {
6718 { 0, 0 }, { 21600, 2 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 }
6719 };
6720 static const SvxMSDffHandle mso_sptTextCascadeDownHandle[] =
6721 {
6722 { MSDFF_HANDLE_FLAGS_RANGE,
6723 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 6200, 21600 }
6724 };
6725 static const mso_CustomShape msoTextCascadeDown =
6726 {
6727 (SvxMSDffVertPair*)mso_sptTextCascadeDownVert, sizeof( mso_sptTextCascadeDownVert ) / sizeof( SvxMSDffVertPair ),
6728 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1,
6729 (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, sizeof( mso_sptTextCascadeCalc ) / sizeof( SvxMSDffCalculationData ),
6730 (sal_Int32*)mso_sptDefault9600,
6731 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6732 21600, 21600,
6733 Mx80000000, Mx80000000,
6734 NULL, 0,
6735 (SvxMSDffHandle*)mso_sptTextCascadeDownHandle, sizeof( mso_sptTextCascadeDownHandle ) / sizeof( SvxMSDffHandle )
6736 };
6737
6738 static const SvxMSDffVertPair mso_sptTextArchUpCurveVert[] =
6739 {
6740 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }
6741 };
6742 static const SvxMSDffCalculationData mso_sptTextArchCurveCalc[] =
6743 {
6744 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
6745 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
6746 { 0x2000, { 0x400, 10800, 0 } },
6747 { 0x2000, { 0x401, 10800, 0 } },
6748 { 0x8000, { 21600, 0, 0x402 } }
6749 };
6750 static const sal_uInt16 mso_sptTextArchUpCurveSegm[] =
6751 {
6752 0xA504, 0x8000 // clockw�se arc
6753 };
6754 static const SvxMSDffHandle mso_sptTextArchUpCurveHandle[] =
6755 {
6756 { MSDFF_HANDLE_FLAGS_POLAR,
6757 10800, 0x100, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
6758 };
6759 static const sal_Int32 mso_sptTextArchUpCurveDefault[] =
6760 {
6761 1, 180
6762 };
6763 static const mso_CustomShape msoTextArchUpCurve =
6764 {
6765 (SvxMSDffVertPair*)mso_sptTextArchUpCurveVert, sizeof( mso_sptTextArchUpCurveVert ) / sizeof( SvxMSDffVertPair ),
6766 (sal_uInt16*)mso_sptTextArchUpCurveSegm, sizeof( mso_sptTextArchUpCurveSegm ) >> 1,
6767 (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, sizeof( mso_sptTextArchCurveCalc ) / sizeof( SvxMSDffCalculationData ),
6768 (sal_Int32*)mso_sptTextArchUpCurveDefault,
6769 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6770 21600, 21600,
6771 Mx80000000, Mx80000000,
6772 NULL, 0,
6773 (SvxMSDffHandle*)mso_sptTextArchUpCurveHandle, sizeof( mso_sptTextArchUpCurveHandle ) / sizeof( SvxMSDffHandle )
6774 };
6775
6776 static const SvxMSDffVertPair mso_sptTextArchDownCurveVert[] =
6777 {
6778 { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }
6779 };
6780 static const sal_uInt16 mso_sptTextArchDownCurveSegm[] =
6781 {
6782 0xA304, 0x8000 // counter clockwise arc to
6783 };
6784 static const SvxMSDffHandle mso_sptTextArchDownCurveHandle[] =
6785 {
6786 { MSDFF_HANDLE_FLAGS_POLAR,
6787 10800, 0x100, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
6788 };
6789 static const sal_Int32 mso_sptTextArchDownCurveDefault[] =
6790 {
6791 1, 0
6792 };
6793 static const mso_CustomShape msoTextArchDownCurve =
6794 {
6795 (SvxMSDffVertPair*)mso_sptTextArchDownCurveVert, sizeof( mso_sptTextArchDownCurveVert ) / sizeof( SvxMSDffVertPair ),
6796 (sal_uInt16*)mso_sptTextArchDownCurveSegm, sizeof( mso_sptTextArchDownCurveSegm ) >> 1,
6797 (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, sizeof( mso_sptTextArchCurveCalc ) / sizeof( SvxMSDffCalculationData ),
6798 (sal_Int32*)mso_sptTextArchDownCurveDefault,
6799 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6800 21600, 21600,
6801 Mx80000000, Mx80000000,
6802 NULL, 0,
6803 (SvxMSDffHandle*)mso_sptTextArchDownCurveHandle, sizeof( mso_sptTextArchDownCurveHandle ) / sizeof( SvxMSDffHandle )
6804 };
6805
6806 static const SvxMSDffVertPair mso_sptTextCircleCurveVert[] =
6807 {
6808 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I }
6809 };
6810 static const SvxMSDffCalculationData mso_sptTextCircleCurveCalc[] =
6811 {
6812 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
6813 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
6814 { 0x2000, { 0x400, 10800, 0 } },
6815 { 0x2000, { 0x401, 10800, 0 } },
6816 { 0x8000, { 21600, 0, 0x403 } }
6817 };
6818 static const sal_uInt16 mso_sptTextCircleCurveSegm[] =
6819 {
6820 0xA504, 0x8000 // clockwise arc to
6821 };
6822 static const SvxMSDffHandle mso_sptTextCircleCurveHandle[] =
6823 {
6824 { MSDFF_HANDLE_FLAGS_POLAR,
6825 10800, 0x100, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
6826 };
6827 static const sal_Int32 mso_sptTextCircleCurveDefault[] =
6828 {
6829 1, -179
6830 };
6831 static const mso_CustomShape msoTextCircleCurve =
6832 {
6833 (SvxMSDffVertPair*)mso_sptTextCircleCurveVert, sizeof( mso_sptTextCircleCurveVert ) / sizeof( SvxMSDffVertPair ),
6834 (sal_uInt16*)mso_sptTextCircleCurveSegm, sizeof( mso_sptTextCircleCurveSegm ) >> 1,
6835 (SvxMSDffCalculationData*)mso_sptTextCircleCurveCalc, sizeof( mso_sptTextCircleCurveCalc ) / sizeof( SvxMSDffCalculationData ),
6836 (sal_Int32*)mso_sptTextCircleCurveDefault,
6837 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6838 21600, 21600,
6839 Mx80000000, Mx80000000,
6840 NULL, 0,
6841 (SvxMSDffHandle*)mso_sptTextCircleCurveHandle, sizeof( mso_sptTextCircleCurveHandle ) / sizeof( SvxMSDffHandle )
6842 };
6843
6844 static const SvxMSDffVertPair mso_sptTextButtonCurveVert[] =
6845 {
6846 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
6847 { 0, 10800 }, { 21600, 10800 },
6848 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I }
6849 };
6850 static const SvxMSDffCalculationData mso_sptTextButtonCurveCalc[] =
6851 {
6852 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
6853 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
6854 { 0x2000, { 0x400, 10800, 0 } },
6855 { 0x2000, { 0x401, 10800, 0 } },
6856 { 0x8000, { 21600, 0, 0x402 } },
6857 { 0x8000, { 21600, 0, 0x403 } }
6858 };
6859 static const sal_uInt16 mso_sptTextButtonCurveSegm[] =
6860 {
6861 0xA504, 0x8000, // clockwise arc
6862 0x4000, 0x0001, 0x8000,
6863 0xA304, 0x8000 // counter clockwise
6864 };
6865 static const SvxMSDffHandle mso_sptTextButtonCurveHandle[] =
6866 {
6867 { MSDFF_HANDLE_FLAGS_POLAR,
6868 10800, 0x100, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
6869 };
6870 static const sal_Int32 mso_sptTextButtonCurveDefault[] =
6871 {
6872 1, 180
6873 };
6874 static const mso_CustomShape msoTextButtonCurve =
6875 {
6876 (SvxMSDffVertPair*)mso_sptTextButtonCurveVert, sizeof( mso_sptTextButtonCurveVert ) / sizeof( SvxMSDffVertPair ),
6877 (sal_uInt16*)mso_sptTextButtonCurveSegm, sizeof( mso_sptTextButtonCurveSegm ) >> 1,
6878 (SvxMSDffCalculationData*)mso_sptTextButtonCurveCalc, sizeof( mso_sptTextButtonCurveCalc ) / sizeof( SvxMSDffCalculationData ),
6879 (sal_Int32*)mso_sptTextButtonCurveDefault,
6880 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6881 21600, 21600,
6882 Mx80000000, Mx80000000,
6883 NULL, 0,
6884 (SvxMSDffHandle*)mso_sptTextButtonCurveHandle, sizeof( mso_sptTextButtonCurveHandle ) / sizeof( SvxMSDffHandle )
6885 };
6886
6887 static const SvxMSDffVertPair mso_sptTextArchUpPourVert[] =
6888 {
6889 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
6890 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 0xa MSO_I, 9 MSO_I }
6891 };
6892 static const SvxMSDffCalculationData mso_sptTextArchPourCalc[] =
6893 {
6894 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
6895 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
6896 { 0x2000, { 0x400, 10800, 0 } },
6897 { 0x2000, { 0x401, 10800, 0 } },
6898 { 0x8000, { 21600, 0, 0x402 } },
6899 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
6900 { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6
6901 { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } },
6902 { 0x2000, { 0x406, 10800, 0 } }, // 8
6903 { 0x2000, { 0x407, 10800, 0 } },
6904 { 0x8000, { 21600, 0, 0x408 } }, // 10
6905 { 0x8000, { 21600, 0, 0x405 } }
6906 };
6907 static const sal_uInt16 mso_sptTextArchUpPourSegm[] =
6908 {
6909 0xA504, 0x8000, 0xA504, 0x8000
6910 };
6911 static const SvxMSDffHandle mso_sptTextArchPourHandle[] =
6912 {
6913 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
6914 0x101, 0x100, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
6915 };
6916 static const sal_Int32 mso_sptTextArchUpPourDefault[] =
6917 {
6918 2, 180, 5400
6919 };
6920 static const mso_CustomShape msoTextArchUpPour =
6921 {
6922 (SvxMSDffVertPair*)mso_sptTextArchUpPourVert, sizeof( mso_sptTextArchUpPourVert ) / sizeof( SvxMSDffVertPair ),
6923 (sal_uInt16*)mso_sptTextArchUpPourSegm, sizeof( mso_sptTextArchUpPourSegm ) >> 1,
6924 (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, sizeof( mso_sptTextArchPourCalc ) / sizeof( SvxMSDffCalculationData ),
6925 (sal_Int32*)mso_sptTextArchUpPourDefault,
6926 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6927 21600, 21600,
6928 Mx80000000, Mx80000000,
6929 NULL, 0,
6930 (SvxMSDffHandle*)mso_sptTextArchPourHandle, sizeof( mso_sptTextArchPourHandle ) / sizeof( SvxMSDffHandle )
6931 };
6932
6933 static const SvxMSDffVertPair mso_sptTextArchDownPourVert[] =
6934 {
6935 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 0xa MSO_I, 9 MSO_I }, { 8 MSO_I, 9 MSO_I },
6936 { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }
6937 };
6938 static const sal_uInt16 mso_sptTextArchDownPourSegm[] =
6939 {
6940 0xA304, 0x8000, 0xA304, 0x8000
6941 };
6942 static const sal_Int32 mso_sptTextArchDownPourDefault[] =
6943 {
6944 2, 0, 5400
6945 };
6946 static const mso_CustomShape msoTextArchDownPour =
6947 {
6948 (SvxMSDffVertPair*)mso_sptTextArchDownPourVert, sizeof( mso_sptTextArchDownPourVert ) / sizeof( SvxMSDffVertPair ),
6949 (sal_uInt16*)mso_sptTextArchDownPourSegm, sizeof( mso_sptTextArchDownPourSegm ) >> 1,
6950 (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, sizeof( mso_sptTextArchPourCalc ) / sizeof( SvxMSDffCalculationData ),
6951 (sal_Int32*)mso_sptTextArchDownPourDefault,
6952 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
6953 21600, 21600,
6954 Mx80000000, Mx80000000,
6955 NULL, 0,
6956 (SvxMSDffHandle*)mso_sptTextArchPourHandle, sizeof( mso_sptTextArchPourHandle ) / sizeof( SvxMSDffHandle )
6957 };
6958
6959 static const SvxMSDffVertPair mso_sptTextCirclePourVert[] =
6960 {
6961 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I },
6962 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 8 MSO_I, 0xa MSO_I }
6963 };
6964 static const SvxMSDffCalculationData mso_sptTextCirclePourCalc[] =
6965 {
6966 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } },
6967 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } },
6968 { 0x2000, { 0x400, 10800, 0 } },
6969 { 0x2000, { 0x401, 10800, 0 } },
6970 { 0x8000, { 21600, 0, 0x403 } },
6971 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } },
6972 { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6
6973 { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } },
6974 { 0x2000, { 0x406, 10800, 0 } }, // 8
6975 { 0x2000, { 0x407, 10800, 0 } },
6976 { 0x8000, { 21600, 0, 0x409 } }, // 10
6977 { 0x8000, { 21600, 0, 0x405 } },
6978 { 0x000, { 21600, 0, 0 } }
6979 };
6980 static const sal_uInt16 mso_sptTextCirclePourSegm[] =
6981 {
6982 0xA504, 0x8000, 0xA504, 0x8000
6983 };
6984 static const SvxMSDffHandle mso_sptTextCirclePourHandle[] =
6985 {
6986 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
6987 0x101, 0x100, 10800, 10800, 0, 10800, Mx80000000, 0x7fffffff }
6988 };
6989 static const sal_Int32 mso_sptTextCirclePourDefault[] =
6990 {
6991 2, -179, 5400
6992 };
6993 static const mso_CustomShape msoTextCirclePour =
6994 {
6995 (SvxMSDffVertPair*)mso_sptTextCirclePourVert, sizeof( mso_sptTextCirclePourVert ) / sizeof( SvxMSDffVertPair ),
6996 (sal_uInt16*)mso_sptTextCirclePourSegm, sizeof( mso_sptTextCirclePourSegm ) >> 1,
6997 (SvxMSDffCalculationData*)mso_sptTextCirclePourCalc, sizeof( mso_sptTextCirclePourCalc ) / sizeof( SvxMSDffCalculationData ),
6998 (sal_Int32*)mso_sptTextCirclePourDefault,
6999 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7000 21600, 21600,
7001 Mx80000000, Mx80000000,
7002 NULL, 0,
7003 (SvxMSDffHandle*)mso_sptTextCirclePourHandle, sizeof( mso_sptTextCirclePourHandle ) / sizeof( SvxMSDffHandle )
7004 };
7005
7006 static const SvxMSDffVertPair mso_sptTextButtonPourVert[] =
7007 {
7008 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I },
7009 { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 11 MSO_I }, { 12 MSO_I, 11 MSO_I },
7010 { 0x16 MSO_I, 16 MSO_I }, { 0x15 MSO_I, 16 MSO_I },
7011 { 0x16 MSO_I, 15 MSO_I }, { 0x15 MSO_I, 15 MSO_I },
7012 { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 13 MSO_I }, { 12 MSO_I, 13 MSO_I },
7013 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I }
7014 };
7015 static const SvxMSDffCalculationData mso_sptTextButtonPourCalc[] =
7016 {
7017 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, // 0x00
7018 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, // 0x01
7019 { 0x2000, { 0x400, 10800, 0 } }, // 0x02
7020 { 0x2000, { 0x401, 10800, 0 } }, // 0x03
7021 { 0x8000, { 21600, 0, 0x402 } }, // 0x04
7022 { 0x8000, { 21600, 0, 0x403 } }, // 0x05
7023
7024 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } }, // 0x06
7025 { 0x8000, { 21600, 0, 0x406 } }, // 0x07
7026
7027 { 0x600a, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x08
7028 { 0x6009, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x09
7029 { 0x2000, { 0x408, 10800, 0 } }, // 0x0a
7030 { 0x2000, { 0x409, 10800, 0 } }, // 0x0b
7031 { 0x8000, { 21600, 0, 0x40a } }, // 0x0c
7032 { 0x8000, { 21600, 0, 0x40b } }, // 0x0d
7033 { 0x2001, { 0x406, 1, 2 } }, // 0x0e
7034 { 0x4000, { 10800, 0x40e, 0 } }, // 0x0f
7035 { 0x8000, { 10800, 0, 0x40e } }, // 0x10
7036 { 0x6001, { 0x40e, 0x40e, 1 } }, // 0x11
7037 { 0x6001, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 1 } }, // 0x12
7038 { 0xA000, { 0x412, 0, 0x411 } }, // 0x13
7039 { 0x200d, { 0x413, 0, 0 } }, // 0x14
7040 { 0x4000, { 10800, 0x414, 0 } }, // 0x15
7041 { 0x8000, { 10800, 0, 0x414 } } // 0x16
7042 };
7043 static const sal_uInt16 mso_sptTextButtonPourSegm[] =
7044 {
7045 0xA504, 0x8000, // clockwise arc
7046 0xA504, 0x8000, // clockwise arc
7047 0x4000, 0x0001, 0x8000,
7048 0x4000, 0x0001, 0x8000,
7049 0xA304, 0x8000, // counter clockwise
7050 0xA304, 0x8000 // counter clockwise
7051 };
7052 static const SvxMSDffHandle mso_sptTextButtonPourHandle[] =
7053 {
7054 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE,
7055 0x101, 0x100, 10800, 10800, 4320, 10800, Mx80000000, 0x7fffffff }
7056 };
7057 static const sal_Int32 mso_sptTextButtonPourDefault[] =
7058 {
7059 2, 180, 5400
7060 };
7061 static const mso_CustomShape msoTextButtonPour =
7062 {
7063 (SvxMSDffVertPair*)mso_sptTextButtonPourVert, sizeof( mso_sptTextButtonPourVert ) / sizeof( SvxMSDffVertPair ),
7064 (sal_uInt16*)mso_sptTextButtonPourSegm, sizeof( mso_sptTextButtonPourSegm ) >> 1,
7065 (SvxMSDffCalculationData*)mso_sptTextButtonPourCalc, sizeof( mso_sptTextButtonPourCalc ) / sizeof( SvxMSDffCalculationData ),
7066 (sal_Int32*)mso_sptTextButtonPourDefault,
7067 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7068 21600, 21600,
7069 Mx80000000, Mx80000000,
7070 NULL, 0,
7071 (SvxMSDffHandle*)mso_sptTextButtonPourHandle, sizeof( mso_sptTextButtonPourHandle ) / sizeof( SvxMSDffHandle )
7072 };
7073
7074 static const SvxMSDffVertPair mso_sptTextCurveUpVert[] =
7075 {
7076 { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 },
7077 { 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*/ }
7078 };
7079 static const SvxMSDffCalculationData mso_sptTextCurveUpCalc[] =
7080 {
7081 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7082 { 0x4001, { 14250, 0x400, 12170 } }, // 401
7083 { 0x4001, { 12800, 0x400, 12170 } }, // 402
7084 { 0x4001, { 6380, 0x400, 12170 } }, // 403
7085 { 0x8000, { 21600, 0, 0x403 } } // 404
7086 };
7087 static const sal_uInt16 mso_sptTextCurveUpSegm[] =
7088 {
7089 0x4000, 0x2001, 0x8000,
7090 0x4000, 0x2002, 0x8000
7091 };
7092 static const SvxMSDffHandle mso_sptTextCurveUpHandle[] =
7093 {
7094 { MSDFF_HANDLE_FLAGS_RANGE,
7095 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 12170 }
7096 };
7097 static const sal_Int32 mso_sptTextCurveUpDefault[] =
7098 {
7099 1, 9900
7100 };
7101 static const mso_CustomShape msoTextCurveUp =
7102 {
7103 (SvxMSDffVertPair*)mso_sptTextCurveUpVert, sizeof( mso_sptTextCurveUpVert ) / sizeof( SvxMSDffVertPair ),
7104 (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1,
7105 (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, sizeof( mso_sptTextCurveUpCalc ) / sizeof( SvxMSDffCalculationData ),
7106 (sal_Int32*)mso_sptTextCurveUpDefault,
7107 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7108 21600, 21600,
7109 Mx80000000, Mx80000000,
7110 NULL, 0,
7111 (SvxMSDffHandle*)mso_sptTextCurveUpHandle, sizeof( mso_sptTextCurveUpHandle ) / sizeof( SvxMSDffHandle )
7112 };
7113
7114 static const SvxMSDffVertPair mso_sptTextCurveDownVert[] =
7115 {
7116 // { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 },
7117 { 0, 0 }, { 9960, 2 MSO_I }, { 16700, 1 MSO_I }, { 21600, 0 MSO_I },
7118
7119 // { 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*/ }
7120 { 0, 4 MSO_I }, { 5690, 21600 }, { 7490, 21600 }, { 11500, 21600 }, { 13100, 21600 }, { 17900, 21600 }, { 21600, 4 MSO_I }
7121 };
7122 static const SvxMSDffHandle mso_sptTextCurveDownHandle[] =
7123 {
7124 { MSDFF_HANDLE_FLAGS_RANGE,
7125 21600, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 12170 }
7126 };
7127 static const mso_CustomShape msoTextCurveDown =
7128 {
7129 (SvxMSDffVertPair*)mso_sptTextCurveDownVert, sizeof( mso_sptTextCurveDownVert ) / sizeof( SvxMSDffVertPair ),
7130 (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1,
7131 (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, sizeof( mso_sptTextCurveUpCalc ) / sizeof( SvxMSDffCalculationData ),
7132 (sal_Int32*)mso_sptTextCurveUpDefault,
7133 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7134 21600, 21600,
7135 Mx80000000, Mx80000000,
7136 NULL, 0,
7137 (SvxMSDffHandle*)mso_sptTextCurveDownHandle, sizeof( mso_sptTextCurveDownHandle ) / sizeof( SvxMSDffHandle )
7138 };
7139
7140 static const SvxMSDffVertPair mso_sptTextCanUpVert[] =
7141 {
7142 { 0, 1 MSO_I }, { 900, 0 }, { 7100, 0 }, { 10800, 0 }, { 14500, 0 }, { 20700, 0 }, { 21600, 1 MSO_I },
7143 { 0, 21600 }, { 900, 4 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 4 MSO_I }, { 21600, 21600 }
7144 };
7145 static const SvxMSDffCalculationData mso_sptTextCanUpCalc[] =
7146 {
7147 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7148 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401
7149 { 0x2000, { DFF_Prop_adjustValue, 0, 14400 } }, // 402
7150 { 0x4001, { 5470, 0x402, 7200 } }, // 403
7151 { 0x4000, { 16130, 0x403, 0 } } // 404
7152 };
7153 static const sal_uInt16 mso_sptTextCanUpSegm[] =
7154 {
7155 0x4000, 0x2002, 0x8000,
7156 0x4000, 0x2002, 0x8000
7157 };
7158 static const SvxMSDffHandle mso_sptTextCanUpHandle[] =
7159 {
7160 { MSDFF_HANDLE_FLAGS_RANGE,
7161 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 14400, 21600 }
7162 };
7163 static const sal_Int32 mso_sptTextCanUpDefault[] =
7164 {
7165 1, 18500
7166 };
7167 static const mso_CustomShape msoTextCanUp =
7168 {
7169 (SvxMSDffVertPair*)mso_sptTextCanUpVert, sizeof( mso_sptTextCanUpVert ) / sizeof( SvxMSDffVertPair ),
7170 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
7171 (SvxMSDffCalculationData*)mso_sptTextCanUpCalc, sizeof( mso_sptTextCanUpCalc ) / sizeof( SvxMSDffCalculationData ),
7172 (sal_Int32*)mso_sptTextCanUpDefault,
7173 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7174 21600, 21600,
7175 Mx80000000, Mx80000000,
7176 NULL, 0,
7177 (SvxMSDffHandle*)mso_sptTextCanUpHandle, sizeof( mso_sptTextCanUpHandle ) / sizeof( SvxMSDffHandle )
7178 };
7179
7180 static const SvxMSDffVertPair mso_sptTextCanDownVert[] =
7181 {
7182 { 0, 0 }, { 900, 2 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 2 MSO_I }, { 21600, 0 },
7183 { 0, 1 MSO_I }, { 900, 21600 }, { 7100, 21600 }, { 10800, 21600 }, { 14500, 21600 }, { 20700, 21600 }, { 21600, 1 MSO_I }
7184 };
7185 static const SvxMSDffCalculationData mso_sptTextCanDownCalc[] =
7186 {
7187 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7188 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401
7189 { 0x4001, { 5470, 0x400, 7200 } } // 402
7190 };
7191 static const SvxMSDffHandle mso_sptTextCanDownHandle[] =
7192 {
7193 { MSDFF_HANDLE_FLAGS_RANGE,
7194 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 7200 }
7195 };
7196 static const sal_Int32 mso_sptTextCanDownDefault[] =
7197 {
7198 1, 3100
7199 };
7200 static const mso_CustomShape msoTextCanDown =
7201 {
7202 (SvxMSDffVertPair*)mso_sptTextCanDownVert, sizeof( mso_sptTextCanDownVert ) / sizeof( SvxMSDffVertPair ),
7203 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
7204 (SvxMSDffCalculationData*)mso_sptTextCanDownCalc, sizeof( mso_sptTextCanDownCalc ) / sizeof( SvxMSDffCalculationData ),
7205 (sal_Int32*)mso_sptTextCanDownDefault,
7206 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7207 21600, 21600,
7208 Mx80000000, Mx80000000,
7209 NULL, 0,
7210 (SvxMSDffHandle*)mso_sptTextCanDownHandle, sizeof( mso_sptTextCanDownHandle ) / sizeof( SvxMSDffHandle )
7211 };
7212
7213 static const SvxMSDffVertPair mso_sptTextInflateVert[] =
7214 {
7215 { 0, 0 MSO_I }, { 4100, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 17500, 1 MSO_I }, { 21600, 0 MSO_I },
7216 { 0, 2 MSO_I }, { 4100, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 17500, 3 MSO_I }, { 21600, 2 MSO_I }
7217 };
7218 static const SvxMSDffCalculationData mso_sptTextInflateCalc[] =
7219 {
7220 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7221 { 0x4001, { 1530, 0x400, 4650 } }, // 401
7222 { 0x8000, { 21600, 0, 0x400 } }, // 402
7223 { 0x8000, { 21600, 0, 0x401 } } // 403
7224 };
7225 static const SvxMSDffHandle mso_sptTextInflateHandle[] =
7226 {
7227 { MSDFF_HANDLE_FLAGS_RANGE,
7228 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 4650 }
7229 };
7230 static const sal_Int32 mso_sptTextInflateDefault[] =
7231 {
7232 1, 2950
7233 };
7234 static const mso_CustomShape msoTextInflate =
7235 {
7236 (SvxMSDffVertPair*)mso_sptTextInflateVert, sizeof( mso_sptTextInflateVert ) / sizeof( SvxMSDffVertPair ),
7237 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
7238 (SvxMSDffCalculationData*)mso_sptTextInflateCalc, sizeof( mso_sptTextInflateCalc ) / sizeof( SvxMSDffCalculationData ),
7239 (sal_Int32*)mso_sptTextInflateDefault,
7240 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7241 21600, 21600,
7242 Mx80000000, Mx80000000,
7243 NULL, 0,
7244 (SvxMSDffHandle*)mso_sptTextInflateHandle, sizeof( mso_sptTextInflateHandle ) / sizeof( SvxMSDffHandle )
7245 };
7246
7247 static const SvxMSDffVertPair mso_sptTextDeflateVert[] =
7248 {
7249 { 0, 0 }, { 3500, 1 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 18100, 1 MSO_I }, { 21600, 0 },
7250 { 0, 21600 }, { 3500, 3 MSO_I }, { 7100, 2 MSO_I }, { 10800, 2 MSO_I }, { 14500, 2 MSO_I }, { 18100, 3 MSO_I }, { 21600, 21600 }
7251 };
7252 static const SvxMSDffCalculationData mso_sptTextDeflateCalc[] =
7253 {
7254 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7255 { 0x2001, { 0x400, 5320, 7100 } }, // 401
7256 { 0x8000, { 21600, 0, 0x400 } }, // 402
7257 { 0x8000, { 21600, 0, 0x401 } } // 403
7258 };
7259 static const SvxMSDffHandle mso_sptTextDeflateHandle[] =
7260 {
7261 { MSDFF_HANDLE_FLAGS_RANGE,
7262 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 8100 }
7263 };
7264 static const mso_CustomShape msoTextDeflate =
7265 {
7266 (SvxMSDffVertPair*)mso_sptTextDeflateVert, sizeof( mso_sptTextDeflateVert ) / sizeof( SvxMSDffVertPair ),
7267 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1,
7268 (SvxMSDffCalculationData*)mso_sptTextDeflateCalc, sizeof( mso_sptTextDeflateCalc ) / sizeof( SvxMSDffCalculationData ),
7269 (sal_Int32*)mso_sptDefault8100,
7270 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7271 21600, 21600,
7272 Mx80000000, Mx80000000,
7273 NULL, 0,
7274 (SvxMSDffHandle*)mso_sptTextDeflateHandle, sizeof( mso_sptTextDeflateHandle ) / sizeof( SvxMSDffHandle )
7275 };
7276
7277 static const SvxMSDffVertPair mso_sptTextInflateBottomVert[] =
7278 {
7279 { 0, 0 }, { 21600, 0 },
7280 { 0, 0 MSO_I }, { 3500, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 18100, 3 MSO_I }, { 21600, 0 MSO_I }
7281 };
7282 static const SvxMSDffCalculationData mso_sptTextInflateBottomCalc[] =
7283 {
7284 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7285 { 0x2000, { 0x400, 0, 11150 } }, // 401 0->10450
7286 { 0x2001, { 0x401, 3900, 10450 } }, // 402
7287 { 0x2000, { 0x402, 17700, 0 } } // 403
7288 };
7289 static const sal_uInt16 mso_sptTextInflateBottomSegm[] =
7290 {
7291 0x4000, 0x0001, 0x8000,
7292 0x4000, 0x2002, 0x8000
7293 };
7294 static const SvxMSDffHandle mso_sptTextInflateBottomHandle[] =
7295 {
7296 { MSDFF_HANDLE_FLAGS_RANGE,
7297 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 11150, 21600 }
7298 };
7299 static const sal_Int32 mso_sptTextInflateBottomDefault[] =
7300 {
7301 1, 14700
7302 };
7303 static const mso_CustomShape msoTextInflateBottom =
7304 {
7305 (SvxMSDffVertPair*)mso_sptTextInflateBottomVert, sizeof( mso_sptTextInflateBottomVert ) / sizeof( SvxMSDffVertPair ),
7306 (sal_uInt16*)mso_sptTextInflateBottomSegm, sizeof( mso_sptTextInflateBottomSegm ) >> 1,
7307 (SvxMSDffCalculationData*)mso_sptTextInflateBottomCalc, sizeof( mso_sptTextInflateBottomCalc ) / sizeof( SvxMSDffCalculationData ),
7308 (sal_Int32*)mso_sptTextInflateBottomDefault,
7309 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7310 21600, 21600,
7311 Mx80000000, Mx80000000,
7312 NULL, 0,
7313 (SvxMSDffHandle*)mso_sptTextInflateBottomHandle, sizeof( mso_sptTextInflateBottomHandle ) / sizeof( SvxMSDffHandle )
7314 };
7315
7316 static const SvxMSDffVertPair mso_sptTextDeflateBottomVert[] =
7317 {
7318 { 0, 0 }, { 21600, 0 },
7319 { 0, 21600 }, { 2900, 3 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 3 MSO_I }, { 21600, 21600 }
7320 };
7321 static const SvxMSDffCalculationData mso_sptTextDeflateBottomCalc[] =
7322 {
7323 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7324 { 0x2000, { 0x400, 0, 1350 } }, // 401 0->20250
7325 { 0x2001, { 0x401, 12070, 20250 } }, // 402
7326 { 0x2000, { 0x402, 9530, 0 } } // 403
7327 };
7328 static const sal_uInt16 mso_sptTextDeflateBottomSegm[] =
7329 {
7330 0x4000, 0x0001, 0x8000,
7331 0x4000, 0x2002, 0x8000
7332 };
7333 static const SvxMSDffHandle mso_sptTextDeflateBottomHandle[] =
7334 {
7335 { MSDFF_HANDLE_FLAGS_RANGE,
7336 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 1350, 21600 }
7337 };
7338 static const sal_Int32 mso_sptTextDeflateBottomDefault[] =
7339 {
7340 1, 11500
7341 };
7342 static const mso_CustomShape msoTextDeflateBottom =
7343 {
7344 (SvxMSDffVertPair*)mso_sptTextDeflateBottomVert, sizeof( mso_sptTextDeflateBottomVert ) / sizeof( SvxMSDffVertPair ),
7345 (sal_uInt16*)mso_sptTextDeflateBottomSegm, sizeof( mso_sptTextDeflateBottomSegm ) >> 1,
7346 (SvxMSDffCalculationData*)mso_sptTextDeflateBottomCalc, sizeof( mso_sptTextDeflateBottomCalc ) / sizeof( SvxMSDffCalculationData ),
7347 (sal_Int32*)mso_sptTextDeflateBottomDefault,
7348 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7349 21600, 21600,
7350 Mx80000000, Mx80000000,
7351 NULL, 0,
7352 (SvxMSDffHandle*)mso_sptTextDeflateBottomHandle, sizeof( mso_sptTextDeflateBottomHandle ) / sizeof( SvxMSDffHandle )
7353 };
7354
7355 static const SvxMSDffVertPair mso_sptTextInflateTopVert[] =
7356 {
7357 { 0, 0 MSO_I }, { 3500, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 18100, 1 MSO_I }, { 21600, 0 MSO_I },
7358 { 0, 21600 }, { 21600, 21600 }
7359 };
7360 static const SvxMSDffCalculationData mso_sptTextInflateTopCalc[] =
7361 {
7362 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7363 { 0x2001, { 0x400, 3900, 10450 } } // 401
7364 };
7365 static const sal_uInt16 mso_sptTextInflateTopSegm[] =
7366 {
7367 0x4000, 0x2002, 0x8000,
7368 0x4000, 0x0001, 0x8000
7369 };
7370 static const SvxMSDffHandle mso_sptTextInflateTopHandle[] =
7371 {
7372 { MSDFF_HANDLE_FLAGS_RANGE,
7373 0, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 10450 }
7374 };
7375 static const sal_Int32 mso_sptTextInflateTopDefault[] =
7376 {
7377 1, 6900
7378 };
7379 static const mso_CustomShape msoTextInflateTop =
7380 {
7381 (SvxMSDffVertPair*)mso_sptTextInflateTopVert, sizeof( mso_sptTextInflateTopVert ) / sizeof( SvxMSDffVertPair ),
7382 (sal_uInt16*)mso_sptTextInflateTopSegm, sizeof( mso_sptTextInflateTopSegm ) >> 1,
7383 (SvxMSDffCalculationData*)mso_sptTextInflateTopCalc, sizeof( mso_sptTextInflateTopCalc ) / sizeof( SvxMSDffCalculationData ),
7384 (sal_Int32*)mso_sptTextInflateTopDefault,
7385 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7386 21600, 21600,
7387 Mx80000000, Mx80000000,
7388 NULL, 0,
7389 (SvxMSDffHandle*)mso_sptTextInflateTopHandle, sizeof( mso_sptTextInflateTopHandle ) / sizeof( SvxMSDffHandle )
7390 };
7391
7392 static const SvxMSDffVertPair mso_sptTextDeflateTopVert[] =
7393 {
7394 { 0, 0 }, { 2900, 1 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 1 MSO_I }, { 21600, 0 },
7395 { 0, 21600 }, { 21600, 21600 }
7396 };
7397 static const SvxMSDffCalculationData mso_sptTextDeflateTopCalc[] =
7398 {
7399 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7400 { 0x2001, { 0x400, 12070, 20250 } } // 402
7401 };
7402 static const sal_uInt16 mso_sptTextDeflateTopSegm[] =
7403 {
7404 0x4000, 0x2002, 0x8000,
7405 0x4000, 0x0001, 0x8000
7406 };
7407 static const SvxMSDffHandle mso_sptTextDeflateTopHandle[] =
7408 {
7409 { MSDFF_HANDLE_FLAGS_RANGE,
7410 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 0, 20250 }
7411 };
7412 static const sal_Int32 mso_sptTextDeflateTopDefault[] =
7413 {
7414 1, 10100
7415 };
7416 static const mso_CustomShape msoTextDeflateTop =
7417 {
7418 (SvxMSDffVertPair*)mso_sptTextDeflateTopVert, sizeof( mso_sptTextDeflateTopVert ) / sizeof( SvxMSDffVertPair ),
7419 (sal_uInt16*)mso_sptTextDeflateTopSegm, sizeof( mso_sptTextDeflateTopSegm ) >> 1,
7420 (SvxMSDffCalculationData*)mso_sptTextDeflateTopCalc, sizeof( mso_sptTextDeflateTopCalc ) / sizeof( SvxMSDffCalculationData ),
7421 (sal_Int32*)mso_sptTextDeflateTopDefault,
7422 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7423 21600, 21600,
7424 Mx80000000, Mx80000000,
7425 NULL, 0,
7426 (SvxMSDffHandle*)mso_sptTextDeflateTopHandle, sizeof( mso_sptTextDeflateTopHandle ) / sizeof( SvxMSDffHandle )
7427 };
7428
7429 static const SvxMSDffVertPair mso_sptTextDeflateInflateVert[] =
7430 {
7431 { 0, 0 }, { 21600, 0 },
7432 { 0, 10100 }, { 3300, 3 MSO_I }, { 7100, 5 MSO_I }, { 10800, 5 MSO_I }, { 14500, 5 MSO_I }, { 18300, 3 MSO_I }, { 21600, 10100 },
7433 { 0, 11500 }, { 3300, 4 MSO_I }, { 7100, 6 MSO_I }, { 10800, 6 MSO_I }, { 14500, 6 MSO_I }, { 18300, 4 MSO_I }, { 21600, 11500 },
7434 { 0, 21600 }, { 21600, 21600 }
7435 };
7436 static const SvxMSDffCalculationData mso_sptTextDeflateInflateCalc[] =
7437 {
7438 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400
7439 { 0x8000, { 10800, 0, 0x400 } }, // 401
7440 { 0x2001, { 0x401, 5770, 9500 } }, // 402
7441 { 0x8000, { 10100, 0, 0x402 } }, // 403
7442 { 0x8000, { 11500, 0, 0x402 } }, // 404
7443 { 0x2000, { 0x400, 0, 700 } }, // 405
7444 { 0x2000, { 0x400, 700, 0 } } // 406
7445 };
7446 static const sal_uInt16 mso_sptTextDeflateInflateSegm[] =
7447 {
7448 0x4000, 0x0001, 0x8000,
7449 0x4000, 0x2002, 0x8000,
7450 0x4000, 0x2002, 0x8000,
7451 0x4000, 0x0001, 0x8000
7452 };
7453 static const SvxMSDffHandle mso_sptTextDeflateInflateHandle[] =
7454 {
7455 { MSDFF_HANDLE_FLAGS_RANGE,
7456 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 1300, 20300 }
7457 };
7458 static const sal_Int32 mso_sptTextDeflateInflateDefault[] =
7459 {
7460 1, 6500
7461 };
7462 static const mso_CustomShape msoTextDeflateInflate =
7463 {
7464 (SvxMSDffVertPair*)mso_sptTextDeflateInflateVert, sizeof( mso_sptTextDeflateInflateVert ) / sizeof( SvxMSDffVertPair ),
7465 (sal_uInt16*)mso_sptTextDeflateInflateSegm, sizeof( mso_sptTextDeflateInflateSegm ) >> 1,
7466 (SvxMSDffCalculationData*)mso_sptTextDeflateInflateCalc, sizeof( mso_sptTextDeflateInflateCalc ) / sizeof( SvxMSDffCalculationData ),
7467 (sal_Int32*)mso_sptTextDeflateInflateDefault,
7468 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7469 21600, 21600,
7470 Mx80000000, Mx80000000,
7471 NULL, 0,
7472 (SvxMSDffHandle*)mso_sptTextDeflateInflateHandle, sizeof( mso_sptTextDeflateInflateHandle ) / sizeof( SvxMSDffHandle )
7473 };
7474
7475 static const SvxMSDffVertPair mso_sptTextDeflateInflateDeflateVert[] =
7476 {
7477 { 0, 0 }, { 21600, 0 },
7478 { 0, 6600 }, { 3600, 3 MSO_I }, { 7250, 4 MSO_I }, { 10800, 4 MSO_I }, { 14350, 4 MSO_I }, { 18000, 3 MSO_I }, { 21600, 6600 },
7479 { 0, 7500 }, { 3600, 5 MSO_I }, { 7250, 6 MSO_I }, { 10800, 6 MSO_I }, { 14350, 6 MSO_I }, { 18000, 5 MSO_I }, { 21600, 7500 },
7480 { 0, 14100 }, { 3600, 9 MSO_I }, { 7250, 10 MSO_I }, { 10800, 10 MSO_I }, { 14350, 10 MSO_I }, { 18000, 9 MSO_I }, { 21600, 14100 },
7481 { 0, 15000 }, { 3600, 7 MSO_I }, { 7250, 8 MSO_I }, { 10800, 8 MSO_I }, { 14350, 8 MSO_I }, { 18000, 7 MSO_I }, { 21600, 15000 },
7482 { 0, 21600 }, { 21600, 21600 }
7483 };
7484 static const SvxMSDffCalculationData mso_sptTextDeflateInflateDeflateCalc[] =
7485 {
7486 { 0x2000, { DFF_Prop_adjustValue, 0, 850 } }, // 400
7487 { 0x2001, { 0x400, 6120, 8700 } },
7488 { 0x2000, { 0x401, 0, 4280 } },
7489 { 0x4000, { 6600, 0x402, 0 } },
7490 { 0x2000, { DFF_Prop_adjustValue, 0, 450 } }, // 404
7491 { 0x2000, { 0x403, 900, 0 } }, // 405
7492 { 0x2000, { 0x404, 900, 0 } }, // 406
7493 { 0x8000, { 21600, 0, 0x403 } }, // 407
7494 { 0x8000, { 21600, 0, 0x404 } }, // 408
7495 { 0x8000, { 21600, 0, 0x405 } }, // 409
7496 { 0x8000, { 21600, 0, 0x406 } } // 410
7497 };
7498 static const sal_uInt16 mso_sptTextDeflateInflateDeflateSegm[] =
7499 {
7500 0x4000, 0x0001, 0x8000,
7501 0x4000, 0x2002, 0x8000,
7502 0x4000, 0x2002, 0x8000,
7503 0x4000, 0x2002, 0x8000,
7504 0x4000, 0x2002, 0x8000,
7505 0x4000, 0x0001, 0x8000
7506 };
7507 static const SvxMSDffHandle mso_sptTextDeflateInflateDeflateHandle[] =
7508 {
7509 { MSDFF_HANDLE_FLAGS_RANGE,
7510 10800, 0x100, 10800, 10800, Mx80000000, 0x7fffffff, 850, 9550 }
7511 };
7512 static const sal_Int32 mso_sptTextDeflateInflateDeflateDefault[] =
7513 {
7514 1, 6050
7515 };
7516 static const mso_CustomShape msoTextDeflateInflateDeflate =
7517 {
7518 (SvxMSDffVertPair*)mso_sptTextDeflateInflateDeflateVert, sizeof( mso_sptTextDeflateInflateDeflateVert ) / sizeof( SvxMSDffVertPair ),
7519 (sal_uInt16*)mso_sptTextDeflateInflateDeflateSegm, sizeof( mso_sptTextDeflateInflateDeflateSegm ) >> 1,
7520 (SvxMSDffCalculationData*)mso_sptTextDeflateInflateDeflateCalc, sizeof( mso_sptTextDeflateInflateDeflateCalc ) / sizeof( SvxMSDffCalculationData ),
7521 (sal_Int32*)mso_sptTextDeflateInflateDeflateDefault,
7522 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7523 21600, 21600,
7524 Mx80000000, Mx80000000,
7525 NULL, 0,
7526 (SvxMSDffHandle*)mso_sptTextDeflateInflateDeflateHandle, sizeof( mso_sptTextDeflateInflateDeflateHandle ) / sizeof( SvxMSDffHandle )
7527 };
7528
7529 static const SvxMSDffVertPair mso_sptTextWave1Vert[] = // adjustment1 : 0 - 4459
7530 { // adjustment2 : 8640 - 12960
7531 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I },
7532 { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 24 MSO_I, 1 MSO_I }
7533 };
7534 static const sal_uInt16 mso_sptTextWave1Segm[] =
7535 {
7536 0x4000, 0x2001, 0x8000,
7537 0x4000, 0x2001, 0x8000
7538 };
7539 static const mso_CustomShape msoTextWave1 =
7540 {
7541 (SvxMSDffVertPair*)mso_sptTextWave1Vert, sizeof( mso_sptTextWave1Vert ) / sizeof( SvxMSDffVertPair ),
7542 (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1,
7543 (SvxMSDffCalculationData*)mso_sptWaveCalc, sizeof( mso_sptWaveCalc ) / sizeof( SvxMSDffCalculationData ),
7544 (sal_Int32*)mso_sptWaveDefault,
7545 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7546 21600, 21600,
7547 Mx80000000, Mx80000000,
7548 (SvxMSDffVertPair*)mso_sptWaveGluePoints, sizeof( mso_sptWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
7549 (SvxMSDffHandle*)mso_sptWaveHandle, sizeof( mso_sptWaveHandle ) / sizeof( SvxMSDffHandle )
7550 };
7551
7552 static const SvxMSDffVertPair mso_sptTextWave2Vert[] = // adjustment1 : 0 - 4459
7553 { // adjustment2 : 8640 - 12960
7554 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 10 MSO_I }, { 16 MSO_I, 9 MSO_I }, { 12 MSO_I, 0 MSO_I },
7555 { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 26 MSO_I }, { 25 MSO_I, 28 MSO_I }, { 24 MSO_I, 1 MSO_I }
7556 };
7557 static const mso_CustomShape msoTextWave2 =
7558 {
7559 (SvxMSDffVertPair*)mso_sptTextWave2Vert, sizeof( mso_sptTextWave2Vert ) / sizeof( SvxMSDffVertPair ),
7560 (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1,
7561 (SvxMSDffCalculationData*)mso_sptWaveCalc, sizeof( mso_sptWaveCalc ) / sizeof( SvxMSDffCalculationData ),
7562 (sal_Int32*)mso_sptWaveDefault,
7563 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ),
7564 21600, 21600,
7565 Mx80000000, Mx80000000,
7566 (SvxMSDffVertPair*)mso_sptWaveGluePoints, sizeof( mso_sptWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
7567 (SvxMSDffHandle*)mso_sptWaveHandle, sizeof( mso_sptWaveHandle ) / sizeof( SvxMSDffHandle )
7568 };
7569
7570 static const SvxMSDffVertPair mso_sptTextWave3Vert[] = // adjustment1 : 0 - 2230
7571 { // adjustment2 : 8640 - 12960
7572 { 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 },
7573 { 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 }
7574 };
7575 static const sal_uInt16 mso_sptTextWave3Segm[] =
7576 {
7577 0x4000, 0x2002, 0x8000,
7578 0x4000, 0x2002, 0x8000
7579 };
7580 static const mso_CustomShape msoTextWave3 =
7581 {
7582 (SvxMSDffVertPair*)mso_sptTextWave3Vert, sizeof( mso_sptTextWave3Vert ) / sizeof( SvxMSDffVertPair ),
7583 (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1,
7584 (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, sizeof( mso_sptDoubleWaveCalc ) / sizeof( SvxMSDffCalculationData ),
7585 (sal_Int32*)mso_sptDoubleWaveDefault,
7586 (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, sizeof( mso_sptDoubleWaveTextRect ) / sizeof( SvxMSDffTextRectangles ),
7587 21600, 21600,
7588 Mx80000000, Mx80000000,
7589 (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, sizeof( mso_sptDoubleWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
7590 (SvxMSDffHandle*)mso_sptDoubleWaveHandle, sizeof( mso_sptDoubleWaveHandle ) / sizeof( SvxMSDffHandle )
7591 };
7592
7593 static const SvxMSDffVertPair mso_sptTextWave4Vert[] = // adjustment1 : 0 - 2230
7594 { // adjustment2 : 8640 - 12960
7595 { 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 },
7596 { 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 }
7597 };
7598 static const mso_CustomShape msoTextWave4 =
7599 {
7600 (SvxMSDffVertPair*)mso_sptTextWave4Vert, sizeof( mso_sptTextWave4Vert ) / sizeof( SvxMSDffVertPair ),
7601 (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1,
7602 (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, sizeof( mso_sptDoubleWaveCalc ) / sizeof( SvxMSDffCalculationData ),
7603 (sal_Int32*)mso_sptDoubleWaveDefault,
7604 (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, sizeof( mso_sptDoubleWaveTextRect ) / sizeof( SvxMSDffTextRectangles ),
7605 21600, 21600,
7606 Mx80000000, Mx80000000,
7607 (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, sizeof( mso_sptDoubleWaveGluePoints ) / sizeof( SvxMSDffVertPair ),
7608 (SvxMSDffHandle*)mso_sptDoubleWaveHandle, sizeof( mso_sptDoubleWaveHandle ) / sizeof( SvxMSDffHandle )
7609 };
7610
7611 static const sal_Int32 mso_sptCalloutDefault1[] =
7612 {
7613 4, -1800, 24500, -1800, 4000
7614 };
7615 static const sal_Int32 mso_sptCalloutDefault2[] =
7616 {
7617 4, -8300, 24500, -1800, 4000
7618 };
7619 static const sal_Int32 mso_sptCalloutDefault3[] =
7620 {
7621 6, -10000, 24500, -3600, 4000, -1800, 4000
7622 };
7623 static const sal_Int32 mso_sptCalloutDefault4[] =
7624 {
7625 8, 23400, 24500, 25200, 21600, 25200, 4000, 23400, 4000
7626 };
7627 static const SvxMSDffVertPair mso_sptCalloutVert1[] =
7628 {
7629 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }
7630 };
7631 static const SvxMSDffHandle mso_sptCalloutHandle1[] =
7632 {
7633 { 0,
7634 0x100, 0x101, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff },
7635 { 0,
7636 0x102, 0x103, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff }
7637 };
7638 static const sal_uInt16 mso_sptCalloutSegm1a[] =
7639 {
7640 0x4000, 0x0003, 0x6000, 0x8000,
7641 0x4000, 0x0001, 0x8000
7642 };
7643 static const sal_uInt16 mso_sptCalloutSegm1b[] =
7644 {
7645 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7646 0x4000, 0x0001, 0x8000
7647 };
7648 static const SvxMSDffVertPair mso_sptCallout1Vert[] =
7649 {
7650 { 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 }
7651 };
7652 static const sal_uInt16 mso_sptCallout1Segm1a[] =
7653 {
7654 0x4000, 0x0003, 0x6000, 0x8000,
7655 0x4000, 0x0001, 0x8000,
7656 0x4000, 0x0001, 0x8000
7657 };
7658 static const sal_uInt16 mso_sptCallout1Segm1b[] =
7659 {
7660 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7661 0x4000, 0x0001, 0x8000,
7662 0x4000, 0x0001, 0x8000
7663 };
7664 static const SvxMSDffVertPair mso_sptCallout2Verta[] =
7665 {
7666 { 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 }
7667 };
7668 static const SvxMSDffVertPair mso_sptCallout2Vertb[] =
7669 {
7670 { 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 }
7671 };
7672 static const SvxMSDffHandle mso_sptCalloutHandle2[] =
7673 {
7674 { 0,
7675 0x100, 0x101, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff },
7676 { 0,
7677 0x102, 0x103, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff },
7678 { 0,
7679 0x104, 0x105, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff }
7680 };
7681 static const sal_uInt16 mso_sptCallout2Segm1a[] =
7682 {
7683 0x4000, 0x0003, 0x6000, 0x8000,
7684 0x4000, 0x0001, 0x8000,
7685 0x4000, 0x0001, 0x8000,
7686 0x4000, 0x0001, 0x8000
7687 };
7688 static const sal_uInt16 mso_sptCallout2Segm1b[] =
7689 {
7690 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7691 0x4000, 0x0001, 0x8000,
7692 0x4000, 0x0001, 0x8000,
7693 0x4000, 0x0001, 0x8000
7694 };
7695 static const sal_uInt16 mso_sptCallout2Segm1c[] =
7696 {
7697 0x4000, 0x0003, 0x6000, 0x8000,
7698 0x4000, 0x0001, 0x8000,
7699 0x4000, 0x0001, 0x8000,
7700 0x4000, 0x0001, 0x8000,
7701 0x4000, 0x0001, 0x8000
7702 };
7703 static const sal_uInt16 mso_sptCallout2Segm1d[] =
7704 {
7705 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7706 0x4000, 0x0001, 0x8000,
7707 0x4000, 0x0001, 0x8000,
7708 0x4000, 0x0001, 0x8000,
7709 0x4000, 0x0001, 0x8000
7710 };
7711 static const SvxMSDffVertPair mso_sptCallout3Verta[] =
7712 {
7713 { 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 }
7714 };
7715 static const SvxMSDffVertPair mso_sptCallout3Vertb[] =
7716 {
7717 { 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 }
7718 };
7719 static const SvxMSDffHandle mso_sptCalloutHandle3[] =
7720 {
7721 { 0,
7722 0x100, 0x101, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff },
7723 { 0,
7724 0x102, 0x103, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff },
7725 { 0,
7726 0x104, 0x105, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff },
7727 { 0,
7728 0x106, 0x107, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff }
7729 };
7730 static const sal_uInt16 mso_sptCallout3Segm1a[] =
7731 {
7732 0x4000, 0x0003, 0x6000, 0x8000,
7733 0x4000, 0xaa00, 0x0003, 0x8000 // NO_FILL
7734 };
7735 static const sal_uInt16 mso_sptCallout3Segm1b[] =
7736 {
7737 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7738 0x4000, 0xaa00, 0x0003, 0x8000 // NO FILL
7739 };
7740 static const sal_uInt16 mso_sptCallout3Segm1c[] =
7741 {
7742 0x4000, 0x0003, 0x6000, 0x8000,
7743 0x4000, 0xaa00, 0x0003, 0x8000, // NO FILL
7744 0x4000, 0x0001, 0x8000
7745 };
7746 static const sal_uInt16 mso_sptCallout3Segm1d[] =
7747 {
7748 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE
7749 0x4000, 0xaa00, 0x0003, 0x8000, // NO FILL
7750 0x4000, 0x0001, 0x8000
7751 };
7752
7753 static const SvxMSDffCalculationData mso_sptCalloutCalc[] =
7754 {
7755 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
7756 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
7757 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
7758 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } },
7759 { 0x2000, { DFF_Prop_adjust5Value, 0, 0 } },
7760 { 0x2000, { DFF_Prop_adjust6Value, 0, 0 } },
7761 { 0x2000, { DFF_Prop_adjust7Value, 0, 0 } },
7762 { 0x2000, { DFF_Prop_adjust8Value, 0, 0 } }
7763 };
7764
7765 static const mso_CustomShape msoCallout90 =
7766 {
7767 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
7768 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
7769 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7770 (sal_Int32*)mso_sptCalloutDefault1,
7771 NULL, 0,
7772 21600, 21600,
7773 Mx80000000, Mx80000000,
7774 NULL, 0,
7775 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
7776 };
7777 static const mso_CustomShape msoCallout1 =
7778 {
7779 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
7780 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
7781 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7782 (sal_Int32*)mso_sptCalloutDefault2,
7783 NULL, 0,
7784 21600, 21600,
7785 Mx80000000, Mx80000000,
7786 NULL, 0,
7787 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
7788 };
7789 static const mso_CustomShape msoCallout2 =
7790 {
7791 (SvxMSDffVertPair*)mso_sptCallout2Verta, sizeof( mso_sptCallout2Verta ) / sizeof( SvxMSDffVertPair ),
7792 (sal_uInt16*)mso_sptCallout2Segm1b, sizeof( mso_sptCallout2Segm1b ) >> 1,
7793 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7794 (sal_Int32*)mso_sptCalloutDefault3,
7795 NULL, 0,
7796 21600, 21600,
7797 Mx80000000, Mx80000000,
7798 NULL, 0,
7799 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle )
7800 };
7801 static const mso_CustomShape msoCallout3 =
7802 {
7803 (SvxMSDffVertPair*)mso_sptCallout3Verta, sizeof( mso_sptCallout3Verta ) / sizeof( SvxMSDffVertPair ),
7804 (sal_uInt16*)mso_sptCallout3Segm1b, sizeof( mso_sptCallout3Segm1b ) >> 1,
7805 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7806 (sal_Int32*)mso_sptCalloutDefault4,
7807 NULL, 0,
7808 21600, 21600,
7809 Mx80000000, Mx80000000,
7810 NULL, 0,
7811 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle )
7812 };
7813 static const mso_CustomShape msoAccentCallout90 =
7814 {
7815 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
7816 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1,
7817 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7818 (sal_Int32*)mso_sptCalloutDefault1,
7819 NULL, 0,
7820 21600, 21600,
7821 Mx80000000, Mx80000000,
7822 NULL, 0,
7823 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
7824 };
7825 static const mso_CustomShape msoAccentCallout1 =
7826 {
7827 (SvxMSDffVertPair*)mso_sptCallout1Vert, sizeof( mso_sptCallout1Vert ) / sizeof( SvxMSDffVertPair ),
7828 (sal_uInt16*)mso_sptCallout1Segm1b, sizeof( mso_sptCallout1Segm1b ) >> 1,
7829 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7830 (sal_Int32*)mso_sptCalloutDefault2,
7831 NULL, 0,
7832 21600, 21600,
7833 Mx80000000, Mx80000000,
7834 NULL, 0,
7835 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
7836 };
7837 static const mso_CustomShape msoAccentCallout2 =
7838 {
7839 (SvxMSDffVertPair*)mso_sptCallout2Vertb, sizeof( mso_sptCallout2Vertb ) / sizeof( SvxMSDffVertPair ),
7840 (sal_uInt16*)mso_sptCallout2Segm1d, sizeof( mso_sptCallout2Segm1d ) >> 1,
7841 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7842 (sal_Int32*)mso_sptCalloutDefault3,
7843 NULL, 0,
7844 21600, 21600,
7845 Mx80000000, Mx80000000,
7846 NULL, 0,
7847 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle )
7848 };
7849 static const mso_CustomShape msoAccentCallout3 =
7850 {
7851 (SvxMSDffVertPair*)mso_sptCallout3Vertb, sizeof( mso_sptCallout3Vertb ) / sizeof( SvxMSDffVertPair ),
7852 (sal_uInt16*)mso_sptCallout3Segm1d, sizeof( mso_sptCallout3Segm1d ) >> 1,
7853 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7854 (sal_Int32*)mso_sptCalloutDefault4,
7855 NULL, 0,
7856 21600, 21600,
7857 Mx80000000, Mx80000000,
7858 NULL, 0,
7859 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle )
7860 };
7861 static const mso_CustomShape msoBorderCallout90 =
7862 {
7863 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
7864 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
7865 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7866 (sal_Int32*)mso_sptCalloutDefault1,
7867 NULL, 0,
7868 21600, 21600,
7869 Mx80000000, Mx80000000,
7870 NULL, 0,
7871 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
7872 };
7873 static const mso_CustomShape msoBorderCallout1 =
7874 {
7875 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
7876 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
7877 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7878 (sal_Int32*)mso_sptCalloutDefault2,
7879 NULL, 0,
7880 21600, 21600,
7881 Mx80000000, Mx80000000,
7882 NULL, 0,
7883 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
7884 };
7885 static const mso_CustomShape msoBorderCallout2 =
7886 {
7887 (SvxMSDffVertPair*)mso_sptCallout2Verta, sizeof( mso_sptCallout2Verta ) / sizeof( SvxMSDffVertPair ),
7888 (sal_uInt16*)mso_sptCallout2Segm1a, sizeof( mso_sptCallout2Segm1a ) >> 1,
7889 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7890 (sal_Int32*)mso_sptCalloutDefault3,
7891 NULL, 0,
7892 21600, 21600,
7893 Mx80000000, Mx80000000,
7894 NULL, 0,
7895 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle )
7896 };
7897 static const mso_CustomShape msoBorderCallout3 =
7898 {
7899 (SvxMSDffVertPair*)mso_sptCallout3Verta, sizeof( mso_sptCallout3Verta ) / sizeof( SvxMSDffVertPair ),
7900 (sal_uInt16*)mso_sptCallout3Segm1a, sizeof( mso_sptCallout3Segm1a ) >> 1,
7901 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7902 (sal_Int32*)mso_sptCalloutDefault4,
7903 NULL, 0,
7904 21600, 21600,
7905 Mx80000000, Mx80000000,
7906 NULL, 0,
7907 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle )
7908 };
7909 static const mso_CustomShape msoAccentBorderCallout90 =
7910 {
7911 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ),
7912 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1,
7913 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7914 (sal_Int32*)mso_sptCalloutDefault1,
7915 NULL, 0,
7916 21600, 21600,
7917 Mx80000000, Mx80000000,
7918 NULL, 0,
7919 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
7920 };
7921 static const mso_CustomShape msoAccentBorderCallout1 =
7922 {
7923 (SvxMSDffVertPair*)mso_sptCallout1Vert, sizeof( mso_sptCallout1Vert ) / sizeof( SvxMSDffVertPair ),
7924 (sal_uInt16*)mso_sptCallout1Segm1a, sizeof( mso_sptCallout1Segm1a ) >> 1,
7925 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7926 (sal_Int32*)mso_sptCalloutDefault2,
7927 NULL, 0,
7928 21600, 21600,
7929 Mx80000000, Mx80000000,
7930 NULL, 0,
7931 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle )
7932 };
7933 static const mso_CustomShape msoAccentBorderCallout2 =
7934 {
7935 (SvxMSDffVertPair*)mso_sptCallout2Vertb, sizeof( mso_sptCallout2Vertb ) / sizeof( SvxMSDffVertPair ),
7936 (sal_uInt16*)mso_sptCallout2Segm1c, sizeof( mso_sptCallout2Segm1c ) >> 1,
7937 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7938 (sal_Int32*)mso_sptCalloutDefault3,
7939 NULL, 0,
7940 21600, 21600,
7941 Mx80000000, Mx80000000,
7942 NULL, 0,
7943 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle )
7944 };
7945 static const mso_CustomShape msoAccentBorderCallout3 =
7946 {
7947 (SvxMSDffVertPair*)mso_sptCallout3Vertb, sizeof( mso_sptCallout3Vertb ) / sizeof( SvxMSDffVertPair ),
7948 (sal_uInt16*)mso_sptCallout3Segm1c, sizeof( mso_sptCallout3Segm1c ) >> 1,
7949 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ),
7950 (sal_Int32*)mso_sptCalloutDefault4,
7951 NULL, 0,
7952 21600, 21600,
7953 Mx80000000, Mx80000000,
7954 NULL, 0,
7955 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle )
7956 };
7957
7958 static const SvxMSDffVertPair mso_sptStraightConnector1Vert[] =
7959 {
7960 { 0, 0 }, { 21600, 21600 }
7961 };
7962 static const sal_uInt16 mso_sptStraightConnector1Segm[] =
7963 {
7964 0x4000, 0x0001, 0x8000
7965 };
7966 static const mso_CustomShape msoStraightConnector1 =
7967 {
7968 (SvxMSDffVertPair*)mso_sptStraightConnector1Vert, sizeof( mso_sptStraightConnector1Vert ) / sizeof( SvxMSDffVertPair ),
7969 (sal_uInt16*)mso_sptStraightConnector1Segm, sizeof( mso_sptStraightConnector1Segm ) >> 1,
7970 (SvxMSDffCalculationData*)NULL, 0,
7971 (sal_Int32*)NULL,
7972 NULL, 0,
7973 21600, 21600,
7974 Mx80000000, Mx80000000,
7975 NULL, 0,
7976 (SvxMSDffHandle*)NULL, 0
7977 };
7978
7979 static const SvxMSDffVertPair mso_sptBentConnector2Vert[] =
7980 {
7981 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }
7982 };
7983 static const sal_uInt16 mso_sptBentConnector2Segm[] =
7984 {
7985 0x4000, 0x0002, 0x8000
7986 };
7987 static const mso_CustomShape msoBentConnector2 =
7988 {
7989 (SvxMSDffVertPair*)mso_sptBentConnector2Vert, sizeof( mso_sptBentConnector2Vert ) / sizeof( SvxMSDffVertPair ),
7990 (sal_uInt16*)mso_sptBentConnector2Segm, sizeof( mso_sptBentConnector2Segm ) >> 1,
7991 (SvxMSDffCalculationData*)NULL, 0,
7992 (sal_Int32*)NULL,
7993 NULL, 0,
7994 21600, 21600,
7995 Mx80000000, Mx80000000,
7996 NULL, 0,
7997 (SvxMSDffHandle*)NULL, 0
7998 };
7999
8000 static const SvxMSDffVertPair mso_sptBentConnector3Vert[] =
8001 {
8002 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 21600 }, { 21600, 21600 }
8003 };
8004 static const sal_uInt16 mso_sptBentConnector3Segm[] =
8005 {
8006 0x4000, 0x0003, 0x8000
8007 };
8008 static const SvxMSDffCalculationData mso_sptBentConnector3Calc[] =
8009 {
8010 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }
8011 };
8012 static const sal_Int32 mso_sptBentConnector3Default[] =
8013 {
8014 1, 10800
8015 };
8016 static const SvxMSDffHandle mso_sptBentConnector3Handle[] =
8017 {
8018 { MSDFF_HANDLE_FLAGS_RANGE,
8019 0x100, 10800, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff }
8020 };
8021 static const mso_CustomShape msoBentConnector3 =
8022 {
8023 (SvxMSDffVertPair*)mso_sptBentConnector3Vert, sizeof( mso_sptBentConnector3Vert ) / sizeof( SvxMSDffVertPair ),
8024 (sal_uInt16*)mso_sptBentConnector3Segm, sizeof( mso_sptBentConnector3Segm ) >> 1,
8025 (SvxMSDffCalculationData*)mso_sptBentConnector3Calc, sizeof( mso_sptBentConnector3Calc ) / sizeof( SvxMSDffCalculationData ),
8026 (sal_Int32*)mso_sptBentConnector3Default,
8027 NULL, 0,
8028 21600, 21600,
8029 Mx80000000, Mx80000000,
8030 NULL, 0,
8031 (SvxMSDffHandle*)mso_sptBentConnector3Handle, sizeof( mso_sptBentConnector3Handle ) / sizeof( SvxMSDffHandle )
8032 };
8033
8034 static const SvxMSDffVertPair mso_sptBentConnector4Vert[] =
8035 {
8036 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 21600, 1 MSO_I }, { 21600, 21600 }
8037 };
8038 static const sal_uInt16 mso_sptBentConnector4Segm[] =
8039 {
8040 0x4000, 0x0004, 0x8000
8041 };
8042 static const SvxMSDffCalculationData mso_sptBentConnector4Calc[] =
8043 {
8044 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
8045 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
8046 { 0x2000, { 0x400, 21600, 0 } },
8047 { 0x2001, { 0x402, 1, 2 } },
8048 { 0x2001, { 0x401, 1, 2 } }
8049 };
8050 static const sal_Int32 mso_sptBentConnector4Default[] =
8051 {
8052 2, 10800, 10800
8053 };
8054 static const SvxMSDffHandle mso_sptBentConnector4Handle[] =
8055 {
8056 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8057 0x100, 4 + 3, 10800, 10800, Mx80000000, 0x7fffffff, 4 + 3, 4 + 3 },
8058 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
8059 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, Mx80000000, 0x7fffffff }
8060 };
8061 static const mso_CustomShape msoBentConnector4 =
8062 {
8063 (SvxMSDffVertPair*)mso_sptBentConnector4Vert, sizeof( mso_sptBentConnector4Vert ) / sizeof( SvxMSDffVertPair ),
8064 (sal_uInt16*)mso_sptBentConnector4Segm, sizeof( mso_sptBentConnector4Segm ) >> 1,
8065 (SvxMSDffCalculationData*)mso_sptBentConnector4Calc, sizeof( mso_sptBentConnector4Calc ) / sizeof( SvxMSDffCalculationData ),
8066 (sal_Int32*)mso_sptBentConnector4Default,
8067 NULL, 0,
8068 21600, 21600,
8069 Mx80000000, Mx80000000,
8070 NULL, 0,
8071 (SvxMSDffHandle*)mso_sptBentConnector4Handle, sizeof( mso_sptBentConnector4Handle ) / sizeof( SvxMSDffHandle )
8072 };
8073
8074 static const SvxMSDffVertPair mso_sptBentConnector5Vert[] =
8075 {
8076 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 4 MSO_I }, { 1 MSO_I, 4 MSO_I }, { 1 MSO_I, 21600 }, { 21600, 21600 }
8077 };
8078 static const sal_uInt16 mso_sptBentConnector5Segm[] =
8079 {
8080 0x4000, 0x0005, 0x8000
8081 };
8082 static const SvxMSDffCalculationData mso_sptBentConnector5Calc[] =
8083 {
8084 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
8085 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
8086 { 0x6000, { 0x400, 0x401, 0 } },
8087 { 0x2001, { 0x402, 1, 2 } },
8088 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
8089 { 0x2001, { 0x404, 1, 2 } },
8090 { 0x4000, { 21600, 0x404, 0 } },
8091 { 0x2001, { 0x406, 1, 2 } }
8092 };
8093 static const sal_Int32 mso_sptBentConnector5Default[] =
8094 {
8095 3, 10800, 10800, 10800
8096 };
8097 static const SvxMSDffHandle mso_sptBentConnector5Handle[] =
8098 {
8099 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8100 0x100, 5 + 3, 10800, 10800, Mx80000000, 0x7fffffff, 5 + 3, 5 + 3 },
8101 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
8102 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, Mx80000000, 0x7fffffff },
8103 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8104 0x102, 7 + 3, 10800, 10800, Mx80000000, 0x7fffffff, 7 + 3, 7 + 3 }
8105 };
8106 static const mso_CustomShape msoBentConnector5 =
8107 {
8108 (SvxMSDffVertPair*)mso_sptBentConnector5Vert, sizeof( mso_sptBentConnector5Vert ) / sizeof( SvxMSDffVertPair ),
8109 (sal_uInt16*)mso_sptBentConnector5Segm, sizeof( mso_sptBentConnector5Segm ) >> 1,
8110 (SvxMSDffCalculationData*)mso_sptBentConnector5Calc, sizeof( mso_sptBentConnector5Calc ) / sizeof( SvxMSDffCalculationData ),
8111 (sal_Int32*)mso_sptBentConnector5Default,
8112 NULL, 0,
8113 21600, 21600,
8114 Mx80000000, Mx80000000,
8115 NULL, 0,
8116 (SvxMSDffHandle*)mso_sptBentConnector5Handle, sizeof( mso_sptBentConnector5Handle ) / sizeof( SvxMSDffHandle )
8117 };
8118
8119 static const SvxMSDffVertPair mso_sptCurvedConnector2Vert[] =
8120 {
8121 { 0, 0 }, { 10800, 0 }, { 21600, 10800 }, { 21600, 21600 }
8122 };
8123 static const sal_uInt16 mso_sptCurvedConnector2Segm[] =
8124 {
8125 0x4000, 0x2001, 0x8000
8126 };
8127 static const mso_CustomShape msoCurvedConnector2 =
8128 {
8129 (SvxMSDffVertPair*)mso_sptCurvedConnector2Vert, sizeof( mso_sptCurvedConnector2Vert ) / sizeof( SvxMSDffVertPair ),
8130 (sal_uInt16*)mso_sptCurvedConnector2Segm, sizeof( mso_sptCurvedConnector2Segm ) >> 1,
8131 (SvxMSDffCalculationData*)NULL, 0,
8132 (sal_Int32*)NULL,
8133 NULL, 0,
8134 21600, 21600,
8135 Mx80000000, Mx80000000,
8136 NULL, 0,
8137 (SvxMSDffHandle*)NULL, 0
8138 };
8139
8140 static const SvxMSDffVertPair mso_sptCurvedConnector3Vert[] =
8141 {
8142 { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 5400 }, { 0 MSO_I, 10800 }, { 0 MSO_I, 16200 }, { 3 MSO_I, 21600 }, { 21600, 21600 }
8143 };
8144 static const sal_uInt16 mso_sptCurvedConnector3Segm[] =
8145 {
8146 0x4000, 0x2002, 0x8000
8147 };
8148 static const SvxMSDffCalculationData mso_sptCurvedConnector3Calc[] =
8149 {
8150 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
8151 { 0x2001, { 0x400, 1, 2 } },
8152 { 0x2000, { 0x400, 21600, 0 } },
8153 { 0x2001, { 0x402, 1, 2 } }
8154 };
8155 static const sal_Int32 mso_sptCurvedConnector3Default[] =
8156 {
8157 1, 10800
8158 };
8159 static const SvxMSDffHandle mso_sptCurvedConnector3Handle[] =
8160 {
8161 { MSDFF_HANDLE_FLAGS_RANGE,
8162 0x100, 10800, 10800, 10800, Mx80000000, 0x7fffffff, Mx80000000, 0x7fffffff }
8163 };
8164 static const mso_CustomShape msoCurvedConnector3 =
8165 {
8166 (SvxMSDffVertPair*)mso_sptCurvedConnector3Vert, sizeof( mso_sptCurvedConnector3Vert ) / sizeof( SvxMSDffVertPair ),
8167 (sal_uInt16*)mso_sptCurvedConnector3Segm, sizeof( mso_sptCurvedConnector3Segm ) >> 1,
8168 (SvxMSDffCalculationData*)mso_sptCurvedConnector3Calc, sizeof( mso_sptCurvedConnector3Calc ) / sizeof( SvxMSDffCalculationData ),
8169 (sal_Int32*)mso_sptCurvedConnector3Default,
8170 NULL, 0,
8171 21600, 21600,
8172 Mx80000000, Mx80000000,
8173 NULL, 0,
8174 (SvxMSDffHandle*)mso_sptCurvedConnector3Handle, sizeof( mso_sptCurvedConnector3Handle ) / sizeof( SvxMSDffHandle )
8175 };
8176
8177 static const SvxMSDffVertPair mso_sptCurvedConnector4Vert[] =
8178 {
8179 { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 10 MSO_I }, { 0 MSO_I, 9 MSO_I },
8180 { 0 MSO_I, 12 MSO_I }, { 5 MSO_I, 8 MSO_I }, { 3 MSO_I, 8 MSO_I },
8181 { 7 MSO_I, 8 MSO_I }, { 21600, 14 MSO_I }, { 21600, 21600 }
8182
8183 };
8184 static const sal_uInt16 mso_sptCurvedConnector4Segm[] =
8185 {
8186 0x4000, 0x2003, 0x8000
8187 };
8188 static const SvxMSDffCalculationData mso_sptCurvedConnector4Calc[] =
8189 {
8190 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
8191 { 0x2001, { 0x400, 1, 2 } },
8192 { 0x4000, { 21600, 0x400, 0 } },
8193 { 0x2001, { 0x402, 1, 2 } },
8194 { 0x6000, { 0x400, 0x403, 0 } },
8195 { 0x2001, { 0x404, 1, 2 } },
8196 { 0x2000, { 0x403, 21600, 0 } },
8197 { 0x2001, { 0x406, 1, 2 } },
8198 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
8199 { 0x2001, { DFF_Prop_adjust2Value, 1, 2 } },
8200 { 0x2001, { DFF_Prop_adjust2Value, 1, 4 } },
8201 { 0x6000, { 0x408, 0x409, 0 } },
8202 { 0x2001, { 0x40b, 1, 2 } },
8203 { 0x2000, { 0x408, 21600, 0 } },
8204 { 0x2001, { 0x40d, 1, 2 } }
8205 };
8206 static const sal_Int32 mso_sptCurvedConnector4Default[] =
8207 {
8208 2, 10800, 10800
8209 };
8210 static const SvxMSDffHandle mso_sptCurvedConnector4Handle[] =
8211 {
8212 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8213 0x100, 9 + 3, 10800, 10800, Mx80000000, 0x7fffffff, 9 + 3, 9 + 3 },
8214 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
8215 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, Mx80000000, 0x7fffffff }
8216 };
8217 static const mso_CustomShape msoCurvedConnector4 =
8218 {
8219 (SvxMSDffVertPair*)mso_sptCurvedConnector4Vert, sizeof( mso_sptCurvedConnector4Vert ) / sizeof( SvxMSDffVertPair ),
8220 (sal_uInt16*)mso_sptCurvedConnector4Segm, sizeof( mso_sptCurvedConnector4Segm ) >> 1,
8221 (SvxMSDffCalculationData*)mso_sptCurvedConnector4Calc, sizeof( mso_sptCurvedConnector4Calc ) / sizeof( SvxMSDffCalculationData ),
8222 (sal_Int32*)mso_sptCurvedConnector4Default,
8223 NULL, 0,
8224 21600, 21600,
8225 Mx80000000, Mx80000000,
8226 NULL, 0,
8227 (SvxMSDffHandle*)mso_sptCurvedConnector4Handle, sizeof( mso_sptCurvedConnector4Handle ) / sizeof( SvxMSDffHandle )
8228 };
8229
8230 static const SvxMSDffVertPair mso_sptCurvedConnector5Vert[] =
8231 {
8232 { 0, 0 },
8233 { 21 MSO_I, 0 }, { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I },
8234 { 0 MSO_I, 14 MSO_I }, { 6 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I },
8235 { 8 MSO_I, 4 MSO_I }, { 1 MSO_I, 18 MSO_I }, { 1 MSO_I, 16 MSO_I },
8236 { 1 MSO_I, 20 MSO_I }, { 10 MSO_I, 21600 }, { 21600, 21600 }
8237 };
8238 static const sal_uInt16 mso_sptCurvedConnector5Segm[] =
8239 {
8240 0x4000, 0x2004, 0x8000
8241 };
8242 static const SvxMSDffCalculationData mso_sptCurvedConnector5Calc[] =
8243 {
8244 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } },
8245 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } },
8246 { 0x6000, { 0x400, 0x401, 0 } },
8247 { 0x2001, { 0x402, 1, 2 } },
8248 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },
8249 { 0x6000, { 0x400, 0x403, 0 } },
8250 { 0x2001, { 0x405, 1, 2 } },
8251 { 0x6000, { 0x401, 0x403, 0 } },
8252 { 0x2001, { 0x407, 1, 2 } },
8253 { 0x2000, { 0x401, 21600, 0 } },
8254 { 0x2001, { 0x409, 1, 2 } },
8255 { 0x2001, { 0x404, 1, 2 } },
8256 { 0x2001, { 0x40b, 1, 2 } },
8257 { 0x6000, { 0x404, 0x40b, 0 } },
8258 { 0x2001, { 0x40d, 1, 2 } },
8259 { 0x2000, { 0x404, 21600, 0 } },
8260 { 0x2001, { 0x40f, 1, 2 } },
8261 { 0x6000, { 0x404, 0x410, 0 } },
8262 { 0x2001, { 0x411, 1, 2 } },
8263 { 0x2000, { 0x410, 21600, 0 } },
8264 { 0x2001, { 0x413, 1, 2 } },
8265 { 0x2001, { 0x400, 1, 2 } }
8266 };
8267 static const sal_Int32 mso_sptCurvedConnector5Default[] =
8268 {
8269 3, 10800, 10800, 10800
8270 };
8271 static const SvxMSDffHandle mso_sptCurvedConnector5Handle[] =
8272 {
8273 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8274 0x100, 11 + 3, 10800, 10800, Mx80000000, 0x7fffffff, 11 + 3, 11 + 3 },
8275 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL,
8276 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, Mx80000000, 0x7fffffff },
8277 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL,
8278 0x102, 16 + 3, 10800, 10800, Mx80000000, 0x7fffffff, 16 + 3, 16 + 3 }
8279 };
8280 static const mso_CustomShape msoCurvedConnector5 =
8281 {
8282 (SvxMSDffVertPair*)mso_sptCurvedConnector5Vert, sizeof( mso_sptCurvedConnector5Vert ) / sizeof( SvxMSDffVertPair ),
8283 (sal_uInt16*)mso_sptCurvedConnector5Segm, sizeof( mso_sptCurvedConnector5Segm ) >> 1,
8284 (SvxMSDffCalculationData*)mso_sptCurvedConnector5Calc, sizeof( mso_sptCurvedConnector5Calc ) / sizeof( SvxMSDffCalculationData ),
8285 (sal_Int32*)mso_sptCurvedConnector5Default,
8286 NULL, 0,
8287 21600, 21600,
8288 Mx80000000, Mx80000000,
8289 NULL, 0,
8290 (SvxMSDffHandle*)mso_sptCurvedConnector5Handle, sizeof( mso_sptCurvedConnector5Handle ) / sizeof( SvxMSDffHandle )
8291 };
8292
8293 /////////////////////////////teardrop////////////////////////////////////////////
8294 static const SvxMSDffVertPair mso_sptTearDropVert[] =
8295 {
8296 { 10800, 0 },
8297 { 0, 10800 }, // X
8298 { 10800, 21600 }, // Y
8299 { 21600, 10800 }, // X
8300 { 21600, 10800 }, { 21600, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }, // C
8301 { 0 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 }, { 10800, 0 }
8302 };
8303
8304 // the last number (0x***n) : 0 = sum, 1 = prod, 2 = mid, 3 = abs, 4 = min, 5 = max, 6 = if, 13 = sqrt, 15 = eclipse ...
8305 // the first number(0xn***) : 2/4/8 the first/second/third value is not directly value
8306 static const SvxMSDffCalculationData mso_sptTearDropCalc[] =
8307 {
8308 { 0x2000 , { DFF_Prop_adjustValue , 0 , 0 } }, // 0 adjust value #0
8309 { 0x8000 , { 21600 , 0 , 0x0400 } }, // 1 21600 - @0 y0
8310 { 0x8000 , { 32400 , 0 , 0x0400 } }, // 2 (32400 - @0)
8311 { 0x2001 , { 0x0402 , 1 , 2 } }, // 3 (32400 - @0)/2 y1
8312 { 0x2002 , { 0x0400 , 10800 , 0 } }, // 4 (@0+10800)/2 x2
8313 };
8314
8315 //m, qx, qy, qx,C,C
8316 //the last number(0x***n) : repeat number of this current Segm
8317 static const sal_uInt16 mso_sptTearDropSegm[] =
8318 {
8319 0x4000, 0xa701, 0xa801, 0xa701, 0x2002, 0x6000, 0x8000
8320 };
8321
8322 static const SvxMSDffTextRectangles mso_sptTearDropTextRect[] =
8323 {
8324 { { 2863, 2863 }, { 18737, 18737 } }
8325 };
8326
8327 //the range of adjust values
8328 static const SvxMSDffHandle mso_sptTearDropHandle[] =
8329 {
8330 //position="$0,0" xrange="10800,32400"
8331 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL| MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL,
8332 0x100, 0, 10800, 10800, 10800, 32400, Mx80000000, 0x7fffffff }
8333 };
8334
8335 //the number of adjust values, the default values
8336 static const sal_Int32 mso_sptTearDropDefault[] =
8337 {
8338 1, 21600
8339 };
8340
8341 static const mso_CustomShape msoTearDrop =
8342 {
8343 (SvxMSDffVertPair*)mso_sptTearDropVert, sizeof( mso_sptTearDropVert ) / sizeof( SvxMSDffVertPair ),
8344 (sal_uInt16*)mso_sptTearDropSegm, sizeof( mso_sptTearDropSegm ) >> 1,
8345 (SvxMSDffCalculationData*)mso_sptTearDropCalc, sizeof(mso_sptTearDropCalc)/sizeof(SvxMSDffCalculationData),
8346 (sal_Int32*)mso_sptTearDropDefault,
8347 (SvxMSDffTextRectangles*)mso_sptTearDropTextRect, sizeof( mso_sptTearDropTextRect ) / sizeof( SvxMSDffTextRectangles ),
8348 21600, 21600,
8349 Mx80000000, Mx80000000,
8350 NULL, 0,
8351 (SvxMSDffHandle*)mso_sptTearDropHandle, sizeof(mso_sptTearDropHandle)/sizeof(SvxMSDffHandle) // handles
8352 };
8353
8354
GetCustomShapeContent(MSO_SPT eSpType)8355 const mso_CustomShape* GetCustomShapeContent( MSO_SPT eSpType )
8356 {
8357 const mso_CustomShape* pCustomShape = NULL;
8358 switch( eSpType )
8359 {
8360 case mso_sptArc : pCustomShape = &msoArc; break;
8361 case mso_sptLine: pCustomShape = &msoStraightConnector1; break;
8362 case mso_sptRectangle : pCustomShape = &msoRectangle; break;
8363 case mso_sptParallelogram : pCustomShape = &msoParallelogram; break;
8364 case mso_sptTrapezoid : pCustomShape = &msoTrapezoid; break;
8365 case mso_sptDiamond : pCustomShape = &msoDiamond; break;
8366 case mso_sptRoundRectangle : pCustomShape = &msoRoundRectangle; break;
8367 case mso_sptOctagon : pCustomShape = &msoOctagon; break;
8368 case mso_sptIsocelesTriangle : pCustomShape = &msoIsocelesTriangle; break;
8369 case mso_sptRightTriangle : pCustomShape = &msoRightTriangle; break;
8370 case mso_sptEllipse : pCustomShape = &msoEllipse; break;
8371 case mso_sptHexagon : pCustomShape = &msoHexagon; break;
8372 case mso_sptPlus : pCustomShape = &msoPlus; break;
8373 case mso_sptPentagon : pCustomShape = &msoPentagon; break;
8374 case mso_sptCan : pCustomShape = &msoCan; break;
8375 case mso_sptCube : pCustomShape = &msoCube; break;
8376 case mso_sptBalloon : pCustomShape = &msoBalloon; break;
8377 case mso_sptActionButtonBlank : pCustomShape = &msoActionButtonBlank; break;
8378 case mso_sptActionButtonHome : pCustomShape = &msoActionButtonHome; break;
8379 case mso_sptActionButtonHelp : pCustomShape = &msoActionButtonHelp; break;
8380 case mso_sptActionButtonInformation : pCustomShape = &msoActionButtonInformation; break;
8381 case mso_sptActionButtonBackPrevious : pCustomShape = &msoActionButtonBackPrevious; break;
8382 case mso_sptActionButtonForwardNext : pCustomShape = &msoActionButtonForwardNext; break;
8383 case mso_sptActionButtonBeginning : pCustomShape = &msoActionButtonBeginning; break;
8384 case mso_sptActionButtonEnd : pCustomShape = &msoActionButtonEnd; break;
8385 case mso_sptActionButtonReturn : pCustomShape = &msoActionButtonReturn; break;
8386 case mso_sptActionButtonDocument : pCustomShape = &msoActionButtonDocument; break;
8387 case mso_sptActionButtonSound : pCustomShape = &msoActionButtonSound; break;
8388 case mso_sptActionButtonMovie : pCustomShape = &msoActionButtonMovie; break;
8389 case mso_sptBevel : pCustomShape = &msoBevel; break;
8390 case mso_sptFoldedCorner : pCustomShape = &msoFoldedCorner; break;
8391 case mso_sptSmileyFace : pCustomShape = &msoSmileyFace; break;
8392 case mso_sptDonut : pCustomShape = &msoDonut; break;
8393 case mso_sptNoSmoking : pCustomShape = &msoNoSmoking; break;
8394 case mso_sptBlockArc : pCustomShape = &msoBlockArc; break;
8395 case mso_sptHeart : pCustomShape = &msoHeart; break;
8396 case mso_sptLightningBolt : pCustomShape = &msoLightningBold; break;
8397 case mso_sptSun : pCustomShape = &msoSun; break;
8398 case mso_sptMoon : pCustomShape = &msoMoon; break;
8399 case mso_sptBracketPair : pCustomShape = &msoBracketPair; break;
8400 case mso_sptBracePair : pCustomShape = &msoBracePair; break;
8401 case mso_sptPlaque : pCustomShape = &msoPlaque; break;
8402 case mso_sptLeftBracket : pCustomShape = &msoLeftBracket; break;
8403 case mso_sptRightBracket : pCustomShape = &msoRightBracket; break;
8404 case mso_sptLeftBrace : pCustomShape = &msoLeftBrace; break;
8405 case mso_sptRightBrace : pCustomShape = &msoRightBrace; break;
8406 case mso_sptArrow : pCustomShape = &msoArrow; break;
8407 case mso_sptUpArrow : pCustomShape = &msoUpArrow; break;
8408 case mso_sptDownArrow : pCustomShape = &msoDownArrow; break;
8409 case mso_sptLeftArrow : pCustomShape = &msoLeftArrow; break;
8410 case mso_sptLeftRightArrow : pCustomShape = &msoLeftRightArrow; break;
8411 case mso_sptUpDownArrow : pCustomShape = &msoUpDownArrow; break;
8412 case mso_sptQuadArrow : pCustomShape = &msoQuadArrow; break;
8413 case mso_sptLeftRightUpArrow : pCustomShape = &msoLeftRightUpArrow; break;
8414 case mso_sptBentArrow : pCustomShape = &msoBentArrow; break;
8415 case mso_sptUturnArrow : pCustomShape = &msoUturnArrow; break;
8416 case mso_sptLeftUpArrow : pCustomShape = &msoLeftUpArrow; break;
8417 case mso_sptBentUpArrow : pCustomShape = &msoBentUpArrow; break;
8418 case mso_sptCurvedRightArrow : pCustomShape = &msoCurvedRightArrow; break;
8419 case mso_sptCurvedLeftArrow : pCustomShape = &msoCurvedLeftArrow; break;
8420 case mso_sptCurvedUpArrow : pCustomShape = &msoCurvedUpArrow; break;
8421 case mso_sptCurvedDownArrow : pCustomShape = &msoCurvedDownArrow; break;
8422 case mso_sptStripedRightArrow : pCustomShape = &msoStripedRightArrow; break;
8423 case mso_sptNotchedRightArrow : pCustomShape = &msoNotchedRightArrow; break;
8424 case mso_sptHomePlate : pCustomShape = &msoHomePlate; break;
8425 case mso_sptChevron : pCustomShape = &msoChevron; break;
8426 case mso_sptRightArrowCallout : pCustomShape = &msoRightArrowCallout; break;
8427 case mso_sptLeftArrowCallout : pCustomShape = &msoLeftArrowCallout; break;
8428 case mso_sptUpArrowCallout : pCustomShape = &msoUpArrowCallout; break;
8429 case mso_sptDownArrowCallout : pCustomShape = &msoDownArrowCallout; break;
8430 case mso_sptLeftRightArrowCallout : pCustomShape = &msoLeftRightArrowCallout; break;
8431 case mso_sptUpDownArrowCallout : pCustomShape = &msoUpDownArrowCallout; break;
8432 case mso_sptQuadArrowCallout : pCustomShape = &msoQuadArrowCallout; break;
8433 case mso_sptCircularArrow : pCustomShape = &msoCircularArrow; break;
8434 case mso_sptIrregularSeal1 : pCustomShape = &msoIrregularSeal1; break;
8435 case mso_sptIrregularSeal2 : pCustomShape = &msoIrregularSeal2; break;
8436 case mso_sptSeal4 : pCustomShape = &msoSeal4; break;
8437 case mso_sptStar : pCustomShape = &msoStar; break;
8438 case mso_sptSeal8 : pCustomShape = &msoSeal8; break;
8439 case mso_sptSeal :
8440 case mso_sptSeal16 : pCustomShape = &msoSeal16; break;
8441 case mso_sptSeal24 : pCustomShape = &msoSeal24; break;
8442 case mso_sptSeal32 : pCustomShape = &msoSeal32; break;
8443 case mso_sptRibbon2 : pCustomShape = &msoRibbon2; break;
8444 case mso_sptRibbon : pCustomShape = &msoRibbon; break;
8445 case mso_sptEllipseRibbon2 : pCustomShape = &msosptEllipseRibbon2; break; // SJ: TODO
8446 case mso_sptEllipseRibbon : pCustomShape = &msosptEllipseRibbon; break; // SJ: TODO
8447 case mso_sptVerticalScroll : pCustomShape = &msoVerticalScroll; break;
8448 case mso_sptHorizontalScroll : pCustomShape = &msoHorizontalScroll; break;
8449 case mso_sptFlowChartProcess : pCustomShape = &msoFlowChartProcess; break;
8450 case mso_sptFlowChartAlternateProcess : pCustomShape = &msoFlowChartAlternateProcess; break;
8451 case mso_sptFlowChartDecision : pCustomShape = &msoFlowChartDecision; break;
8452 case mso_sptFlowChartInputOutput : pCustomShape = &msoFlowChartInputOutput; break;
8453 case mso_sptFlowChartPredefinedProcess :pCustomShape = &msoFlowChartPredefinedProcess; break;
8454 case mso_sptFlowChartInternalStorage : pCustomShape = &msoFlowChartInternalStorage; break;
8455 case mso_sptFlowChartDocument : pCustomShape = &msoFlowChartDocument; break;
8456 case mso_sptFlowChartMultidocument : pCustomShape = &msoFlowChartMultidocument; break;
8457 case mso_sptFlowChartTerminator : pCustomShape = &msoFlowChartTerminator; break;
8458 case mso_sptFlowChartPreparation : pCustomShape = &msoFlowChartPreparation; break;
8459 case mso_sptFlowChartManualInput : pCustomShape = &msoFlowChartManualInput; break;
8460 case mso_sptFlowChartManualOperation : pCustomShape = &msoFlowChartManualOperation; break;
8461 case mso_sptFlowChartConnector : pCustomShape = &msoFlowChartConnector; break;
8462 case mso_sptFlowChartOffpageConnector : pCustomShape = &msoFlowChartOffpageConnector; break;
8463 case mso_sptFlowChartPunchedCard : pCustomShape = &msoFlowChartPunchedCard; break;
8464 case mso_sptFlowChartPunchedTape : pCustomShape = &msoFlowChartPunchedTape; break;
8465 case mso_sptFlowChartSummingJunction : pCustomShape = &msoFlowChartSummingJunction; break;
8466 case mso_sptFlowChartOr : pCustomShape = &msoFlowChartOr; break;
8467 case mso_sptFlowChartCollate : pCustomShape = &msoFlowChartCollate; break;
8468 case mso_sptFlowChartSort : pCustomShape = &msoFlowChartSort; break;
8469 case mso_sptFlowChartExtract : pCustomShape = &msoFlowChartExtract; break;
8470 case mso_sptFlowChartMerge : pCustomShape = &msoFlowChartMerge; break;
8471 case mso_sptFlowChartOnlineStorage : pCustomShape = &msoFlowChartOnlineStorage; break;
8472 case mso_sptFlowChartDelay : pCustomShape = &msoFlowChartDelay; break;
8473 case mso_sptFlowChartMagneticTape : pCustomShape = &msoFlowChartMagneticTape; break;
8474 case mso_sptFlowChartMagneticDisk : pCustomShape = &msoFlowChartMagneticDisk; break;
8475 case mso_sptFlowChartMagneticDrum : pCustomShape = &msoFlowChartMagneticDrum; break;
8476 case mso_sptFlowChartDisplay : pCustomShape = &msoFlowChartDisplay; break;
8477 case mso_sptWedgeRectCallout : pCustomShape = &msoWedgeRectCallout; break;
8478 case mso_sptWedgeRRectCallout : pCustomShape = &msoWedgeRRectCallout; break;
8479 case mso_sptWedgeEllipseCallout : pCustomShape = &msoWedgeEllipseCallout; break;
8480 case mso_sptCloudCallout : pCustomShape = &msoCloudCallout; break;
8481 case mso_sptWave : pCustomShape = &msoWave; break;
8482 case mso_sptDoubleWave : pCustomShape = &msoDoubleWave; break;
8483
8484 // callout
8485 case mso_sptCallout1 : pCustomShape = &msoCallout1; break;
8486 case mso_sptCallout2 : pCustomShape = &msoCallout2; break;
8487 case mso_sptCallout3 : pCustomShape = &msoCallout3; break;
8488 case mso_sptAccentCallout1 : pCustomShape = &msoAccentCallout1; break;
8489 case mso_sptAccentCallout2 : pCustomShape = &msoAccentCallout2; break;
8490 case mso_sptAccentCallout3 : pCustomShape = &msoAccentCallout3; break;
8491 case mso_sptBorderCallout1 : pCustomShape = &msoBorderCallout1; break;
8492 case mso_sptBorderCallout2 : pCustomShape = &msoBorderCallout2; break;
8493 case mso_sptBorderCallout3 : pCustomShape = &msoBorderCallout3; break;
8494 case mso_sptAccentBorderCallout1 : pCustomShape = &msoAccentBorderCallout1; break;
8495 case mso_sptAccentBorderCallout2 : pCustomShape = &msoAccentBorderCallout2; break;
8496 case mso_sptAccentBorderCallout3 : pCustomShape = &msoAccentBorderCallout3; break;
8497 case mso_sptCallout90 : pCustomShape = &msoCallout90; break;
8498 case mso_sptAccentCallout90 : pCustomShape = &msoAccentCallout90; break;
8499 case mso_sptBorderCallout90 : pCustomShape = &msoBorderCallout90; break;
8500 case mso_sptAccentBorderCallout90 : pCustomShape = &msoAccentBorderCallout90; break;
8501
8502 // connectors
8503 case mso_sptStraightConnector1 : pCustomShape = &msoStraightConnector1; break;
8504 case mso_sptBentConnector2 : pCustomShape = &msoBentConnector2; break;
8505 case mso_sptBentConnector3 : pCustomShape = &msoBentConnector3; break;
8506 case mso_sptBentConnector4 : pCustomShape = &msoBentConnector4; break;
8507 case mso_sptBentConnector5 : pCustomShape = &msoBentConnector5; break;
8508 case mso_sptCurvedConnector2 : pCustomShape = &msoCurvedConnector2; break;
8509 case mso_sptCurvedConnector3 : pCustomShape = &msoCurvedConnector3; break;
8510 case mso_sptCurvedConnector4 : pCustomShape = &msoCurvedConnector4; break;
8511 case mso_sptCurvedConnector5 : pCustomShape = &msoCurvedConnector5; break;
8512
8513 // Dont know, simply mapping to TextSimple
8514 case mso_sptTextOnRing :
8515 case mso_sptTextOnCurve :
8516 case mso_sptTextRing :
8517 case mso_sptTextWave :
8518 case mso_sptTextCurve :
8519 case mso_sptTextHexagon :
8520 case mso_sptTextOctagon :
8521 case mso_sptTextBox : pCustomShape = &msoTextSimple; break;
8522
8523 // FontWork
8524 case mso_sptTextSimple :
8525 case mso_sptTextPlainText : pCustomShape = &msoTextPlainText; break;
8526 case mso_sptTextStop : pCustomShape = &msoTextStop; break;
8527 case mso_sptTextTriangle : pCustomShape = &msoTextTriangle; break;
8528 case mso_sptTextTriangleInverted : pCustomShape = &msoTextTriangleInverted; break;
8529 case mso_sptTextChevron : pCustomShape = &msoTextChevron; break;
8530 case mso_sptTextChevronInverted : pCustomShape = &msoTextChevronInverted; break;
8531 case mso_sptTextRingInside : pCustomShape = &msoTextRingInside; break; // SJ: TODO->the orientation of the ellipse needs to be changed
8532 case mso_sptTextRingOutside : pCustomShape = &msoTextRingOutside; break;
8533 case mso_sptTextFadeRight : pCustomShape = &msoTextFadeRight; break;
8534 case mso_sptTextFadeLeft : pCustomShape = &msoTextFadeLeft; break;
8535 case mso_sptTextFadeUp : pCustomShape = &msoTextFadeUp; break;
8536 case mso_sptTextFadeDown : pCustomShape = &msoTextFadeDown; break;
8537 case mso_sptTextSlantUp : pCustomShape = &msoTextSlantUp; break;
8538 case mso_sptTextSlantDown : pCustomShape = &msoTextSlantDown; break;
8539 case mso_sptTextCascadeUp : pCustomShape = &msoTextCascadeUp; break;
8540 case mso_sptTextCascadeDown : pCustomShape = &msoTextCascadeDown; break;
8541 case mso_sptTextArchUpCurve : pCustomShape = &msoTextArchUpCurve; break;
8542 case mso_sptTextArchDownCurve : pCustomShape = &msoTextArchDownCurve; break;
8543 case mso_sptTextCircleCurve : pCustomShape = &msoTextCircleCurve; break;
8544 case mso_sptTextButtonCurve : pCustomShape = &msoTextButtonCurve; break;
8545 case mso_sptTextArchUpPour : pCustomShape = &msoTextArchUpPour; break;
8546 case mso_sptTextArchDownPour : pCustomShape = &msoTextArchDownPour; break;
8547 case mso_sptTextCirclePour : pCustomShape = &msoTextCirclePour; break;
8548 case mso_sptTextButtonPour : pCustomShape = &msoTextButtonPour; break;
8549 case mso_sptTextCurveUp : pCustomShape = &msoTextCurveUp; break;
8550 case mso_sptTextCurveDown : pCustomShape = &msoTextCurveDown; break;
8551 case mso_sptTextCanUp : pCustomShape = &msoTextCanUp; break;
8552 case mso_sptTextCanDown : pCustomShape = &msoTextCanDown; break;
8553 case mso_sptTextInflate : pCustomShape = &msoTextInflate; break;
8554 case mso_sptTextDeflate : pCustomShape = &msoTextDeflate; break;
8555 case mso_sptTextInflateBottom : pCustomShape = &msoTextInflateBottom; break;
8556 case mso_sptTextDeflateBottom : pCustomShape = &msoTextDeflateBottom; break;
8557 case mso_sptTextInflateTop : pCustomShape = &msoTextInflateTop; break;
8558 case mso_sptTextDeflateTop : pCustomShape = &msoTextDeflateTop; break;
8559 case mso_sptTextDeflateInflate : pCustomShape = &msoTextDeflateInflate; break;
8560 case mso_sptTextDeflateInflateDeflate : pCustomShape = &msoTextDeflateInflateDeflate; break;
8561 case mso_sptTextWave1 : pCustomShape = &msoTextWave1; break;
8562 case mso_sptTextWave2 : pCustomShape = &msoTextWave2; break;
8563 case mso_sptTextWave3 : pCustomShape = &msoTextWave3; break;
8564 case mso_sptTextWave4 : pCustomShape = &msoTextWave4; break;
8565 case mso_sptTearDrop : pCustomShape = &msoTearDrop; break;
8566 default :
8567 break;
8568 }
8569 return pCustomShape;
8570 }
8571