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 { 10800, 0 }, { 5400, 10800 }, { 0, 21600 }, { 10800, 21600 }, { 21600, 21600 }, { 16200, 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 { 10800, 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 static const SvxMSDffVertPair mso_sptTextRingOutsideVert[] = 6467 { 6468 { 10800, 0 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 }, 6469 { 10800, 1 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 } 6470 }; 6471 static const SvxMSDffCalculationData mso_sptTextRingOutsideCalc[] = // adjustment1 : 6629 - 14971 6472 { 6473 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } }, 6474 { 0x8000, { 21600, 0, 0x400 } } 6475 }; 6476 static const sal_uInt16 mso_sptTextRingOutsideSegm[] = 6477 { 6478 0xA203, 0x8000, 6479 0xA203, 0x8000 6480 }; 6481 static const SvxMSDffHandle mso_sptTextRingOutsideHandle[] = 6482 { 6483 { MSDFF_HANDLE_FLAGS_RANGE, 6484 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 10800, 21600 } 6485 }; 6486 static const mso_CustomShape msoTextRingOutside = 6487 { 6488 (SvxMSDffVertPair*)mso_sptTextRingOutsideVert, sizeof( mso_sptTextRingOutsideVert ) / sizeof( SvxMSDffVertPair ), 6489 (sal_uInt16*)mso_sptTextRingOutsideSegm, sizeof( mso_sptTextRingOutsideSegm ) >> 1, 6490 (SvxMSDffCalculationData*)mso_sptTextRingOutsideCalc, sizeof( mso_sptTextRingOutsideCalc ) / sizeof( SvxMSDffCalculationData ), 6491 (sal_Int32*)mso_sptDefault16200, 6492 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6493 21600, 21600, 6494 0x80000000, 0x80000000, 6495 NULL, 0, 6496 (SvxMSDffHandle*)mso_sptTextRingOutsideHandle, sizeof( mso_sptTextRingOutsideHandle ) / sizeof( SvxMSDffHandle ) 6497 }; 6498 6499 static const SvxMSDffVertPair mso_sptTextFadeRightVert[] = 6500 { 6501 { 0, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 21600, 1 MSO_I } 6502 }; 6503 static const SvxMSDffCalculationData mso_sptTextFadeCalc[] = 6504 { 6505 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 6506 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } } 6507 }; 6508 static const sal_uInt16 mso_sptTextFadeSegm[] = 6509 { 6510 0x4000, 0x0001, 0x8000, 6511 0x4000, 0x0001, 0x8000 6512 }; 6513 static const SvxMSDffHandle mso_sptTextFadeRightHandle[] = 6514 { 6515 { MSDFF_HANDLE_FLAGS_RANGE, 6516 21600, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10800 } 6517 }; 6518 static const mso_CustomShape msoTextFadeRight = 6519 { 6520 (SvxMSDffVertPair*)mso_sptTextFadeRightVert, sizeof( mso_sptTextFadeRightVert ) / sizeof( SvxMSDffVertPair ), 6521 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6522 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6523 (sal_Int32*)mso_sptDefault7200, 6524 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6525 21600, 21600, 6526 0x80000000, 0x80000000, 6527 NULL, 0, 6528 (SvxMSDffHandle*)mso_sptTextFadeRightHandle, sizeof( mso_sptTextFadeRightHandle ) / sizeof( SvxMSDffHandle ) 6529 }; 6530 6531 static const SvxMSDffVertPair mso_sptTextFadeLeftVert[] = 6532 { 6533 { 0, 0 MSO_I }, { 21600, 0 }, { 0, 1 MSO_I }, { 21600, 21600 } 6534 }; 6535 static const SvxMSDffHandle mso_sptTextFadeLeftHandle[] = 6536 { 6537 { MSDFF_HANDLE_FLAGS_RANGE, 6538 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10800 } 6539 }; 6540 static const mso_CustomShape msoTextFadeLeft = 6541 { 6542 (SvxMSDffVertPair*)mso_sptTextFadeLeftVert, sizeof( mso_sptTextFadeLeftVert ) / sizeof( SvxMSDffVertPair ), 6543 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6544 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6545 (sal_Int32*)mso_sptDefault7200, 6546 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6547 21600, 21600, 6548 0x80000000, 0x80000000, 6549 NULL, 0, 6550 (SvxMSDffHandle*)mso_sptTextFadeLeftHandle, sizeof( mso_sptTextFadeLeftHandle ) / sizeof( SvxMSDffHandle ) 6551 }; 6552 6553 static const SvxMSDffVertPair mso_sptTextFadeUpVert[] = 6554 { 6555 { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 0, 21600 }, { 21600, 21600 } 6556 }; 6557 static const SvxMSDffHandle mso_sptTextFadeUpHandle[] = 6558 { 6559 { MSDFF_HANDLE_FLAGS_RANGE, 6560 0x100, 0, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6561 }; 6562 static const mso_CustomShape msoTextFadeUp = 6563 { 6564 (SvxMSDffVertPair*)mso_sptTextFadeUpVert, sizeof( mso_sptTextFadeUpVert ) / sizeof( SvxMSDffVertPair ), 6565 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6566 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6567 (sal_Int32*)mso_sptDefault7200, 6568 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6569 21600, 21600, 6570 0x80000000, 0x80000000, 6571 NULL, 0, 6572 (SvxMSDffHandle*)mso_sptTextFadeUpHandle, sizeof( mso_sptTextFadeUpHandle ) / sizeof( SvxMSDffHandle ) 6573 }; 6574 6575 static const SvxMSDffVertPair mso_sptTextFadeDownVert[] = 6576 { 6577 { 0, 0 }, { 21600, 0 }, { 0 MSO_I, 21600 }, { 1 MSO_I, 21600 } 6578 }; 6579 static const SvxMSDffHandle mso_sptTextFadeDownHandle[] = 6580 { 6581 { MSDFF_HANDLE_FLAGS_RANGE, 6582 0x100, 21600, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6583 }; 6584 static const mso_CustomShape msoTextFadeDown = 6585 { 6586 (SvxMSDffVertPair*)mso_sptTextFadeDownVert, sizeof( mso_sptTextFadeDownVert ) / sizeof( SvxMSDffVertPair ), 6587 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6588 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6589 (sal_Int32*)mso_sptDefault7200, 6590 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6591 21600, 21600, 6592 0x80000000, 0x80000000, 6593 NULL, 0, 6594 (SvxMSDffHandle*)mso_sptTextFadeDownHandle, sizeof( mso_sptTextFadeDownHandle ) / sizeof( SvxMSDffHandle ) 6595 }; 6596 6597 static const SvxMSDffVertPair mso_sptTextSlantUpVert[] = 6598 { 6599 { 0, 0 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 1 MSO_I } 6600 }; 6601 static const SvxMSDffHandle mso_sptTextSlantUpHandle[] = 6602 { 6603 { MSDFF_HANDLE_FLAGS_RANGE, 6604 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 15400 } 6605 }; 6606 static const mso_CustomShape msoTextSlantUp = 6607 { 6608 (SvxMSDffVertPair*)mso_sptTextSlantUpVert, sizeof( mso_sptTextSlantUpVert ) / sizeof( SvxMSDffVertPair ), 6609 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6610 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6611 (sal_Int32*)mso_sptDefault12000, 6612 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6613 21600, 21600, 6614 0x80000000, 0x80000000, 6615 NULL, 0, 6616 (SvxMSDffHandle*)mso_sptTextSlantUpHandle, sizeof( mso_sptTextSlantUpHandle ) / sizeof( SvxMSDffHandle ) 6617 }; 6618 6619 static const SvxMSDffVertPair mso_sptTextSlantDownVert[] = 6620 { 6621 { 0, 0 }, { 21600, 1 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 } 6622 }; 6623 static const SvxMSDffHandle mso_sptTextSlantDownHandle[] = 6624 { 6625 { MSDFF_HANDLE_FLAGS_RANGE, 6626 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 6200, 21600 } 6627 }; 6628 static const mso_CustomShape msoTextSlantDown = 6629 { 6630 (SvxMSDffVertPair*)mso_sptTextSlantDownVert, sizeof( mso_sptTextSlantDownVert ) / sizeof( SvxMSDffVertPair ), 6631 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6632 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6633 (sal_Int32*)mso_sptDefault12000, 6634 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6635 21600, 21600, 6636 0x80000000, 0x80000000, 6637 NULL, 0, 6638 (SvxMSDffHandle*)mso_sptTextSlantDownHandle, sizeof( mso_sptTextSlantDownHandle ) / sizeof( SvxMSDffHandle ) 6639 }; 6640 6641 static const SvxMSDffVertPair mso_sptTextCascadeUpVert[] = 6642 { 6643 { 0, 2 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 0 MSO_I } 6644 }; 6645 static const SvxMSDffCalculationData mso_sptTextCascadeCalc[] = 6646 { 6647 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 6648 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, 6649 { 0x2001, { 0x401, 1, 4 } } 6650 }; 6651 static const SvxMSDffHandle mso_sptTextCascadeUpHandle[] = 6652 { 6653 { MSDFF_HANDLE_FLAGS_RANGE, 6654 21600, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 6200, 21600 } 6655 }; 6656 static const mso_CustomShape msoTextCascadeUp = 6657 { 6658 (SvxMSDffVertPair*)mso_sptTextCascadeUpVert, sizeof( mso_sptTextCascadeUpVert ) / sizeof( SvxMSDffVertPair ), 6659 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6660 (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, sizeof( mso_sptTextCascadeCalc ) / sizeof( SvxMSDffCalculationData ), 6661 (sal_Int32*)mso_sptDefault9600, 6662 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6663 21600, 21600, 6664 0x80000000, 0x80000000, 6665 NULL, 0, 6666 (SvxMSDffHandle*)mso_sptTextCascadeUpHandle, sizeof( mso_sptTextCascadeUpHandle ) / sizeof( SvxMSDffHandle ) 6667 }; 6668 6669 static const SvxMSDffVertPair mso_sptTextCascadeDownVert[] = 6670 { 6671 { 0, 0 }, { 21600, 2 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 } 6672 }; 6673 static const SvxMSDffHandle mso_sptTextCascadeDownHandle[] = 6674 { 6675 { MSDFF_HANDLE_FLAGS_RANGE, 6676 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 6200, 21600 } 6677 }; 6678 static const mso_CustomShape msoTextCascadeDown = 6679 { 6680 (SvxMSDffVertPair*)mso_sptTextCascadeDownVert, sizeof( mso_sptTextCascadeDownVert ) / sizeof( SvxMSDffVertPair ), 6681 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6682 (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, sizeof( mso_sptTextCascadeCalc ) / sizeof( SvxMSDffCalculationData ), 6683 (sal_Int32*)mso_sptDefault9600, 6684 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6685 21600, 21600, 6686 0x80000000, 0x80000000, 6687 NULL, 0, 6688 (SvxMSDffHandle*)mso_sptTextCascadeDownHandle, sizeof( mso_sptTextCascadeDownHandle ) / sizeof( SvxMSDffHandle ) 6689 }; 6690 6691 static const SvxMSDffVertPair mso_sptTextArchUpCurveVert[] = 6692 { 6693 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I } 6694 }; 6695 static const SvxMSDffCalculationData mso_sptTextArchCurveCalc[] = 6696 { 6697 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, 6698 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, 6699 { 0x2000, { 0x400, 10800, 0 } }, 6700 { 0x2000, { 0x401, 10800, 0 } }, 6701 { 0x8000, { 21600, 0, 0x402 } } 6702 }; 6703 static const sal_uInt16 mso_sptTextArchUpCurveSegm[] = 6704 { 6705 0xA504, 0x8000 // clockw�se arc 6706 }; 6707 static const SvxMSDffHandle mso_sptTextArchUpCurveHandle[] = 6708 { 6709 { MSDFF_HANDLE_FLAGS_POLAR, 6710 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6711 }; 6712 static const sal_Int32 mso_sptTextArchUpCurveDefault[] = 6713 { 6714 1, 180 6715 }; 6716 static const mso_CustomShape msoTextArchUpCurve = 6717 { 6718 (SvxMSDffVertPair*)mso_sptTextArchUpCurveVert, sizeof( mso_sptTextArchUpCurveVert ) / sizeof( SvxMSDffVertPair ), 6719 (sal_uInt16*)mso_sptTextArchUpCurveSegm, sizeof( mso_sptTextArchUpCurveSegm ) >> 1, 6720 (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, sizeof( mso_sptTextArchCurveCalc ) / sizeof( SvxMSDffCalculationData ), 6721 (sal_Int32*)mso_sptTextArchUpCurveDefault, 6722 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6723 21600, 21600, 6724 0x80000000, 0x80000000, 6725 NULL, 0, 6726 (SvxMSDffHandle*)mso_sptTextArchUpCurveHandle, sizeof( mso_sptTextArchUpCurveHandle ) / sizeof( SvxMSDffHandle ) 6727 }; 6728 6729 static const SvxMSDffVertPair mso_sptTextArchDownCurveVert[] = 6730 { 6731 { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I } 6732 }; 6733 static const sal_uInt16 mso_sptTextArchDownCurveSegm[] = 6734 { 6735 0xA304, 0x8000 // counter clockwise arc to 6736 }; 6737 static const SvxMSDffHandle mso_sptTextArchDownCurveHandle[] = 6738 { 6739 { MSDFF_HANDLE_FLAGS_POLAR, 6740 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6741 }; 6742 static const sal_Int32 mso_sptTextArchDownCurveDefault[] = 6743 { 6744 1, 0 6745 }; 6746 static const mso_CustomShape msoTextArchDownCurve = 6747 { 6748 (SvxMSDffVertPair*)mso_sptTextArchDownCurveVert, sizeof( mso_sptTextArchDownCurveVert ) / sizeof( SvxMSDffVertPair ), 6749 (sal_uInt16*)mso_sptTextArchDownCurveSegm, sizeof( mso_sptTextArchDownCurveSegm ) >> 1, 6750 (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, sizeof( mso_sptTextArchCurveCalc ) / sizeof( SvxMSDffCalculationData ), 6751 (sal_Int32*)mso_sptTextArchDownCurveDefault, 6752 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6753 21600, 21600, 6754 0x80000000, 0x80000000, 6755 NULL, 0, 6756 (SvxMSDffHandle*)mso_sptTextArchDownCurveHandle, sizeof( mso_sptTextArchDownCurveHandle ) / sizeof( SvxMSDffHandle ) 6757 }; 6758 6759 static const SvxMSDffVertPair mso_sptTextCircleCurveVert[] = 6760 { 6761 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I } 6762 }; 6763 static const SvxMSDffCalculationData mso_sptTextCircleCurveCalc[] = 6764 { 6765 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, 6766 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, 6767 { 0x2000, { 0x400, 10800, 0 } }, 6768 { 0x2000, { 0x401, 10800, 0 } }, 6769 { 0x8000, { 21600, 0, 0x403 } } 6770 }; 6771 static const sal_uInt16 mso_sptTextCircleCurveSegm[] = 6772 { 6773 0xA504, 0x8000 // clockwise arc to 6774 }; 6775 static const SvxMSDffHandle mso_sptTextCircleCurveHandle[] = 6776 { 6777 { MSDFF_HANDLE_FLAGS_POLAR, 6778 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6779 }; 6780 static const sal_Int32 mso_sptTextCircleCurveDefault[] = 6781 { 6782 1, -179 6783 }; 6784 static const mso_CustomShape msoTextCircleCurve = 6785 { 6786 (SvxMSDffVertPair*)mso_sptTextCircleCurveVert, sizeof( mso_sptTextCircleCurveVert ) / sizeof( SvxMSDffVertPair ), 6787 (sal_uInt16*)mso_sptTextCircleCurveSegm, sizeof( mso_sptTextCircleCurveSegm ) >> 1, 6788 (SvxMSDffCalculationData*)mso_sptTextCircleCurveCalc, sizeof( mso_sptTextCircleCurveCalc ) / sizeof( SvxMSDffCalculationData ), 6789 (sal_Int32*)mso_sptTextCircleCurveDefault, 6790 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6791 21600, 21600, 6792 0x80000000, 0x80000000, 6793 NULL, 0, 6794 (SvxMSDffHandle*)mso_sptTextCircleCurveHandle, sizeof( mso_sptTextCircleCurveHandle ) / sizeof( SvxMSDffHandle ) 6795 }; 6796 6797 static const SvxMSDffVertPair mso_sptTextButtonCurveVert[] = 6798 { 6799 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }, 6800 { 0, 10800 }, { 21600, 10800 }, 6801 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I } 6802 }; 6803 static const SvxMSDffCalculationData mso_sptTextButtonCurveCalc[] = 6804 { 6805 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, 6806 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, 6807 { 0x2000, { 0x400, 10800, 0 } }, 6808 { 0x2000, { 0x401, 10800, 0 } }, 6809 { 0x8000, { 21600, 0, 0x402 } }, 6810 { 0x8000, { 21600, 0, 0x403 } } 6811 }; 6812 static const sal_uInt16 mso_sptTextButtonCurveSegm[] = 6813 { 6814 0xA504, 0x8000, // clockwise arc 6815 0x4000, 0x0001, 0x8000, 6816 0xA304, 0x8000 // counter clockwise 6817 }; 6818 static const SvxMSDffHandle mso_sptTextButtonCurveHandle[] = 6819 { 6820 { MSDFF_HANDLE_FLAGS_POLAR, 6821 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6822 }; 6823 static const sal_Int32 mso_sptTextButtonCurveDefault[] = 6824 { 6825 1, 180 6826 }; 6827 static const mso_CustomShape msoTextButtonCurve = 6828 { 6829 (SvxMSDffVertPair*)mso_sptTextButtonCurveVert, sizeof( mso_sptTextButtonCurveVert ) / sizeof( SvxMSDffVertPair ), 6830 (sal_uInt16*)mso_sptTextButtonCurveSegm, sizeof( mso_sptTextButtonCurveSegm ) >> 1, 6831 (SvxMSDffCalculationData*)mso_sptTextButtonCurveCalc, sizeof( mso_sptTextButtonCurveCalc ) / sizeof( SvxMSDffCalculationData ), 6832 (sal_Int32*)mso_sptTextButtonCurveDefault, 6833 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6834 21600, 21600, 6835 0x80000000, 0x80000000, 6836 NULL, 0, 6837 (SvxMSDffHandle*)mso_sptTextButtonCurveHandle, sizeof( mso_sptTextButtonCurveHandle ) / sizeof( SvxMSDffHandle ) 6838 }; 6839 6840 static const SvxMSDffVertPair mso_sptTextArchUpPourVert[] = 6841 { 6842 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }, 6843 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 0xa MSO_I, 9 MSO_I } 6844 }; 6845 static const SvxMSDffCalculationData mso_sptTextArchPourCalc[] = 6846 { 6847 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, 6848 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, 6849 { 0x2000, { 0x400, 10800, 0 } }, 6850 { 0x2000, { 0x401, 10800, 0 } }, 6851 { 0x8000, { 21600, 0, 0x402 } }, 6852 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } }, 6853 { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6 6854 { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } }, 6855 { 0x2000, { 0x406, 10800, 0 } }, // 8 6856 { 0x2000, { 0x407, 10800, 0 } }, 6857 { 0x8000, { 21600, 0, 0x408 } }, // 10 6858 { 0x8000, { 21600, 0, 0x405 } } 6859 }; 6860 static const sal_uInt16 mso_sptTextArchUpPourSegm[] = 6861 { 6862 0xA504, 0x8000, 0xA504, 0x8000 6863 }; 6864 static const SvxMSDffHandle mso_sptTextArchPourHandle[] = 6865 { 6866 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE, 6867 0x101, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6868 }; 6869 static const sal_Int32 mso_sptTextArchUpPourDefault[] = 6870 { 6871 2, 180, 5400 6872 }; 6873 static const mso_CustomShape msoTextArchUpPour = 6874 { 6875 (SvxMSDffVertPair*)mso_sptTextArchUpPourVert, sizeof( mso_sptTextArchUpPourVert ) / sizeof( SvxMSDffVertPair ), 6876 (sal_uInt16*)mso_sptTextArchUpPourSegm, sizeof( mso_sptTextArchUpPourSegm ) >> 1, 6877 (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, sizeof( mso_sptTextArchPourCalc ) / sizeof( SvxMSDffCalculationData ), 6878 (sal_Int32*)mso_sptTextArchUpPourDefault, 6879 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6880 21600, 21600, 6881 0x80000000, 0x80000000, 6882 NULL, 0, 6883 (SvxMSDffHandle*)mso_sptTextArchPourHandle, sizeof( mso_sptTextArchPourHandle ) / sizeof( SvxMSDffHandle ) 6884 }; 6885 6886 static const SvxMSDffVertPair mso_sptTextArchDownPourVert[] = 6887 { 6888 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 0xa MSO_I, 9 MSO_I }, { 8 MSO_I, 9 MSO_I }, 6889 { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I } 6890 }; 6891 static const sal_uInt16 mso_sptTextArchDownPourSegm[] = 6892 { 6893 0xA304, 0x8000, 0xA304, 0x8000 6894 }; 6895 static const sal_Int32 mso_sptTextArchDownPourDefault[] = 6896 { 6897 2, 0, 5400 6898 }; 6899 static const mso_CustomShape msoTextArchDownPour = 6900 { 6901 (SvxMSDffVertPair*)mso_sptTextArchDownPourVert, sizeof( mso_sptTextArchDownPourVert ) / sizeof( SvxMSDffVertPair ), 6902 (sal_uInt16*)mso_sptTextArchDownPourSegm, sizeof( mso_sptTextArchDownPourSegm ) >> 1, 6903 (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, sizeof( mso_sptTextArchPourCalc ) / sizeof( SvxMSDffCalculationData ), 6904 (sal_Int32*)mso_sptTextArchDownPourDefault, 6905 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6906 21600, 21600, 6907 0x80000000, 0x80000000, 6908 NULL, 0, 6909 (SvxMSDffHandle*)mso_sptTextArchPourHandle, sizeof( mso_sptTextArchPourHandle ) / sizeof( SvxMSDffHandle ) 6910 }; 6911 6912 static const SvxMSDffVertPair mso_sptTextCirclePourVert[] = 6913 { 6914 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I }, 6915 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 8 MSO_I, 0xa MSO_I } 6916 }; 6917 static const SvxMSDffCalculationData mso_sptTextCirclePourCalc[] = 6918 { 6919 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, 6920 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, 6921 { 0x2000, { 0x400, 10800, 0 } }, 6922 { 0x2000, { 0x401, 10800, 0 } }, 6923 { 0x8000, { 21600, 0, 0x403 } }, 6924 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } }, 6925 { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6 6926 { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } }, 6927 { 0x2000, { 0x406, 10800, 0 } }, // 8 6928 { 0x2000, { 0x407, 10800, 0 } }, 6929 { 0x8000, { 21600, 0, 0x409 } }, // 10 6930 { 0x8000, { 21600, 0, 0x405 } }, 6931 { 0x000, { 21600, 0, 0 } } 6932 }; 6933 static const sal_uInt16 mso_sptTextCirclePourSegm[] = 6934 { 6935 0xA504, 0x8000, 0xA504, 0x8000 6936 }; 6937 static const SvxMSDffHandle mso_sptTextCirclePourHandle[] = 6938 { 6939 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE, 6940 0x101, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6941 }; 6942 static const sal_Int32 mso_sptTextCirclePourDefault[] = 6943 { 6944 2, -179, 5400 6945 }; 6946 static const mso_CustomShape msoTextCirclePour = 6947 { 6948 (SvxMSDffVertPair*)mso_sptTextCirclePourVert, sizeof( mso_sptTextCirclePourVert ) / sizeof( SvxMSDffVertPair ), 6949 (sal_uInt16*)mso_sptTextCirclePourSegm, sizeof( mso_sptTextCirclePourSegm ) >> 1, 6950 (SvxMSDffCalculationData*)mso_sptTextCirclePourCalc, sizeof( mso_sptTextCirclePourCalc ) / sizeof( SvxMSDffCalculationData ), 6951 (sal_Int32*)mso_sptTextCirclePourDefault, 6952 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6953 21600, 21600, 6954 0x80000000, 0x80000000, 6955 NULL, 0, 6956 (SvxMSDffHandle*)mso_sptTextCirclePourHandle, sizeof( mso_sptTextCirclePourHandle ) / sizeof( SvxMSDffHandle ) 6957 }; 6958 6959 static const SvxMSDffVertPair mso_sptTextButtonPourVert[] = 6960 { 6961 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }, 6962 { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 11 MSO_I }, { 12 MSO_I, 11 MSO_I }, 6963 { 0x16 MSO_I, 16 MSO_I }, { 0x15 MSO_I, 16 MSO_I }, 6964 { 0x16 MSO_I, 15 MSO_I }, { 0x15 MSO_I, 15 MSO_I }, 6965 { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 13 MSO_I }, { 12 MSO_I, 13 MSO_I }, 6966 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I } 6967 }; 6968 static const SvxMSDffCalculationData mso_sptTextButtonPourCalc[] = 6969 { 6970 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, // 0x00 6971 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, // 0x01 6972 { 0x2000, { 0x400, 10800, 0 } }, // 0x02 6973 { 0x2000, { 0x401, 10800, 0 } }, // 0x03 6974 { 0x8000, { 21600, 0, 0x402 } }, // 0x04 6975 { 0x8000, { 21600, 0, 0x403 } }, // 0x05 6976 6977 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } }, // 0x06 6978 { 0x8000, { 21600, 0, 0x406 } }, // 0x07 6979 6980 { 0x600a, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x08 6981 { 0x6009, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x09 6982 { 0x2000, { 0x408, 10800, 0 } }, // 0x0a 6983 { 0x2000, { 0x409, 10800, 0 } }, // 0x0b 6984 { 0x8000, { 21600, 0, 0x40a } }, // 0x0c 6985 { 0x8000, { 21600, 0, 0x40b } }, // 0x0d 6986 { 0x2001, { 0x406, 1, 2 } }, // 0x0e 6987 { 0x4000, { 10800, 0x40e, 0 } }, // 0x0f 6988 { 0x8000, { 10800, 0, 0x40e } }, // 0x10 6989 { 0x6001, { 0x40e, 0x40e, 1 } }, // 0x11 6990 { 0x6001, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 1 } }, // 0x12 6991 { 0xA000, { 0x412, 0, 0x411 } }, // 0x13 6992 { 0x200d, { 0x413, 0, 0 } }, // 0x14 6993 { 0x4000, { 10800, 0x414, 0 } }, // 0x15 6994 { 0x8000, { 10800, 0, 0x414 } } // 0x16 6995 }; 6996 static const sal_uInt16 mso_sptTextButtonPourSegm[] = 6997 { 6998 0xA504, 0x8000, // clockwise arc 6999 0xA504, 0x8000, // clockwise arc 7000 0x4000, 0x0001, 0x8000, 7001 0x4000, 0x0001, 0x8000, 7002 0xA304, 0x8000, // counter clockwise 7003 0xA304, 0x8000 // counter clockwise 7004 }; 7005 static const SvxMSDffHandle mso_sptTextButtonPourHandle[] = 7006 { 7007 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE, 7008 0x101, 0x100, 10800, 10800, 4320, 10800, 0x80000000, 0x7fffffff } 7009 }; 7010 static const sal_Int32 mso_sptTextButtonPourDefault[] = 7011 { 7012 2, 180, 5400 7013 }; 7014 static const mso_CustomShape msoTextButtonPour = 7015 { 7016 (SvxMSDffVertPair*)mso_sptTextButtonPourVert, sizeof( mso_sptTextButtonPourVert ) / sizeof( SvxMSDffVertPair ), 7017 (sal_uInt16*)mso_sptTextButtonPourSegm, sizeof( mso_sptTextButtonPourSegm ) >> 1, 7018 (SvxMSDffCalculationData*)mso_sptTextButtonPourCalc, sizeof( mso_sptTextButtonPourCalc ) / sizeof( SvxMSDffCalculationData ), 7019 (sal_Int32*)mso_sptTextButtonPourDefault, 7020 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7021 21600, 21600, 7022 0x80000000, 0x80000000, 7023 NULL, 0, 7024 (SvxMSDffHandle*)mso_sptTextButtonPourHandle, sizeof( mso_sptTextButtonPourHandle ) / sizeof( SvxMSDffHandle ) 7025 }; 7026 7027 static const SvxMSDffVertPair mso_sptTextCurveUpVert[] = 7028 { 7029 { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 }, 7030 { 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*/ } 7031 }; 7032 static const SvxMSDffCalculationData mso_sptTextCurveUpCalc[] = 7033 { 7034 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7035 { 0x4001, { 14250, 0x400, 12170 } }, // 401 7036 { 0x4001, { 12800, 0x400, 12170 } }, // 402 7037 { 0x4001, { 6380, 0x400, 12170 } }, // 403 7038 { 0x8000, { 21600, 0, 0x403 } } // 404 7039 }; 7040 static const sal_uInt16 mso_sptTextCurveUpSegm[] = 7041 { 7042 0x4000, 0x2001, 0x8000, 7043 0x4000, 0x2002, 0x8000 7044 }; 7045 static const SvxMSDffHandle mso_sptTextCurveUpHandle[] = 7046 { 7047 { MSDFF_HANDLE_FLAGS_RANGE, 7048 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 12170 } 7049 }; 7050 static const sal_Int32 mso_sptTextCurveUpDefault[] = 7051 { 7052 1, 9900 7053 }; 7054 static const mso_CustomShape msoTextCurveUp = 7055 { 7056 (SvxMSDffVertPair*)mso_sptTextCurveUpVert, sizeof( mso_sptTextCurveUpVert ) / sizeof( SvxMSDffVertPair ), 7057 (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1, 7058 (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, sizeof( mso_sptTextCurveUpCalc ) / sizeof( SvxMSDffCalculationData ), 7059 (sal_Int32*)mso_sptTextCurveUpDefault, 7060 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7061 21600, 21600, 7062 0x80000000, 0x80000000, 7063 NULL, 0, 7064 (SvxMSDffHandle*)mso_sptTextCurveUpHandle, sizeof( mso_sptTextCurveUpHandle ) / sizeof( SvxMSDffHandle ) 7065 }; 7066 7067 static const SvxMSDffVertPair mso_sptTextCurveDownVert[] = 7068 { 7069 // { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 }, 7070 { 0, 0 }, { 9960, 2 MSO_I }, { 16700, 1 MSO_I }, { 21600, 0 MSO_I }, 7071 7072 // { 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*/ } 7073 { 0, 4 MSO_I }, { 5690, 21600 }, { 7490, 21600 }, { 11500, 21600 }, { 13100, 21600 }, { 17900, 21600 }, { 21600, 4 MSO_I } 7074 }; 7075 static const SvxMSDffHandle mso_sptTextCurveDownHandle[] = 7076 { 7077 { MSDFF_HANDLE_FLAGS_RANGE, 7078 21600, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 12170 } 7079 }; 7080 static const mso_CustomShape msoTextCurveDown = 7081 { 7082 (SvxMSDffVertPair*)mso_sptTextCurveDownVert, sizeof( mso_sptTextCurveDownVert ) / sizeof( SvxMSDffVertPair ), 7083 (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1, 7084 (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, sizeof( mso_sptTextCurveUpCalc ) / sizeof( SvxMSDffCalculationData ), 7085 (sal_Int32*)mso_sptTextCurveUpDefault, 7086 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7087 21600, 21600, 7088 0x80000000, 0x80000000, 7089 NULL, 0, 7090 (SvxMSDffHandle*)mso_sptTextCurveDownHandle, sizeof( mso_sptTextCurveDownHandle ) / sizeof( SvxMSDffHandle ) 7091 }; 7092 7093 static const SvxMSDffVertPair mso_sptTextCanUpVert[] = 7094 { 7095 { 0, 1 MSO_I }, { 900, 0 }, { 7100, 0 }, { 10800, 0 }, { 14500, 0 }, { 20700, 0 }, { 21600, 1 MSO_I }, 7096 { 0, 21600 }, { 900, 4 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 4 MSO_I }, { 21600, 21600 } 7097 }; 7098 static const SvxMSDffCalculationData mso_sptTextCanUpCalc[] = 7099 { 7100 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7101 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401 7102 { 0x2000, { DFF_Prop_adjustValue, 0, 14400 } }, // 402 7103 { 0x4001, { 5470, 0x402, 7200 } }, // 403 7104 { 0x4000, { 16130, 0x403, 0 } } // 404 7105 }; 7106 static const sal_uInt16 mso_sptTextCanUpSegm[] = 7107 { 7108 0x4000, 0x2002, 0x8000, 7109 0x4000, 0x2002, 0x8000 7110 }; 7111 static const SvxMSDffHandle mso_sptTextCanUpHandle[] = 7112 { 7113 { MSDFF_HANDLE_FLAGS_RANGE, 7114 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 14400, 21600 } 7115 }; 7116 static const sal_Int32 mso_sptTextCanUpDefault[] = 7117 { 7118 1, 18500 7119 }; 7120 static const mso_CustomShape msoTextCanUp = 7121 { 7122 (SvxMSDffVertPair*)mso_sptTextCanUpVert, sizeof( mso_sptTextCanUpVert ) / sizeof( SvxMSDffVertPair ), 7123 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1, 7124 (SvxMSDffCalculationData*)mso_sptTextCanUpCalc, sizeof( mso_sptTextCanUpCalc ) / sizeof( SvxMSDffCalculationData ), 7125 (sal_Int32*)mso_sptTextCanUpDefault, 7126 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7127 21600, 21600, 7128 0x80000000, 0x80000000, 7129 NULL, 0, 7130 (SvxMSDffHandle*)mso_sptTextCanUpHandle, sizeof( mso_sptTextCanUpHandle ) / sizeof( SvxMSDffHandle ) 7131 }; 7132 7133 static const SvxMSDffVertPair mso_sptTextCanDownVert[] = 7134 { 7135 { 0, 0 }, { 900, 2 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 2 MSO_I }, { 21600, 0 }, 7136 { 0, 1 MSO_I }, { 900, 21600 }, { 7100, 21600 }, { 10800, 21600 }, { 14500, 21600 }, { 20700, 21600 }, { 21600, 1 MSO_I } 7137 }; 7138 static const SvxMSDffCalculationData mso_sptTextCanDownCalc[] = 7139 { 7140 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7141 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401 7142 { 0x4001, { 5470, 0x400, 7200 } } // 402 7143 }; 7144 static const SvxMSDffHandle mso_sptTextCanDownHandle[] = 7145 { 7146 { MSDFF_HANDLE_FLAGS_RANGE, 7147 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 7200 } 7148 }; 7149 static const sal_Int32 mso_sptTextCanDownDefault[] = 7150 { 7151 1, 3100 7152 }; 7153 static const mso_CustomShape msoTextCanDown = 7154 { 7155 (SvxMSDffVertPair*)mso_sptTextCanDownVert, sizeof( mso_sptTextCanDownVert ) / sizeof( SvxMSDffVertPair ), 7156 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1, 7157 (SvxMSDffCalculationData*)mso_sptTextCanDownCalc, sizeof( mso_sptTextCanDownCalc ) / sizeof( SvxMSDffCalculationData ), 7158 (sal_Int32*)mso_sptTextCanDownDefault, 7159 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7160 21600, 21600, 7161 0x80000000, 0x80000000, 7162 NULL, 0, 7163 (SvxMSDffHandle*)mso_sptTextCanDownHandle, sizeof( mso_sptTextCanDownHandle ) / sizeof( SvxMSDffHandle ) 7164 }; 7165 7166 static const SvxMSDffVertPair mso_sptTextInflateVert[] = 7167 { 7168 { 0, 0 MSO_I }, { 4100, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 17500, 1 MSO_I }, { 21600, 0 MSO_I }, 7169 { 0, 2 MSO_I }, { 4100, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 17500, 3 MSO_I }, { 21600, 2 MSO_I } 7170 }; 7171 static const SvxMSDffCalculationData mso_sptTextInflateCalc[] = 7172 { 7173 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7174 { 0x4001, { 1530, 0x400, 4650 } }, // 401 7175 { 0x8000, { 21600, 0, 0x400 } }, // 402 7176 { 0x8000, { 21600, 0, 0x401 } } // 403 7177 }; 7178 static const SvxMSDffHandle mso_sptTextInflateHandle[] = 7179 { 7180 { MSDFF_HANDLE_FLAGS_RANGE, 7181 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 4650 } 7182 }; 7183 static const sal_Int32 mso_sptTextInflateDefault[] = 7184 { 7185 1, 2950 7186 }; 7187 static const mso_CustomShape msoTextInflate = 7188 { 7189 (SvxMSDffVertPair*)mso_sptTextInflateVert, sizeof( mso_sptTextInflateVert ) / sizeof( SvxMSDffVertPair ), 7190 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1, 7191 (SvxMSDffCalculationData*)mso_sptTextInflateCalc, sizeof( mso_sptTextInflateCalc ) / sizeof( SvxMSDffCalculationData ), 7192 (sal_Int32*)mso_sptTextInflateDefault, 7193 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7194 21600, 21600, 7195 0x80000000, 0x80000000, 7196 NULL, 0, 7197 (SvxMSDffHandle*)mso_sptTextInflateHandle, sizeof( mso_sptTextInflateHandle ) / sizeof( SvxMSDffHandle ) 7198 }; 7199 7200 static const SvxMSDffVertPair mso_sptTextDeflateVert[] = 7201 { 7202 { 0, 0 }, { 3500, 1 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 18100, 1 MSO_I }, { 21600, 0 }, 7203 { 0, 21600 }, { 3500, 3 MSO_I }, { 7100, 2 MSO_I }, { 10800, 2 MSO_I }, { 14500, 2 MSO_I }, { 18100, 3 MSO_I }, { 21600, 21600 } 7204 }; 7205 static const SvxMSDffCalculationData mso_sptTextDeflateCalc[] = 7206 { 7207 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7208 { 0x2001, { 0x400, 5320, 7100 } }, // 401 7209 { 0x8000, { 21600, 0, 0x400 } }, // 402 7210 { 0x8000, { 21600, 0, 0x401 } } // 403 7211 }; 7212 static const SvxMSDffHandle mso_sptTextDeflateHandle[] = 7213 { 7214 { MSDFF_HANDLE_FLAGS_RANGE, 7215 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 8100 } 7216 }; 7217 static const mso_CustomShape msoTextDeflate = 7218 { 7219 (SvxMSDffVertPair*)mso_sptTextDeflateVert, sizeof( mso_sptTextDeflateVert ) / sizeof( SvxMSDffVertPair ), 7220 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1, 7221 (SvxMSDffCalculationData*)mso_sptTextDeflateCalc, sizeof( mso_sptTextDeflateCalc ) / sizeof( SvxMSDffCalculationData ), 7222 (sal_Int32*)mso_sptDefault8100, 7223 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7224 21600, 21600, 7225 0x80000000, 0x80000000, 7226 NULL, 0, 7227 (SvxMSDffHandle*)mso_sptTextDeflateHandle, sizeof( mso_sptTextDeflateHandle ) / sizeof( SvxMSDffHandle ) 7228 }; 7229 7230 static const SvxMSDffVertPair mso_sptTextInflateBottomVert[] = 7231 { 7232 { 0, 0 }, { 21600, 0 }, 7233 { 0, 0 MSO_I }, { 3500, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 18100, 3 MSO_I }, { 21600, 0 MSO_I } 7234 }; 7235 static const SvxMSDffCalculationData mso_sptTextInflateBottomCalc[] = 7236 { 7237 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7238 { 0x2000, { 0x400, 0, 11150 } }, // 401 0->10450 7239 { 0x2001, { 0x401, 3900, 10450 } }, // 402 7240 { 0x2000, { 0x402, 17700, 0 } } // 403 7241 }; 7242 static const sal_uInt16 mso_sptTextInflateBottomSegm[] = 7243 { 7244 0x4000, 0x0001, 0x8000, 7245 0x4000, 0x2002, 0x8000 7246 }; 7247 static const SvxMSDffHandle mso_sptTextInflateBottomHandle[] = 7248 { 7249 { MSDFF_HANDLE_FLAGS_RANGE, 7250 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 11150, 21600 } 7251 }; 7252 static const sal_Int32 mso_sptTextInflateBottomDefault[] = 7253 { 7254 1, 14700 7255 }; 7256 static const mso_CustomShape msoTextInflateBottom = 7257 { 7258 (SvxMSDffVertPair*)mso_sptTextInflateBottomVert, sizeof( mso_sptTextInflateBottomVert ) / sizeof( SvxMSDffVertPair ), 7259 (sal_uInt16*)mso_sptTextInflateBottomSegm, sizeof( mso_sptTextInflateBottomSegm ) >> 1, 7260 (SvxMSDffCalculationData*)mso_sptTextInflateBottomCalc, sizeof( mso_sptTextInflateBottomCalc ) / sizeof( SvxMSDffCalculationData ), 7261 (sal_Int32*)mso_sptTextInflateBottomDefault, 7262 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7263 21600, 21600, 7264 0x80000000, 0x80000000, 7265 NULL, 0, 7266 (SvxMSDffHandle*)mso_sptTextInflateBottomHandle, sizeof( mso_sptTextInflateBottomHandle ) / sizeof( SvxMSDffHandle ) 7267 }; 7268 7269 static const SvxMSDffVertPair mso_sptTextDeflateBottomVert[] = 7270 { 7271 { 0, 0 }, { 21600, 0 }, 7272 { 0, 21600 }, { 2900, 3 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 3 MSO_I }, { 21600, 21600 } 7273 }; 7274 static const SvxMSDffCalculationData mso_sptTextDeflateBottomCalc[] = 7275 { 7276 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7277 { 0x2000, { 0x400, 0, 1350 } }, // 401 0->20250 7278 { 0x2001, { 0x401, 12070, 20250 } }, // 402 7279 { 0x2000, { 0x402, 9530, 0 } } // 403 7280 }; 7281 static const sal_uInt16 mso_sptTextDeflateBottomSegm[] = 7282 { 7283 0x4000, 0x0001, 0x8000, 7284 0x4000, 0x2002, 0x8000 7285 }; 7286 static const SvxMSDffHandle mso_sptTextDeflateBottomHandle[] = 7287 { 7288 { MSDFF_HANDLE_FLAGS_RANGE, 7289 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 1350, 21600 } 7290 }; 7291 static const sal_Int32 mso_sptTextDeflateBottomDefault[] = 7292 { 7293 1, 11500 7294 }; 7295 static const mso_CustomShape msoTextDeflateBottom = 7296 { 7297 (SvxMSDffVertPair*)mso_sptTextDeflateBottomVert, sizeof( mso_sptTextDeflateBottomVert ) / sizeof( SvxMSDffVertPair ), 7298 (sal_uInt16*)mso_sptTextDeflateBottomSegm, sizeof( mso_sptTextDeflateBottomSegm ) >> 1, 7299 (SvxMSDffCalculationData*)mso_sptTextDeflateBottomCalc, sizeof( mso_sptTextDeflateBottomCalc ) / sizeof( SvxMSDffCalculationData ), 7300 (sal_Int32*)mso_sptTextDeflateBottomDefault, 7301 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7302 21600, 21600, 7303 0x80000000, 0x80000000, 7304 NULL, 0, 7305 (SvxMSDffHandle*)mso_sptTextDeflateBottomHandle, sizeof( mso_sptTextDeflateBottomHandle ) / sizeof( SvxMSDffHandle ) 7306 }; 7307 7308 static const SvxMSDffVertPair mso_sptTextInflateTopVert[] = 7309 { 7310 { 0, 0 MSO_I }, { 3500, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 18100, 1 MSO_I }, { 21600, 0 MSO_I }, 7311 { 0, 21600 }, { 21600, 21600 } 7312 }; 7313 static const SvxMSDffCalculationData mso_sptTextInflateTopCalc[] = 7314 { 7315 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7316 { 0x2001, { 0x400, 3900, 10450 } } // 401 7317 }; 7318 static const sal_uInt16 mso_sptTextInflateTopSegm[] = 7319 { 7320 0x4000, 0x2002, 0x8000, 7321 0x4000, 0x0001, 0x8000 7322 }; 7323 static const SvxMSDffHandle mso_sptTextInflateTopHandle[] = 7324 { 7325 { MSDFF_HANDLE_FLAGS_RANGE, 7326 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10450 } 7327 }; 7328 static const sal_Int32 mso_sptTextInflateTopDefault[] = 7329 { 7330 1, 6900 7331 }; 7332 static const mso_CustomShape msoTextInflateTop = 7333 { 7334 (SvxMSDffVertPair*)mso_sptTextInflateTopVert, sizeof( mso_sptTextInflateTopVert ) / sizeof( SvxMSDffVertPair ), 7335 (sal_uInt16*)mso_sptTextInflateTopSegm, sizeof( mso_sptTextInflateTopSegm ) >> 1, 7336 (SvxMSDffCalculationData*)mso_sptTextInflateTopCalc, sizeof( mso_sptTextInflateTopCalc ) / sizeof( SvxMSDffCalculationData ), 7337 (sal_Int32*)mso_sptTextInflateTopDefault, 7338 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7339 21600, 21600, 7340 0x80000000, 0x80000000, 7341 NULL, 0, 7342 (SvxMSDffHandle*)mso_sptTextInflateTopHandle, sizeof( mso_sptTextInflateTopHandle ) / sizeof( SvxMSDffHandle ) 7343 }; 7344 7345 static const SvxMSDffVertPair mso_sptTextDeflateTopVert[] = 7346 { 7347 { 0, 0 }, { 2900, 1 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 1 MSO_I }, { 21600, 0 }, 7348 { 0, 21600 }, { 21600, 21600 } 7349 }; 7350 static const SvxMSDffCalculationData mso_sptTextDeflateTopCalc[] = 7351 { 7352 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7353 { 0x2001, { 0x400, 12070, 20250 } } // 402 7354 }; 7355 static const sal_uInt16 mso_sptTextDeflateTopSegm[] = 7356 { 7357 0x4000, 0x2002, 0x8000, 7358 0x4000, 0x0001, 0x8000 7359 }; 7360 static const SvxMSDffHandle mso_sptTextDeflateTopHandle[] = 7361 { 7362 { MSDFF_HANDLE_FLAGS_RANGE, 7363 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 20250 } 7364 }; 7365 static const sal_Int32 mso_sptTextDeflateTopDefault[] = 7366 { 7367 1, 10100 7368 }; 7369 static const mso_CustomShape msoTextDeflateTop = 7370 { 7371 (SvxMSDffVertPair*)mso_sptTextDeflateTopVert, sizeof( mso_sptTextDeflateTopVert ) / sizeof( SvxMSDffVertPair ), 7372 (sal_uInt16*)mso_sptTextDeflateTopSegm, sizeof( mso_sptTextDeflateTopSegm ) >> 1, 7373 (SvxMSDffCalculationData*)mso_sptTextDeflateTopCalc, sizeof( mso_sptTextDeflateTopCalc ) / sizeof( SvxMSDffCalculationData ), 7374 (sal_Int32*)mso_sptTextDeflateTopDefault, 7375 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7376 21600, 21600, 7377 0x80000000, 0x80000000, 7378 NULL, 0, 7379 (SvxMSDffHandle*)mso_sptTextDeflateTopHandle, sizeof( mso_sptTextDeflateTopHandle ) / sizeof( SvxMSDffHandle ) 7380 }; 7381 7382 static const SvxMSDffVertPair mso_sptTextDeflateInflateVert[] = 7383 { 7384 { 0, 0 }, { 21600, 0 }, 7385 { 0, 10100 }, { 3300, 3 MSO_I }, { 7100, 5 MSO_I }, { 10800, 5 MSO_I }, { 14500, 5 MSO_I }, { 18300, 3 MSO_I }, { 21600, 10100 }, 7386 { 0, 11500 }, { 3300, 4 MSO_I }, { 7100, 6 MSO_I }, { 10800, 6 MSO_I }, { 14500, 6 MSO_I }, { 18300, 4 MSO_I }, { 21600, 11500 }, 7387 { 0, 21600 }, { 21600, 21600 } 7388 }; 7389 static const SvxMSDffCalculationData mso_sptTextDeflateInflateCalc[] = 7390 { 7391 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7392 { 0x8000, { 10800, 0, 0x400 } }, // 401 7393 { 0x2001, { 0x401, 5770, 9500 } }, // 402 7394 { 0x8000, { 10100, 0, 0x402 } }, // 403 7395 { 0x8000, { 11500, 0, 0x402 } }, // 404 7396 { 0x2000, { 0x400, 0, 700 } }, // 405 7397 { 0x2000, { 0x400, 700, 0 } } // 406 7398 }; 7399 static const sal_uInt16 mso_sptTextDeflateInflateSegm[] = 7400 { 7401 0x4000, 0x0001, 0x8000, 7402 0x4000, 0x2002, 0x8000, 7403 0x4000, 0x2002, 0x8000, 7404 0x4000, 0x0001, 0x8000 7405 }; 7406 static const SvxMSDffHandle mso_sptTextDeflateInflateHandle[] = 7407 { 7408 { MSDFF_HANDLE_FLAGS_RANGE, 7409 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 1300, 20300 } 7410 }; 7411 static const sal_Int32 mso_sptTextDeflateInflateDefault[] = 7412 { 7413 1, 6500 7414 }; 7415 static const mso_CustomShape msoTextDeflateInflate = 7416 { 7417 (SvxMSDffVertPair*)mso_sptTextDeflateInflateVert, sizeof( mso_sptTextDeflateInflateVert ) / sizeof( SvxMSDffVertPair ), 7418 (sal_uInt16*)mso_sptTextDeflateInflateSegm, sizeof( mso_sptTextDeflateInflateSegm ) >> 1, 7419 (SvxMSDffCalculationData*)mso_sptTextDeflateInflateCalc, sizeof( mso_sptTextDeflateInflateCalc ) / sizeof( SvxMSDffCalculationData ), 7420 (sal_Int32*)mso_sptTextDeflateInflateDefault, 7421 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7422 21600, 21600, 7423 0x80000000, 0x80000000, 7424 NULL, 0, 7425 (SvxMSDffHandle*)mso_sptTextDeflateInflateHandle, sizeof( mso_sptTextDeflateInflateHandle ) / sizeof( SvxMSDffHandle ) 7426 }; 7427 7428 static const SvxMSDffVertPair mso_sptTextDeflateInflateDeflateVert[] = 7429 { 7430 { 0, 0 }, { 21600, 0 }, 7431 { 0, 6600 }, { 3600, 3 MSO_I }, { 7250, 4 MSO_I }, { 10800, 4 MSO_I }, { 14350, 4 MSO_I }, { 18000, 3 MSO_I }, { 21600, 6600 }, 7432 { 0, 7500 }, { 3600, 5 MSO_I }, { 7250, 6 MSO_I }, { 10800, 6 MSO_I }, { 14350, 6 MSO_I }, { 18000, 5 MSO_I }, { 21600, 7500 }, 7433 { 0, 14100 }, { 3600, 9 MSO_I }, { 7250, 10 MSO_I }, { 10800, 10 MSO_I }, { 14350, 10 MSO_I }, { 18000, 9 MSO_I }, { 21600, 14100 }, 7434 { 0, 15000 }, { 3600, 7 MSO_I }, { 7250, 8 MSO_I }, { 10800, 8 MSO_I }, { 14350, 8 MSO_I }, { 18000, 7 MSO_I }, { 21600, 15000 }, 7435 { 0, 21600 }, { 21600, 21600 } 7436 }; 7437 static const SvxMSDffCalculationData mso_sptTextDeflateInflateDeflateCalc[] = 7438 { 7439 { 0x2000, { DFF_Prop_adjustValue, 0, 850 } }, // 400 7440 { 0x2001, { 0x400, 6120, 8700 } }, 7441 { 0x2000, { 0x401, 0, 4280 } }, 7442 { 0x4000, { 6600, 0x402, 0 } }, 7443 { 0x2000, { DFF_Prop_adjustValue, 0, 450 } }, // 404 7444 { 0x2000, { 0x403, 900, 0 } }, // 405 7445 { 0x2000, { 0x404, 900, 0 } }, // 406 7446 { 0x8000, { 21600, 0, 0x403 } }, // 407 7447 { 0x8000, { 21600, 0, 0x404 } }, // 408 7448 { 0x8000, { 21600, 0, 0x405 } }, // 409 7449 { 0x8000, { 21600, 0, 0x406 } } // 410 7450 }; 7451 static const sal_uInt16 mso_sptTextDeflateInflateDeflateSegm[] = 7452 { 7453 0x4000, 0x0001, 0x8000, 7454 0x4000, 0x2002, 0x8000, 7455 0x4000, 0x2002, 0x8000, 7456 0x4000, 0x2002, 0x8000, 7457 0x4000, 0x2002, 0x8000, 7458 0x4000, 0x0001, 0x8000 7459 }; 7460 static const SvxMSDffHandle mso_sptTextDeflateInflateDeflateHandle[] = 7461 { 7462 { MSDFF_HANDLE_FLAGS_RANGE, 7463 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 850, 9550 } 7464 }; 7465 static const sal_Int32 mso_sptTextDeflateInflateDeflateDefault[] = 7466 { 7467 1, 6050 7468 }; 7469 static const mso_CustomShape msoTextDeflateInflateDeflate = 7470 { 7471 (SvxMSDffVertPair*)mso_sptTextDeflateInflateDeflateVert, sizeof( mso_sptTextDeflateInflateDeflateVert ) / sizeof( SvxMSDffVertPair ), 7472 (sal_uInt16*)mso_sptTextDeflateInflateDeflateSegm, sizeof( mso_sptTextDeflateInflateDeflateSegm ) >> 1, 7473 (SvxMSDffCalculationData*)mso_sptTextDeflateInflateDeflateCalc, sizeof( mso_sptTextDeflateInflateDeflateCalc ) / sizeof( SvxMSDffCalculationData ), 7474 (sal_Int32*)mso_sptTextDeflateInflateDeflateDefault, 7475 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7476 21600, 21600, 7477 0x80000000, 0x80000000, 7478 NULL, 0, 7479 (SvxMSDffHandle*)mso_sptTextDeflateInflateDeflateHandle, sizeof( mso_sptTextDeflateInflateDeflateHandle ) / sizeof( SvxMSDffHandle ) 7480 }; 7481 7482 static const SvxMSDffVertPair mso_sptTextWave1Vert[] = // adjustment1 : 0 - 4459 7483 { // adjustment2 : 8640 - 12960 7484 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I }, 7485 { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 24 MSO_I, 1 MSO_I } 7486 }; 7487 static const sal_uInt16 mso_sptTextWave1Segm[] = 7488 { 7489 0x4000, 0x2001, 0x8000, 7490 0x4000, 0x2001, 0x8000 7491 }; 7492 static const mso_CustomShape msoTextWave1 = 7493 { 7494 (SvxMSDffVertPair*)mso_sptTextWave1Vert, sizeof( mso_sptTextWave1Vert ) / sizeof( SvxMSDffVertPair ), 7495 (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1, 7496 (SvxMSDffCalculationData*)mso_sptWaveCalc, sizeof( mso_sptWaveCalc ) / sizeof( SvxMSDffCalculationData ), 7497 (sal_Int32*)mso_sptWaveDefault, 7498 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7499 21600, 21600, 7500 0x80000000, 0x80000000, 7501 (SvxMSDffVertPair*)mso_sptWaveGluePoints, sizeof( mso_sptWaveGluePoints ) / sizeof( SvxMSDffVertPair ), 7502 (SvxMSDffHandle*)mso_sptWaveHandle, sizeof( mso_sptWaveHandle ) / sizeof( SvxMSDffHandle ) 7503 }; 7504 7505 static const SvxMSDffVertPair mso_sptTextWave2Vert[] = // adjustment1 : 0 - 4459 7506 { // adjustment2 : 8640 - 12960 7507 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 10 MSO_I }, { 16 MSO_I, 9 MSO_I }, { 12 MSO_I, 0 MSO_I }, 7508 { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 26 MSO_I }, { 25 MSO_I, 28 MSO_I }, { 24 MSO_I, 1 MSO_I } 7509 }; 7510 static const mso_CustomShape msoTextWave2 = 7511 { 7512 (SvxMSDffVertPair*)mso_sptTextWave2Vert, sizeof( mso_sptTextWave2Vert ) / sizeof( SvxMSDffVertPair ), 7513 (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1, 7514 (SvxMSDffCalculationData*)mso_sptWaveCalc, sizeof( mso_sptWaveCalc ) / sizeof( SvxMSDffCalculationData ), 7515 (sal_Int32*)mso_sptWaveDefault, 7516 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7517 21600, 21600, 7518 0x80000000, 0x80000000, 7519 (SvxMSDffVertPair*)mso_sptWaveGluePoints, sizeof( mso_sptWaveGluePoints ) / sizeof( SvxMSDffVertPair ), 7520 (SvxMSDffHandle*)mso_sptWaveHandle, sizeof( mso_sptWaveHandle ) / sizeof( SvxMSDffHandle ) 7521 }; 7522 7523 static const SvxMSDffVertPair mso_sptTextWave3Vert[] = // adjustment1 : 0 - 2230 7524 { // adjustment2 : 8640 - 12960 7525 { 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 }, 7526 { 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 } 7527 }; 7528 static const sal_uInt16 mso_sptTextWave3Segm[] = 7529 { 7530 0x4000, 0x2002, 0x8000, 7531 0x4000, 0x2002, 0x8000 7532 }; 7533 static const mso_CustomShape msoTextWave3 = 7534 { 7535 (SvxMSDffVertPair*)mso_sptTextWave3Vert, sizeof( mso_sptTextWave3Vert ) / sizeof( SvxMSDffVertPair ), 7536 (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1, 7537 (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, sizeof( mso_sptDoubleWaveCalc ) / sizeof( SvxMSDffCalculationData ), 7538 (sal_Int32*)mso_sptDoubleWaveDefault, 7539 (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, sizeof( mso_sptDoubleWaveTextRect ) / sizeof( SvxMSDffTextRectangles ), 7540 21600, 21600, 7541 0x80000000, 0x80000000, 7542 (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, sizeof( mso_sptDoubleWaveGluePoints ) / sizeof( SvxMSDffVertPair ), 7543 (SvxMSDffHandle*)mso_sptDoubleWaveHandle, sizeof( mso_sptDoubleWaveHandle ) / sizeof( SvxMSDffHandle ) 7544 }; 7545 7546 static const SvxMSDffVertPair mso_sptTextWave4Vert[] = // adjustment1 : 0 - 2230 7547 { // adjustment2 : 8640 - 12960 7548 { 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 }, 7549 { 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 } 7550 }; 7551 static const mso_CustomShape msoTextWave4 = 7552 { 7553 (SvxMSDffVertPair*)mso_sptTextWave4Vert, sizeof( mso_sptTextWave4Vert ) / sizeof( SvxMSDffVertPair ), 7554 (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1, 7555 (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, sizeof( mso_sptDoubleWaveCalc ) / sizeof( SvxMSDffCalculationData ), 7556 (sal_Int32*)mso_sptDoubleWaveDefault, 7557 (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, sizeof( mso_sptDoubleWaveTextRect ) / sizeof( SvxMSDffTextRectangles ), 7558 21600, 21600, 7559 0x80000000, 0x80000000, 7560 (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, sizeof( mso_sptDoubleWaveGluePoints ) / sizeof( SvxMSDffVertPair ), 7561 (SvxMSDffHandle*)mso_sptDoubleWaveHandle, sizeof( mso_sptDoubleWaveHandle ) / sizeof( SvxMSDffHandle ) 7562 }; 7563 7564 static const sal_Int32 mso_sptCalloutDefault1[] = 7565 { 7566 4, -1800, 24500, -1800, 4000 7567 }; 7568 static const sal_Int32 mso_sptCalloutDefault2[] = 7569 { 7570 4, -8300, 24500, -1800, 4000 7571 }; 7572 static const sal_Int32 mso_sptCalloutDefault3[] = 7573 { 7574 6, -10000, 24500, -3600, 4000, -1800, 4000 7575 }; 7576 static const sal_Int32 mso_sptCalloutDefault4[] = 7577 { 7578 8, 23400, 24500, 25200, 21600, 25200, 4000, 23400, 4000 7579 }; 7580 static const SvxMSDffVertPair mso_sptCalloutVert1[] = 7581 { 7582 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I } 7583 }; 7584 static const SvxMSDffHandle mso_sptCalloutHandle1[] = 7585 { 7586 { 0, 7587 0x100, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7588 { 0, 7589 0x102, 0x103, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff } 7590 }; 7591 static const sal_uInt16 mso_sptCalloutSegm1a[] = 7592 { 7593 0x4000, 0x0003, 0x6000, 0x8000, 7594 0x4000, 0x0001, 0x8000 7595 }; 7596 static const sal_uInt16 mso_sptCalloutSegm1b[] = 7597 { 7598 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7599 0x4000, 0x0001, 0x8000 7600 }; 7601 static const SvxMSDffVertPair mso_sptCallout1Vert[] = 7602 { 7603 { 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 } 7604 }; 7605 static const sal_uInt16 mso_sptCallout1Segm1a[] = 7606 { 7607 0x4000, 0x0003, 0x6000, 0x8000, 7608 0x4000, 0x0001, 0x8000, 7609 0x4000, 0x0001, 0x8000 7610 }; 7611 static const sal_uInt16 mso_sptCallout1Segm1b[] = 7612 { 7613 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7614 0x4000, 0x0001, 0x8000, 7615 0x4000, 0x0001, 0x8000 7616 }; 7617 static const SvxMSDffVertPair mso_sptCallout2Verta[] = 7618 { 7619 { 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 } 7620 }; 7621 static const SvxMSDffVertPair mso_sptCallout2Vertb[] = 7622 { 7623 { 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 } 7624 }; 7625 static const SvxMSDffHandle mso_sptCalloutHandle2[] = 7626 { 7627 { 0, 7628 0x100, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7629 { 0, 7630 0x102, 0x103, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7631 { 0, 7632 0x104, 0x105, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff } 7633 }; 7634 static const sal_uInt16 mso_sptCallout2Segm1a[] = 7635 { 7636 0x4000, 0x0003, 0x6000, 0x8000, 7637 0x4000, 0x0001, 0x8000, 7638 0x4000, 0x0001, 0x8000, 7639 0x4000, 0x0001, 0x8000 7640 }; 7641 static const sal_uInt16 mso_sptCallout2Segm1b[] = 7642 { 7643 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7644 0x4000, 0x0001, 0x8000, 7645 0x4000, 0x0001, 0x8000, 7646 0x4000, 0x0001, 0x8000 7647 }; 7648 static const sal_uInt16 mso_sptCallout2Segm1c[] = 7649 { 7650 0x4000, 0x0003, 0x6000, 0x8000, 7651 0x4000, 0x0001, 0x8000, 7652 0x4000, 0x0001, 0x8000, 7653 0x4000, 0x0001, 0x8000, 7654 0x4000, 0x0001, 0x8000 7655 }; 7656 static const sal_uInt16 mso_sptCallout2Segm1d[] = 7657 { 7658 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7659 0x4000, 0x0001, 0x8000, 7660 0x4000, 0x0001, 0x8000, 7661 0x4000, 0x0001, 0x8000, 7662 0x4000, 0x0001, 0x8000 7663 }; 7664 static const SvxMSDffVertPair mso_sptCallout3Verta[] = 7665 { 7666 { 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 } 7667 }; 7668 static const SvxMSDffVertPair mso_sptCallout3Vertb[] = 7669 { 7670 { 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 } 7671 }; 7672 static const SvxMSDffHandle mso_sptCalloutHandle3[] = 7673 { 7674 { 0, 7675 0x100, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7676 { 0, 7677 0x102, 0x103, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7678 { 0, 7679 0x104, 0x105, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7680 { 0, 7681 0x106, 0x107, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff } 7682 }; 7683 static const sal_uInt16 mso_sptCallout3Segm1a[] = 7684 { 7685 0x4000, 0x0003, 0x6000, 0x8000, 7686 0x4000, 0xaa00, 0x0003, 0x8000 // NO_FILL 7687 }; 7688 static const sal_uInt16 mso_sptCallout3Segm1b[] = 7689 { 7690 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7691 0x4000, 0xaa00, 0x0003, 0x8000 // NO FILL 7692 }; 7693 static const sal_uInt16 mso_sptCallout3Segm1c[] = 7694 { 7695 0x4000, 0x0003, 0x6000, 0x8000, 7696 0x4000, 0xaa00, 0x0003, 0x8000, // NO FILL 7697 0x4000, 0x0001, 0x8000 7698 }; 7699 static const sal_uInt16 mso_sptCallout3Segm1d[] = 7700 { 7701 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7702 0x4000, 0xaa00, 0x0003, 0x8000, // NO FILL 7703 0x4000, 0x0001, 0x8000 7704 }; 7705 7706 static const SvxMSDffCalculationData mso_sptCalloutCalc[] = 7707 { 7708 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 7709 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, 7710 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, 7711 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } }, 7712 { 0x2000, { DFF_Prop_adjust5Value, 0, 0 } }, 7713 { 0x2000, { DFF_Prop_adjust6Value, 0, 0 } }, 7714 { 0x2000, { DFF_Prop_adjust7Value, 0, 0 } }, 7715 { 0x2000, { DFF_Prop_adjust8Value, 0, 0 } } 7716 }; 7717 7718 static const mso_CustomShape msoCallout90 = 7719 { 7720 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7721 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1, 7722 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7723 (sal_Int32*)mso_sptCalloutDefault1, 7724 NULL, 0, 7725 21600, 21600, 7726 0x80000000, 0x80000000, 7727 NULL, 0, 7728 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7729 }; 7730 static const mso_CustomShape msoCallout1 = 7731 { 7732 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7733 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1, 7734 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7735 (sal_Int32*)mso_sptCalloutDefault2, 7736 NULL, 0, 7737 21600, 21600, 7738 0x80000000, 0x80000000, 7739 NULL, 0, 7740 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7741 }; 7742 static const mso_CustomShape msoCallout2 = 7743 { 7744 (SvxMSDffVertPair*)mso_sptCallout2Verta, sizeof( mso_sptCallout2Verta ) / sizeof( SvxMSDffVertPair ), 7745 (sal_uInt16*)mso_sptCallout2Segm1b, sizeof( mso_sptCallout2Segm1b ) >> 1, 7746 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7747 (sal_Int32*)mso_sptCalloutDefault3, 7748 NULL, 0, 7749 21600, 21600, 7750 0x80000000, 0x80000000, 7751 NULL, 0, 7752 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle ) 7753 }; 7754 static const mso_CustomShape msoCallout3 = 7755 { 7756 (SvxMSDffVertPair*)mso_sptCallout3Verta, sizeof( mso_sptCallout3Verta ) / sizeof( SvxMSDffVertPair ), 7757 (sal_uInt16*)mso_sptCallout3Segm1b, sizeof( mso_sptCallout3Segm1b ) >> 1, 7758 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7759 (sal_Int32*)mso_sptCalloutDefault4, 7760 NULL, 0, 7761 21600, 21600, 7762 0x80000000, 0x80000000, 7763 NULL, 0, 7764 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle ) 7765 }; 7766 static const mso_CustomShape msoAccentCallout90 = 7767 { 7768 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7769 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1, 7770 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7771 (sal_Int32*)mso_sptCalloutDefault1, 7772 NULL, 0, 7773 21600, 21600, 7774 0x80000000, 0x80000000, 7775 NULL, 0, 7776 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7777 }; 7778 static const mso_CustomShape msoAccentCallout1 = 7779 { 7780 (SvxMSDffVertPair*)mso_sptCallout1Vert, sizeof( mso_sptCallout1Vert ) / sizeof( SvxMSDffVertPair ), 7781 (sal_uInt16*)mso_sptCallout1Segm1b, sizeof( mso_sptCallout1Segm1b ) >> 1, 7782 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7783 (sal_Int32*)mso_sptCalloutDefault2, 7784 NULL, 0, 7785 21600, 21600, 7786 0x80000000, 0x80000000, 7787 NULL, 0, 7788 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7789 }; 7790 static const mso_CustomShape msoAccentCallout2 = 7791 { 7792 (SvxMSDffVertPair*)mso_sptCallout2Vertb, sizeof( mso_sptCallout2Vertb ) / sizeof( SvxMSDffVertPair ), 7793 (sal_uInt16*)mso_sptCallout2Segm1d, sizeof( mso_sptCallout2Segm1d ) >> 1, 7794 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7795 (sal_Int32*)mso_sptCalloutDefault3, 7796 NULL, 0, 7797 21600, 21600, 7798 0x80000000, 0x80000000, 7799 NULL, 0, 7800 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle ) 7801 }; 7802 static const mso_CustomShape msoAccentCallout3 = 7803 { 7804 (SvxMSDffVertPair*)mso_sptCallout3Vertb, sizeof( mso_sptCallout3Vertb ) / sizeof( SvxMSDffVertPair ), 7805 (sal_uInt16*)mso_sptCallout3Segm1d, sizeof( mso_sptCallout3Segm1d ) >> 1, 7806 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7807 (sal_Int32*)mso_sptCalloutDefault4, 7808 NULL, 0, 7809 21600, 21600, 7810 0x80000000, 0x80000000, 7811 NULL, 0, 7812 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle ) 7813 }; 7814 static const mso_CustomShape msoBorderCallout90 = 7815 { 7816 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7817 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1, 7818 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7819 (sal_Int32*)mso_sptCalloutDefault1, 7820 NULL, 0, 7821 21600, 21600, 7822 0x80000000, 0x80000000, 7823 NULL, 0, 7824 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7825 }; 7826 static const mso_CustomShape msoBorderCallout1 = 7827 { 7828 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7829 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1, 7830 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7831 (sal_Int32*)mso_sptCalloutDefault2, 7832 NULL, 0, 7833 21600, 21600, 7834 0x80000000, 0x80000000, 7835 NULL, 0, 7836 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7837 }; 7838 static const mso_CustomShape msoBorderCallout2 = 7839 { 7840 (SvxMSDffVertPair*)mso_sptCallout2Verta, sizeof( mso_sptCallout2Verta ) / sizeof( SvxMSDffVertPair ), 7841 (sal_uInt16*)mso_sptCallout2Segm1a, sizeof( mso_sptCallout2Segm1a ) >> 1, 7842 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7843 (sal_Int32*)mso_sptCalloutDefault3, 7844 NULL, 0, 7845 21600, 21600, 7846 0x80000000, 0x80000000, 7847 NULL, 0, 7848 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle ) 7849 }; 7850 static const mso_CustomShape msoBorderCallout3 = 7851 { 7852 (SvxMSDffVertPair*)mso_sptCallout3Verta, sizeof( mso_sptCallout3Verta ) / sizeof( SvxMSDffVertPair ), 7853 (sal_uInt16*)mso_sptCallout3Segm1a, sizeof( mso_sptCallout3Segm1a ) >> 1, 7854 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7855 (sal_Int32*)mso_sptCalloutDefault4, 7856 NULL, 0, 7857 21600, 21600, 7858 0x80000000, 0x80000000, 7859 NULL, 0, 7860 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle ) 7861 }; 7862 static const mso_CustomShape msoAccentBorderCallout90 = 7863 { 7864 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7865 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1, 7866 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7867 (sal_Int32*)mso_sptCalloutDefault1, 7868 NULL, 0, 7869 21600, 21600, 7870 0x80000000, 0x80000000, 7871 NULL, 0, 7872 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7873 }; 7874 static const mso_CustomShape msoAccentBorderCallout1 = 7875 { 7876 (SvxMSDffVertPair*)mso_sptCallout1Vert, sizeof( mso_sptCallout1Vert ) / sizeof( SvxMSDffVertPair ), 7877 (sal_uInt16*)mso_sptCallout1Segm1a, sizeof( mso_sptCallout1Segm1a ) >> 1, 7878 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7879 (sal_Int32*)mso_sptCalloutDefault2, 7880 NULL, 0, 7881 21600, 21600, 7882 0x80000000, 0x80000000, 7883 NULL, 0, 7884 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7885 }; 7886 static const mso_CustomShape msoAccentBorderCallout2 = 7887 { 7888 (SvxMSDffVertPair*)mso_sptCallout2Vertb, sizeof( mso_sptCallout2Vertb ) / sizeof( SvxMSDffVertPair ), 7889 (sal_uInt16*)mso_sptCallout2Segm1c, sizeof( mso_sptCallout2Segm1c ) >> 1, 7890 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7891 (sal_Int32*)mso_sptCalloutDefault3, 7892 NULL, 0, 7893 21600, 21600, 7894 0x80000000, 0x80000000, 7895 NULL, 0, 7896 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle ) 7897 }; 7898 static const mso_CustomShape msoAccentBorderCallout3 = 7899 { 7900 (SvxMSDffVertPair*)mso_sptCallout3Vertb, sizeof( mso_sptCallout3Vertb ) / sizeof( SvxMSDffVertPair ), 7901 (sal_uInt16*)mso_sptCallout3Segm1c, sizeof( mso_sptCallout3Segm1c ) >> 1, 7902 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7903 (sal_Int32*)mso_sptCalloutDefault4, 7904 NULL, 0, 7905 21600, 21600, 7906 0x80000000, 0x80000000, 7907 NULL, 0, 7908 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle ) 7909 }; 7910 7911 static const SvxMSDffVertPair mso_sptStraightConnector1Vert[] = 7912 { 7913 { 0, 0 }, { 21600, 21600 } 7914 }; 7915 static const sal_uInt16 mso_sptStraightConnector1Segm[] = 7916 { 7917 0x4000, 0x0001, 0x8000 7918 }; 7919 static const mso_CustomShape msoStraightConnector1 = 7920 { 7921 (SvxMSDffVertPair*)mso_sptStraightConnector1Vert, sizeof( mso_sptStraightConnector1Vert ) / sizeof( SvxMSDffVertPair ), 7922 (sal_uInt16*)mso_sptStraightConnector1Segm, sizeof( mso_sptStraightConnector1Segm ) >> 1, 7923 (SvxMSDffCalculationData*)NULL, 0, 7924 (sal_Int32*)NULL, 7925 NULL, 0, 7926 21600, 21600, 7927 0x80000000, 0x80000000, 7928 NULL, 0, 7929 (SvxMSDffHandle*)NULL, 0 7930 }; 7931 7932 static const SvxMSDffVertPair mso_sptBentConnector2Vert[] = 7933 { 7934 { 0, 0 }, { 21600, 0 }, { 21600, 21600 } 7935 }; 7936 static const sal_uInt16 mso_sptBentConnector2Segm[] = 7937 { 7938 0x4000, 0x0002, 0x8000 7939 }; 7940 static const mso_CustomShape msoBentConnector2 = 7941 { 7942 (SvxMSDffVertPair*)mso_sptBentConnector2Vert, sizeof( mso_sptBentConnector2Vert ) / sizeof( SvxMSDffVertPair ), 7943 (sal_uInt16*)mso_sptBentConnector2Segm, sizeof( mso_sptBentConnector2Segm ) >> 1, 7944 (SvxMSDffCalculationData*)NULL, 0, 7945 (sal_Int32*)NULL, 7946 NULL, 0, 7947 21600, 21600, 7948 0x80000000, 0x80000000, 7949 NULL, 0, 7950 (SvxMSDffHandle*)NULL, 0 7951 }; 7952 7953 static const SvxMSDffVertPair mso_sptBentConnector3Vert[] = 7954 { 7955 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 21600 }, { 21600, 21600 } 7956 }; 7957 static const sal_uInt16 mso_sptBentConnector3Segm[] = 7958 { 7959 0x4000, 0x0003, 0x8000 7960 }; 7961 static const SvxMSDffCalculationData mso_sptBentConnector3Calc[] = 7962 { 7963 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } } 7964 }; 7965 static const sal_Int32 mso_sptBentConnector3Default[] = 7966 { 7967 1, 10800 7968 }; 7969 static const SvxMSDffHandle mso_sptBentConnector3Handle[] = 7970 { 7971 { MSDFF_HANDLE_FLAGS_RANGE, 7972 0x100, 10800, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff } 7973 }; 7974 static const mso_CustomShape msoBentConnector3 = 7975 { 7976 (SvxMSDffVertPair*)mso_sptBentConnector3Vert, sizeof( mso_sptBentConnector3Vert ) / sizeof( SvxMSDffVertPair ), 7977 (sal_uInt16*)mso_sptBentConnector3Segm, sizeof( mso_sptBentConnector3Segm ) >> 1, 7978 (SvxMSDffCalculationData*)mso_sptBentConnector3Calc, sizeof( mso_sptBentConnector3Calc ) / sizeof( SvxMSDffCalculationData ), 7979 (sal_Int32*)mso_sptBentConnector3Default, 7980 NULL, 0, 7981 21600, 21600, 7982 0x80000000, 0x80000000, 7983 NULL, 0, 7984 (SvxMSDffHandle*)mso_sptBentConnector3Handle, sizeof( mso_sptBentConnector3Handle ) / sizeof( SvxMSDffHandle ) 7985 }; 7986 7987 static const SvxMSDffVertPair mso_sptBentConnector4Vert[] = 7988 { 7989 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 21600, 1 MSO_I }, { 21600, 21600 } 7990 }; 7991 static const sal_uInt16 mso_sptBentConnector4Segm[] = 7992 { 7993 0x4000, 0x0004, 0x8000 7994 }; 7995 static const SvxMSDffCalculationData mso_sptBentConnector4Calc[] = 7996 { 7997 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 7998 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, 7999 { 0x2000, { 0x400, 21600, 0 } }, 8000 { 0x2001, { 0x402, 1, 2 } }, 8001 { 0x2001, { 0x401, 1, 2 } } 8002 }; 8003 static const sal_Int32 mso_sptBentConnector4Default[] = 8004 { 8005 2, 10800, 10800 8006 }; 8007 static const SvxMSDffHandle mso_sptBentConnector4Handle[] = 8008 { 8009 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 8010 0x100, 4 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 4 + 3, 4 + 3 }, 8011 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL, 8012 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff } 8013 }; 8014 static const mso_CustomShape msoBentConnector4 = 8015 { 8016 (SvxMSDffVertPair*)mso_sptBentConnector4Vert, sizeof( mso_sptBentConnector4Vert ) / sizeof( SvxMSDffVertPair ), 8017 (sal_uInt16*)mso_sptBentConnector4Segm, sizeof( mso_sptBentConnector4Segm ) >> 1, 8018 (SvxMSDffCalculationData*)mso_sptBentConnector4Calc, sizeof( mso_sptBentConnector4Calc ) / sizeof( SvxMSDffCalculationData ), 8019 (sal_Int32*)mso_sptBentConnector4Default, 8020 NULL, 0, 8021 21600, 21600, 8022 0x80000000, 0x80000000, 8023 NULL, 0, 8024 (SvxMSDffHandle*)mso_sptBentConnector4Handle, sizeof( mso_sptBentConnector4Handle ) / sizeof( SvxMSDffHandle ) 8025 }; 8026 8027 static const SvxMSDffVertPair mso_sptBentConnector5Vert[] = 8028 { 8029 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 4 MSO_I }, { 1 MSO_I, 4 MSO_I }, { 1 MSO_I, 21600 }, { 21600, 21600 } 8030 }; 8031 static const sal_uInt16 mso_sptBentConnector5Segm[] = 8032 { 8033 0x4000, 0x0005, 0x8000 8034 }; 8035 static const SvxMSDffCalculationData mso_sptBentConnector5Calc[] = 8036 { 8037 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 8038 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, 8039 { 0x6000, { 0x400, 0x401, 0 } }, 8040 { 0x2001, { 0x402, 1, 2 } }, 8041 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, 8042 { 0x2001, { 0x404, 1, 2 } }, 8043 { 0x4000, { 21600, 0x404, 0 } }, 8044 { 0x2001, { 0x406, 1, 2 } } 8045 }; 8046 static const sal_Int32 mso_sptBentConnector5Default[] = 8047 { 8048 3, 10800, 10800, 10800 8049 }; 8050 static const SvxMSDffHandle mso_sptBentConnector5Handle[] = 8051 { 8052 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 8053 0x100, 5 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 5 + 3, 5 + 3 }, 8054 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL, 8055 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff }, 8056 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 8057 0x102, 7 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 7 + 3, 7 + 3 } 8058 }; 8059 static const mso_CustomShape msoBentConnector5 = 8060 { 8061 (SvxMSDffVertPair*)mso_sptBentConnector5Vert, sizeof( mso_sptBentConnector5Vert ) / sizeof( SvxMSDffVertPair ), 8062 (sal_uInt16*)mso_sptBentConnector5Segm, sizeof( mso_sptBentConnector5Segm ) >> 1, 8063 (SvxMSDffCalculationData*)mso_sptBentConnector5Calc, sizeof( mso_sptBentConnector5Calc ) / sizeof( SvxMSDffCalculationData ), 8064 (sal_Int32*)mso_sptBentConnector5Default, 8065 NULL, 0, 8066 21600, 21600, 8067 0x80000000, 0x80000000, 8068 NULL, 0, 8069 (SvxMSDffHandle*)mso_sptBentConnector5Handle, sizeof( mso_sptBentConnector5Handle ) / sizeof( SvxMSDffHandle ) 8070 }; 8071 8072 static const SvxMSDffVertPair mso_sptCurvedConnector2Vert[] = 8073 { 8074 { 0, 0 }, { 10800, 0 }, { 21600, 10800 }, { 21600, 21600 } 8075 }; 8076 static const sal_uInt16 mso_sptCurvedConnector2Segm[] = 8077 { 8078 0x4000, 0x2001, 0x8000 8079 }; 8080 static const mso_CustomShape msoCurvedConnector2 = 8081 { 8082 (SvxMSDffVertPair*)mso_sptCurvedConnector2Vert, sizeof( mso_sptCurvedConnector2Vert ) / sizeof( SvxMSDffVertPair ), 8083 (sal_uInt16*)mso_sptCurvedConnector2Segm, sizeof( mso_sptCurvedConnector2Segm ) >> 1, 8084 (SvxMSDffCalculationData*)NULL, 0, 8085 (sal_Int32*)NULL, 8086 NULL, 0, 8087 21600, 21600, 8088 0x80000000, 0x80000000, 8089 NULL, 0, 8090 (SvxMSDffHandle*)NULL, 0 8091 }; 8092 8093 static const SvxMSDffVertPair mso_sptCurvedConnector3Vert[] = 8094 { 8095 { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 5400 }, { 0 MSO_I, 10800 }, { 0 MSO_I, 16200 }, { 3 MSO_I, 21600 }, { 21600, 21600 } 8096 }; 8097 static const sal_uInt16 mso_sptCurvedConnector3Segm[] = 8098 { 8099 0x4000, 0x2002, 0x8000 8100 }; 8101 static const SvxMSDffCalculationData mso_sptCurvedConnector3Calc[] = 8102 { 8103 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 8104 { 0x2001, { 0x400, 1, 2 } }, 8105 { 0x2000, { 0x400, 21600, 0 } }, 8106 { 0x2001, { 0x402, 1, 2 } } 8107 }; 8108 static const sal_Int32 mso_sptCurvedConnector3Default[] = 8109 { 8110 1, 10800 8111 }; 8112 static const SvxMSDffHandle mso_sptCurvedConnector3Handle[] = 8113 { 8114 { MSDFF_HANDLE_FLAGS_RANGE, 8115 0x100, 10800, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff } 8116 }; 8117 static const mso_CustomShape msoCurvedConnector3 = 8118 { 8119 (SvxMSDffVertPair*)mso_sptCurvedConnector3Vert, sizeof( mso_sptCurvedConnector3Vert ) / sizeof( SvxMSDffVertPair ), 8120 (sal_uInt16*)mso_sptCurvedConnector3Segm, sizeof( mso_sptCurvedConnector3Segm ) >> 1, 8121 (SvxMSDffCalculationData*)mso_sptCurvedConnector3Calc, sizeof( mso_sptCurvedConnector3Calc ) / sizeof( SvxMSDffCalculationData ), 8122 (sal_Int32*)mso_sptCurvedConnector3Default, 8123 NULL, 0, 8124 21600, 21600, 8125 0x80000000, 0x80000000, 8126 NULL, 0, 8127 (SvxMSDffHandle*)mso_sptCurvedConnector3Handle, sizeof( mso_sptCurvedConnector3Handle ) / sizeof( SvxMSDffHandle ) 8128 }; 8129 8130 static const SvxMSDffVertPair mso_sptCurvedConnector4Vert[] = 8131 { 8132 { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 10 MSO_I }, { 0 MSO_I, 9 MSO_I }, 8133 { 0 MSO_I, 12 MSO_I }, { 5 MSO_I, 8 MSO_I }, { 3 MSO_I, 8 MSO_I }, 8134 { 7 MSO_I, 8 MSO_I }, { 21600, 14 MSO_I }, { 21600, 21600 } 8135 8136 }; 8137 static const sal_uInt16 mso_sptCurvedConnector4Segm[] = 8138 { 8139 0x4000, 0x2003, 0x8000 8140 }; 8141 static const SvxMSDffCalculationData mso_sptCurvedConnector4Calc[] = 8142 { 8143 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 8144 { 0x2001, { 0x400, 1, 2 } }, 8145 { 0x4000, { 21600, 0x400, 0 } }, 8146 { 0x2001, { 0x402, 1, 2 } }, 8147 { 0x6000, { 0x400, 0x403, 0 } }, 8148 { 0x2001, { 0x404, 1, 2 } }, 8149 { 0x2000, { 0x403, 21600, 0 } }, 8150 { 0x2001, { 0x406, 1, 2 } }, 8151 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, 8152 { 0x2001, { DFF_Prop_adjust2Value, 1, 2 } }, 8153 { 0x2001, { DFF_Prop_adjust2Value, 1, 4 } }, 8154 { 0x6000, { 0x408, 0x409, 0 } }, 8155 { 0x2001, { 0x40b, 1, 2 } }, 8156 { 0x2000, { 0x408, 21600, 0 } }, 8157 { 0x2001, { 0x40d, 1, 2 } } 8158 }; 8159 static const sal_Int32 mso_sptCurvedConnector4Default[] = 8160 { 8161 2, 10800, 10800 8162 }; 8163 static const SvxMSDffHandle mso_sptCurvedConnector4Handle[] = 8164 { 8165 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 8166 0x100, 9 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 9 + 3, 9 + 3 }, 8167 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL, 8168 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff } 8169 }; 8170 static const mso_CustomShape msoCurvedConnector4 = 8171 { 8172 (SvxMSDffVertPair*)mso_sptCurvedConnector4Vert, sizeof( mso_sptCurvedConnector4Vert ) / sizeof( SvxMSDffVertPair ), 8173 (sal_uInt16*)mso_sptCurvedConnector4Segm, sizeof( mso_sptCurvedConnector4Segm ) >> 1, 8174 (SvxMSDffCalculationData*)mso_sptCurvedConnector4Calc, sizeof( mso_sptCurvedConnector4Calc ) / sizeof( SvxMSDffCalculationData ), 8175 (sal_Int32*)mso_sptCurvedConnector4Default, 8176 NULL, 0, 8177 21600, 21600, 8178 0x80000000, 0x80000000, 8179 NULL, 0, 8180 (SvxMSDffHandle*)mso_sptCurvedConnector4Handle, sizeof( mso_sptCurvedConnector4Handle ) / sizeof( SvxMSDffHandle ) 8181 }; 8182 8183 static const SvxMSDffVertPair mso_sptCurvedConnector5Vert[] = 8184 { 8185 { 0, 0 }, 8186 { 21 MSO_I, 0 }, { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I }, 8187 { 0 MSO_I, 14 MSO_I }, { 6 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I }, 8188 { 8 MSO_I, 4 MSO_I }, { 1 MSO_I, 18 MSO_I }, { 1 MSO_I, 16 MSO_I }, 8189 { 1 MSO_I, 20 MSO_I }, { 10 MSO_I, 21600 }, { 21600, 21600 } 8190 }; 8191 static const sal_uInt16 mso_sptCurvedConnector5Segm[] = 8192 { 8193 0x4000, 0x2004, 0x8000 8194 }; 8195 static const SvxMSDffCalculationData mso_sptCurvedConnector5Calc[] = 8196 { 8197 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 8198 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, 8199 { 0x6000, { 0x400, 0x401, 0 } }, 8200 { 0x2001, { 0x402, 1, 2 } }, 8201 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, 8202 { 0x6000, { 0x400, 0x403, 0 } }, 8203 { 0x2001, { 0x405, 1, 2 } }, 8204 { 0x6000, { 0x401, 0x403, 0 } }, 8205 { 0x2001, { 0x407, 1, 2 } }, 8206 { 0x2000, { 0x401, 21600, 0 } }, 8207 { 0x2001, { 0x409, 1, 2 } }, 8208 { 0x2001, { 0x404, 1, 2 } }, 8209 { 0x2001, { 0x40b, 1, 2 } }, 8210 { 0x6000, { 0x404, 0x40b, 0 } }, 8211 { 0x2001, { 0x40d, 1, 2 } }, 8212 { 0x2000, { 0x404, 21600, 0 } }, 8213 { 0x2001, { 0x40f, 1, 2 } }, 8214 { 0x6000, { 0x404, 0x410, 0 } }, 8215 { 0x2001, { 0x411, 1, 2 } }, 8216 { 0x2000, { 0x410, 21600, 0 } }, 8217 { 0x2001, { 0x413, 1, 2 } }, 8218 { 0x2001, { 0x400, 1, 2 } } 8219 }; 8220 static const sal_Int32 mso_sptCurvedConnector5Default[] = 8221 { 8222 3, 10800, 10800, 10800 8223 }; 8224 static const SvxMSDffHandle mso_sptCurvedConnector5Handle[] = 8225 { 8226 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 8227 0x100, 11 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 11 + 3, 11 + 3 }, 8228 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL, 8229 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff }, 8230 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 8231 0x102, 16 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 16 + 3, 16 + 3 } 8232 }; 8233 static const mso_CustomShape msoCurvedConnector5 = 8234 { 8235 (SvxMSDffVertPair*)mso_sptCurvedConnector5Vert, sizeof( mso_sptCurvedConnector5Vert ) / sizeof( SvxMSDffVertPair ), 8236 (sal_uInt16*)mso_sptCurvedConnector5Segm, sizeof( mso_sptCurvedConnector5Segm ) >> 1, 8237 (SvxMSDffCalculationData*)mso_sptCurvedConnector5Calc, sizeof( mso_sptCurvedConnector5Calc ) / sizeof( SvxMSDffCalculationData ), 8238 (sal_Int32*)mso_sptCurvedConnector5Default, 8239 NULL, 0, 8240 21600, 21600, 8241 0x80000000, 0x80000000, 8242 NULL, 0, 8243 (SvxMSDffHandle*)mso_sptCurvedConnector5Handle, sizeof( mso_sptCurvedConnector5Handle ) / sizeof( SvxMSDffHandle ) 8244 }; 8245 8246 const mso_CustomShape* GetCustomShapeContent( MSO_SPT eSpType ) 8247 { 8248 const mso_CustomShape* pCustomShape = NULL; 8249 switch( eSpType ) 8250 { 8251 case mso_sptArc : pCustomShape = &msoArc; break; 8252 case mso_sptRectangle : pCustomShape = &msoRectangle; break; 8253 case mso_sptParallelogram : pCustomShape = &msoParallelogram; break; 8254 case mso_sptTrapezoid : pCustomShape = &msoTrapezoid; break; 8255 case mso_sptDiamond : pCustomShape = &msoDiamond; break; 8256 case mso_sptRoundRectangle : pCustomShape = &msoRoundRectangle; break; 8257 case mso_sptOctagon : pCustomShape = &msoOctagon; break; 8258 case mso_sptIsocelesTriangle : pCustomShape = &msoIsocelesTriangle; break; 8259 case mso_sptRightTriangle : pCustomShape = &msoRightTriangle; break; 8260 case mso_sptEllipse : pCustomShape = &msoEllipse; break; 8261 case mso_sptHexagon : pCustomShape = &msoHexagon; break; 8262 case mso_sptPlus : pCustomShape = &msoPlus; break; 8263 case mso_sptPentagon : pCustomShape = &msoPentagon; break; 8264 case mso_sptCan : pCustomShape = &msoCan; break; 8265 case mso_sptCube : pCustomShape = &msoCube; break; 8266 case mso_sptBalloon : pCustomShape = &msoBalloon; break; 8267 case mso_sptActionButtonBlank : pCustomShape = &msoActionButtonBlank; break; 8268 case mso_sptActionButtonHome : pCustomShape = &msoActionButtonHome; break; 8269 case mso_sptActionButtonHelp : pCustomShape = &msoActionButtonHelp; break; 8270 case mso_sptActionButtonInformation : pCustomShape = &msoActionButtonInformation; break; 8271 case mso_sptActionButtonBackPrevious : pCustomShape = &msoActionButtonBackPrevious; break; 8272 case mso_sptActionButtonForwardNext : pCustomShape = &msoActionButtonForwardNext; break; 8273 case mso_sptActionButtonBeginning : pCustomShape = &msoActionButtonBeginning; break; 8274 case mso_sptActionButtonEnd : pCustomShape = &msoActionButtonEnd; break; 8275 case mso_sptActionButtonReturn : pCustomShape = &msoActionButtonReturn; break; 8276 case mso_sptActionButtonDocument : pCustomShape = &msoActionButtonDocument; break; 8277 case mso_sptActionButtonSound : pCustomShape = &msoActionButtonSound; break; 8278 case mso_sptActionButtonMovie : pCustomShape = &msoActionButtonMovie; break; 8279 case mso_sptBevel : pCustomShape = &msoBevel; break; 8280 case mso_sptFoldedCorner : pCustomShape = &msoFoldedCorner; break; 8281 case mso_sptSmileyFace : pCustomShape = &msoSmileyFace; break; 8282 case mso_sptDonut : pCustomShape = &msoDonut; break; 8283 case mso_sptNoSmoking : pCustomShape = &msoNoSmoking; break; 8284 case mso_sptBlockArc : pCustomShape = &msoBlockArc; break; 8285 case mso_sptHeart : pCustomShape = &msoHeart; break; 8286 case mso_sptLightningBolt : pCustomShape = &msoLightningBold; break; 8287 case mso_sptSun : pCustomShape = &msoSun; break; 8288 case mso_sptMoon : pCustomShape = &msoMoon; break; 8289 case mso_sptBracketPair : pCustomShape = &msoBracketPair; break; 8290 case mso_sptBracePair : pCustomShape = &msoBracePair; break; 8291 case mso_sptPlaque : pCustomShape = &msoPlaque; break; 8292 case mso_sptLeftBracket : pCustomShape = &msoLeftBracket; break; 8293 case mso_sptRightBracket : pCustomShape = &msoRightBracket; break; 8294 case mso_sptLeftBrace : pCustomShape = &msoLeftBrace; break; 8295 case mso_sptRightBrace : pCustomShape = &msoRightBrace; break; 8296 case mso_sptArrow : pCustomShape = &msoArrow; break; 8297 case mso_sptUpArrow : pCustomShape = &msoUpArrow; break; 8298 case mso_sptDownArrow : pCustomShape = &msoDownArrow; break; 8299 case mso_sptLeftArrow : pCustomShape = &msoLeftArrow; break; 8300 case mso_sptLeftRightArrow : pCustomShape = &msoLeftRightArrow; break; 8301 case mso_sptUpDownArrow : pCustomShape = &msoUpDownArrow; break; 8302 case mso_sptQuadArrow : pCustomShape = &msoQuadArrow; break; 8303 case mso_sptLeftRightUpArrow : pCustomShape = &msoLeftRightUpArrow; break; 8304 case mso_sptBentArrow : pCustomShape = &msoBentArrow; break; 8305 case mso_sptUturnArrow : pCustomShape = &msoUturnArrow; break; 8306 case mso_sptLeftUpArrow : pCustomShape = &msoLeftUpArrow; break; 8307 case mso_sptBentUpArrow : pCustomShape = &msoBentUpArrow; break; 8308 case mso_sptCurvedRightArrow : pCustomShape = &msoCurvedRightArrow; break; 8309 case mso_sptCurvedLeftArrow : pCustomShape = &msoCurvedLeftArrow; break; 8310 case mso_sptCurvedUpArrow : pCustomShape = &msoCurvedUpArrow; break; 8311 case mso_sptCurvedDownArrow : pCustomShape = &msoCurvedDownArrow; break; 8312 case mso_sptStripedRightArrow : pCustomShape = &msoStripedRightArrow; break; 8313 case mso_sptNotchedRightArrow : pCustomShape = &msoNotchedRightArrow; break; 8314 case mso_sptHomePlate : pCustomShape = &msoHomePlate; break; 8315 case mso_sptChevron : pCustomShape = &msoChevron; break; 8316 case mso_sptRightArrowCallout : pCustomShape = &msoRightArrowCallout; break; 8317 case mso_sptLeftArrowCallout : pCustomShape = &msoLeftArrowCallout; break; 8318 case mso_sptUpArrowCallout : pCustomShape = &msoUpArrowCallout; break; 8319 case mso_sptDownArrowCallout : pCustomShape = &msoDownArrowCallout; break; 8320 case mso_sptLeftRightArrowCallout : pCustomShape = &msoLeftRightArrowCallout; break; 8321 case mso_sptUpDownArrowCallout : pCustomShape = &msoUpDownArrowCallout; break; 8322 case mso_sptQuadArrowCallout : pCustomShape = &msoQuadArrowCallout; break; 8323 case mso_sptCircularArrow : pCustomShape = &msoCircularArrow; break; 8324 case mso_sptIrregularSeal1 : pCustomShape = &msoIrregularSeal1; break; 8325 case mso_sptIrregularSeal2 : pCustomShape = &msoIrregularSeal2; break; 8326 case mso_sptSeal4 : pCustomShape = &msoSeal4; break; 8327 case mso_sptStar : pCustomShape = &msoStar; break; 8328 case mso_sptSeal8 : pCustomShape = &msoSeal8; break; 8329 case mso_sptSeal : 8330 case mso_sptSeal16 : pCustomShape = &msoSeal16; break; 8331 case mso_sptSeal24 : pCustomShape = &msoSeal24; break; 8332 case mso_sptSeal32 : pCustomShape = &msoSeal32; break; 8333 case mso_sptRibbon2 : pCustomShape = &msoRibbon2; break; 8334 case mso_sptRibbon : pCustomShape = &msoRibbon; break; 8335 case mso_sptEllipseRibbon2 : pCustomShape = &msosptEllipseRibbon2; break; // SJ: TODO 8336 case mso_sptEllipseRibbon : pCustomShape = &msosptEllipseRibbon; break; // SJ: TODO 8337 case mso_sptVerticalScroll : pCustomShape = &msoVerticalScroll; break; 8338 case mso_sptHorizontalScroll : pCustomShape = &msoHorizontalScroll; break; 8339 case mso_sptFlowChartProcess : pCustomShape = &msoFlowChartProcess; break; 8340 case mso_sptFlowChartAlternateProcess : pCustomShape = &msoFlowChartAlternateProcess; break; 8341 case mso_sptFlowChartDecision : pCustomShape = &msoFlowChartDecision; break; 8342 case mso_sptFlowChartInputOutput : pCustomShape = &msoFlowChartInputOutput; break; 8343 case mso_sptFlowChartPredefinedProcess :pCustomShape = &msoFlowChartPredefinedProcess; break; 8344 case mso_sptFlowChartInternalStorage : pCustomShape = &msoFlowChartInternalStorage; break; 8345 case mso_sptFlowChartDocument : pCustomShape = &msoFlowChartDocument; break; 8346 case mso_sptFlowChartMultidocument : pCustomShape = &msoFlowChartMultidocument; break; 8347 case mso_sptFlowChartTerminator : pCustomShape = &msoFlowChartTerminator; break; 8348 case mso_sptFlowChartPreparation : pCustomShape = &msoFlowChartPreparation; break; 8349 case mso_sptFlowChartManualInput : pCustomShape = &msoFlowChartManualInput; break; 8350 case mso_sptFlowChartManualOperation : pCustomShape = &msoFlowChartManualOperation; break; 8351 case mso_sptFlowChartConnector : pCustomShape = &msoFlowChartConnector; break; 8352 case mso_sptFlowChartOffpageConnector : pCustomShape = &msoFlowChartOffpageConnector; break; 8353 case mso_sptFlowChartPunchedCard : pCustomShape = &msoFlowChartPunchedCard; break; 8354 case mso_sptFlowChartPunchedTape : pCustomShape = &msoFlowChartPunchedTape; break; 8355 case mso_sptFlowChartSummingJunction : pCustomShape = &msoFlowChartSummingJunction; break; 8356 case mso_sptFlowChartOr : pCustomShape = &msoFlowChartOr; break; 8357 case mso_sptFlowChartCollate : pCustomShape = &msoFlowChartCollate; break; 8358 case mso_sptFlowChartSort : pCustomShape = &msoFlowChartSort; break; 8359 case mso_sptFlowChartExtract : pCustomShape = &msoFlowChartExtract; break; 8360 case mso_sptFlowChartMerge : pCustomShape = &msoFlowChartMerge; break; 8361 case mso_sptFlowChartOnlineStorage : pCustomShape = &msoFlowChartOnlineStorage; break; 8362 case mso_sptFlowChartDelay : pCustomShape = &msoFlowChartDelay; break; 8363 case mso_sptFlowChartMagneticTape : pCustomShape = &msoFlowChartMagneticTape; break; 8364 case mso_sptFlowChartMagneticDisk : pCustomShape = &msoFlowChartMagneticDisk; break; 8365 case mso_sptFlowChartMagneticDrum : pCustomShape = &msoFlowChartMagneticDrum; break; 8366 case mso_sptFlowChartDisplay : pCustomShape = &msoFlowChartDisplay; break; 8367 case mso_sptWedgeRectCallout : pCustomShape = &msoWedgeRectCallout; break; 8368 case mso_sptWedgeRRectCallout : pCustomShape = &msoWedgeRRectCallout; break; 8369 case mso_sptWedgeEllipseCallout : pCustomShape = &msoWedgeEllipseCallout; break; 8370 case mso_sptCloudCallout : pCustomShape = &msoCloudCallout; break; 8371 case mso_sptWave : pCustomShape = &msoWave; break; 8372 case mso_sptDoubleWave : pCustomShape = &msoDoubleWave; break; 8373 8374 // callout 8375 case mso_sptCallout1 : pCustomShape = &msoCallout1; break; 8376 case mso_sptCallout2 : pCustomShape = &msoCallout2; break; 8377 case mso_sptCallout3 : pCustomShape = &msoCallout3; break; 8378 case mso_sptAccentCallout1 : pCustomShape = &msoAccentCallout1; break; 8379 case mso_sptAccentCallout2 : pCustomShape = &msoAccentCallout2; break; 8380 case mso_sptAccentCallout3 : pCustomShape = &msoAccentCallout3; break; 8381 case mso_sptBorderCallout1 : pCustomShape = &msoBorderCallout1; break; 8382 case mso_sptBorderCallout2 : pCustomShape = &msoBorderCallout2; break; 8383 case mso_sptBorderCallout3 : pCustomShape = &msoBorderCallout3; break; 8384 case mso_sptAccentBorderCallout1 : pCustomShape = &msoAccentBorderCallout1; break; 8385 case mso_sptAccentBorderCallout2 : pCustomShape = &msoAccentBorderCallout2; break; 8386 case mso_sptAccentBorderCallout3 : pCustomShape = &msoAccentBorderCallout3; break; 8387 case mso_sptCallout90 : pCustomShape = &msoCallout90; break; 8388 case mso_sptAccentCallout90 : pCustomShape = &msoAccentCallout90; break; 8389 case mso_sptBorderCallout90 : pCustomShape = &msoBorderCallout90; break; 8390 case mso_sptAccentBorderCallout90 : pCustomShape = &msoAccentBorderCallout90; break; 8391 8392 // connectors 8393 case mso_sptStraightConnector1 : pCustomShape = &msoStraightConnector1; break; 8394 case mso_sptBentConnector2 : pCustomShape = &msoBentConnector2; break; 8395 case mso_sptBentConnector3 : pCustomShape = &msoBentConnector3; break; 8396 case mso_sptBentConnector4 : pCustomShape = &msoBentConnector4; break; 8397 case mso_sptBentConnector5 : pCustomShape = &msoBentConnector5; break; 8398 case mso_sptCurvedConnector2 : pCustomShape = &msoCurvedConnector2; break; 8399 case mso_sptCurvedConnector3 : pCustomShape = &msoCurvedConnector3; break; 8400 case mso_sptCurvedConnector4 : pCustomShape = &msoCurvedConnector4; break; 8401 case mso_sptCurvedConnector5 : pCustomShape = &msoCurvedConnector5; break; 8402 8403 // Dont know, simply mapping to TextSimple 8404 case mso_sptTextOnRing : 8405 case mso_sptTextOnCurve : 8406 case mso_sptTextRing : 8407 case mso_sptTextWave : 8408 case mso_sptTextCurve : 8409 case mso_sptTextHexagon : 8410 case mso_sptTextOctagon : 8411 case mso_sptTextBox : pCustomShape = &msoTextSimple; break; 8412 8413 // FontWork 8414 case mso_sptTextSimple : 8415 case mso_sptTextPlainText : pCustomShape = &msoTextPlainText; break; 8416 case mso_sptTextStop : pCustomShape = &msoTextStop; break; 8417 case mso_sptTextTriangle : pCustomShape = &msoTextTriangle; break; 8418 case mso_sptTextTriangleInverted : pCustomShape = &msoTextTriangleInverted; break; 8419 case mso_sptTextChevron : pCustomShape = &msoTextChevron; break; 8420 case mso_sptTextChevronInverted : pCustomShape = &msoTextChevronInverted; break; 8421 case mso_sptTextRingInside : pCustomShape = &msoTextRingOutside; break; // SJ: TODO->the orientation of the ellipse needs to be changed 8422 case mso_sptTextRingOutside : pCustomShape = &msoTextRingOutside; break; 8423 case mso_sptTextFadeRight : pCustomShape = &msoTextFadeRight; break; 8424 case mso_sptTextFadeLeft : pCustomShape = &msoTextFadeLeft; break; 8425 case mso_sptTextFadeUp : pCustomShape = &msoTextFadeUp; break; 8426 case mso_sptTextFadeDown : pCustomShape = &msoTextFadeDown; break; 8427 case mso_sptTextSlantUp : pCustomShape = &msoTextSlantUp; break; 8428 case mso_sptTextSlantDown : pCustomShape = &msoTextSlantDown; break; 8429 case mso_sptTextCascadeUp : pCustomShape = &msoTextCascadeUp; break; 8430 case mso_sptTextCascadeDown : pCustomShape = &msoTextCascadeDown; break; 8431 case mso_sptTextArchUpCurve : pCustomShape = &msoTextArchUpCurve; break; 8432 case mso_sptTextArchDownCurve : pCustomShape = &msoTextArchDownCurve; break; 8433 case mso_sptTextCircleCurve : pCustomShape = &msoTextCircleCurve; break; 8434 case mso_sptTextButtonCurve : pCustomShape = &msoTextButtonCurve; break; 8435 case mso_sptTextArchUpPour : pCustomShape = &msoTextArchUpPour; break; 8436 case mso_sptTextArchDownPour : pCustomShape = &msoTextArchDownPour; break; 8437 case mso_sptTextCirclePour : pCustomShape = &msoTextCirclePour; break; 8438 case mso_sptTextButtonPour : pCustomShape = &msoTextButtonPour; break; 8439 case mso_sptTextCurveUp : pCustomShape = &msoTextCurveUp; break; 8440 case mso_sptTextCurveDown : pCustomShape = &msoTextCurveDown; break; 8441 case mso_sptTextCanUp : pCustomShape = &msoTextCanUp; break; 8442 case mso_sptTextCanDown : pCustomShape = &msoTextCanDown; break; 8443 case mso_sptTextInflate : pCustomShape = &msoTextInflate; break; 8444 case mso_sptTextDeflate : pCustomShape = &msoTextDeflate; break; 8445 case mso_sptTextInflateBottom : pCustomShape = &msoTextInflateBottom; break; 8446 case mso_sptTextDeflateBottom : pCustomShape = &msoTextDeflateBottom; break; 8447 case mso_sptTextInflateTop : pCustomShape = &msoTextInflateTop; break; 8448 case mso_sptTextDeflateTop : pCustomShape = &msoTextDeflateTop; break; 8449 case mso_sptTextDeflateInflate : pCustomShape = &msoTextDeflateInflate; break; 8450 case mso_sptTextDeflateInflateDeflate : pCustomShape = &msoTextDeflateInflateDeflate; break; 8451 case mso_sptTextWave1 : pCustomShape = &msoTextWave1; break; 8452 case mso_sptTextWave2 : pCustomShape = &msoTextWave2; break; 8453 case mso_sptTextWave3 : pCustomShape = &msoTextWave3; break; 8454 case mso_sptTextWave4 : pCustomShape = &msoTextWave4; break; 8455 default : 8456 break; 8457 } 8458 return pCustomShape; 8459 } 8460