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