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