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 4511 static const SvxMSDffVertPair mso_sptVerticalScrollVert[] = // adjustment1 : 0 - 5400 4512 { 4513 { 1 MSO_I, 21600 }, { 0, 11 MSO_I }, { 1 MSO_I, 12 MSO_I }, { 0 MSO_I, 12 MSO_I }, 4514 { 0 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 }, { 2 MSO_I, 0 }, { 21600, 1 MSO_I }, 4515 { 2 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 11 MSO_I }, { 5 MSO_I, 21600 }, 4516 4517 { 6 MSO_I, 1 MSO_I }, { 4 MSO_I, 0 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 4 MSO_I, 1 MSO_I }, 4518 4519 { 0 MSO_I, 11 MSO_I }, { 1 MSO_I, 21600 }, { 0, 11 MSO_I }, { 1 MSO_I, 12 MSO_I }, 4520 { 9 MSO_I, 10 MSO_I }, { 1 MSO_I, 11 MSO_I }, 4521 4522 { 4 MSO_I, 0 }, { 6 MSO_I, 1 MSO_I }, 4523 4524 { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I }, 4525 4526 { 4 MSO_I, 0 MSO_I }, 4527 { 2 MSO_I, 0 MSO_I } 4528 }; 4529 static const sal_uInt16 mso_sptVerticalScrollSegm[] = 4530 { 4531 0x4000, 0xa702, 0x0002, 0xa801, 0x0001, 0xa702, 0x0002, 0xa801, 0x6001, 0x8000, 4532 0x4000, 0xa801, 0xa702, 0x6000, 0x8000, 4533 0x4000, 0xa803, 0xa702, 0x6001, 0x8000, 4534 0x4000, 0xa701, 0x8000, 4535 0x4000, 0x0001, 0x8000, 4536 0x4000, 0x0001, 0x8000 4537 }; 4538 static const SvxMSDffCalculationData mso_sptScrollCalc[] = 4539 { 4540 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 4541 { 0x2001, { 0x400, 1, 2 } }, 4542 { 0xa000, { DFF_Prop_geoRight, 0, 0x401 } }, 4543 { 0xa000, { DFF_Prop_geoRight, 0, 0x400 } }, 4544 { 0x6000, { 0x400, 0x401, 0 } }, 4545 { 0xa000, { DFF_Prop_geoRight, 0, 0x404 } }, 4546 { 0x2001, { 0x400, 2, 1 } }, 4547 { 0x2001, { 0x401, 1, 2 } }, 4548 { 0x6000, { 0x400, 0x407, 0 } }, 4549 { 0x6000, { 0x401, 0x407, 0 } }, 4550 { 0xa000, { DFF_Prop_geoBottom, 0, 0x409 } }, 4551 { 0xa000, { DFF_Prop_geoBottom, 0, 0x401 } }, 4552 { 0xa000, { DFF_Prop_geoBottom, 0, 0x400 } }, 4553 { 0xa000, { DFF_Prop_geoBottom, 0, 0x404 } } 4554 }; 4555 static const SvxMSDffTextRectangles mso_sptScrollTextRect[] = 4556 { 4557 { { 0 MSO_I, 0 MSO_I }, { 3 MSO_I, 12 MSO_I } } 4558 }; 4559 static const SvxMSDffHandle mso_sptVerticalScrollHandle[] = 4560 { 4561 { MSDFF_HANDLE_FLAGS_RANGE, 4562 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 5400 } 4563 }; 4564 static const mso_CustomShape msoVerticalScroll = 4565 { 4566 (SvxMSDffVertPair*)mso_sptVerticalScrollVert, sizeof( mso_sptVerticalScrollVert ) / sizeof( SvxMSDffVertPair ), 4567 (sal_uInt16*)mso_sptVerticalScrollSegm, sizeof( mso_sptVerticalScrollSegm ) >> 1, 4568 (SvxMSDffCalculationData*)mso_sptScrollCalc, sizeof( mso_sptScrollCalc ) / sizeof( SvxMSDffCalculationData ), 4569 (sal_Int32*)mso_sptDefault2700, 4570 (SvxMSDffTextRectangles*)mso_sptScrollTextRect, sizeof( mso_sptScrollTextRect ) / sizeof( SvxMSDffTextRectangles ), 4571 21600, 21600, 4572 11000, 10800, 4573 NULL, 0, 4574 (SvxMSDffHandle*)mso_sptVerticalScrollHandle, sizeof( mso_sptVerticalScrollHandle ) / sizeof( SvxMSDffHandle ) 4575 }; 4576 static const SvxMSDffVertPair mso_sptHorizontalScrollVert[] = // adjustment1 : 0 - 5400 4577 { 4578 { 0, 4 MSO_I }, { 1 MSO_I, 0 MSO_I }, { 3 MSO_I, 0 MSO_I }, { 3 MSO_I, 1 MSO_I }, 4579 { 2 MSO_I, 0 }, { 21600, 1 MSO_I }, { 21600, 13 MSO_I }, { 2 MSO_I, 12 MSO_I }, 4580 { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I }, { 1 MSO_I, 21600 }, { 0, 11 MSO_I }, 4581 4582 { 1 MSO_I, 4 MSO_I }, { 9 MSO_I, 8 MSO_I }, { 0 MSO_I, 4 MSO_I }, { 1 MSO_I, 6 MSO_I }, 4583 4584 { 2 MSO_I, 1 MSO_I }, { 3 MSO_I, 9 MSO_I }, { 3 MSO_I, 1 MSO_I }, { 2 MSO_I, 0 }, 4585 { 21600, 1 MSO_I }, { 2 MSO_I, 0 MSO_I }, 4586 4587 { 1 MSO_I, 6 MSO_I }, 4588 { 0, 4 MSO_I }, 4589 4590 { 2 MSO_I, 0 MSO_I }, 4591 { 3 MSO_I, 0 MSO_I }, 4592 4593 { 0 MSO_I, 4 MSO_I }, 4594 { 0 MSO_I, 11 MSO_I } 4595 }; 4596 static const sal_uInt16 mso_sptHorizontalScrollSegm[] = 4597 { 4598 0x4000, 0xa801, 0x0002, 0xa802, 0x0001, 0xa801, 0x0002, 0xa802, 0x6001, 0x8000, 4599 0x4000, 0xa803, 0x6000, 0x8000, 4600 0x4000, 0xa803, 0xa702, 0x6000, 0x8000, 4601 0x4000, 0xa701, 0x8000, 4602 0x4000, 0x0001, 0x8000, 4603 0x4000, 0x0001, 0x8000 4604 }; 4605 static const SvxMSDffHandle mso_sptHorizontalScrollHandle[] = 4606 { 4607 { MSDFF_HANDLE_FLAGS_RANGE, 4608 0x100, 0, 10800, 10800, 0, 5400, 0x80000000, 0x7fffffff } 4609 }; 4610 static const mso_CustomShape msoHorizontalScroll = 4611 { 4612 (SvxMSDffVertPair*)mso_sptHorizontalScrollVert, sizeof( mso_sptHorizontalScrollVert ) / sizeof( SvxMSDffVertPair ), 4613 (sal_uInt16*)mso_sptHorizontalScrollSegm, sizeof( mso_sptHorizontalScrollSegm ) >> 1, 4614 (SvxMSDffCalculationData*)mso_sptScrollCalc, sizeof( mso_sptScrollCalc ) / sizeof( SvxMSDffCalculationData ), 4615 (sal_Int32*)mso_sptDefault2700, 4616 (SvxMSDffTextRectangles*)mso_sptScrollTextRect, sizeof( mso_sptScrollTextRect ) / sizeof( SvxMSDffTextRectangles ), 4617 21600, 21600, 4618 10800, 11000, 4619 NULL, 0, 4620 (SvxMSDffHandle*)mso_sptHorizontalScrollHandle, sizeof( mso_sptHorizontalScrollHandle ) / sizeof( SvxMSDffHandle ) 4621 }; 4622 4623 static const SvxMSDffVertPair mso_sptFlowChartProcessVert[] = 4624 { 4625 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 0 } 4626 }; 4627 static const mso_CustomShape msoFlowChartProcess = 4628 { 4629 (SvxMSDffVertPair*)mso_sptFlowChartProcessVert, sizeof( mso_sptFlowChartProcessVert ) / sizeof( SvxMSDffVertPair ), 4630 NULL, 0, 4631 NULL, 0, 4632 NULL, 4633 NULL, 0, 4634 21600, 21600, 4635 0x80000000, 0x80000000, 4636 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ), 4637 NULL, 0 // handles 4638 }; 4639 4640 static const SvxMSDffVertPair mso_sptFlowChartAlternateProcessVert[] = 4641 { 4642 { 0, 2 MSO_I }, { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 21600, 2 MSO_I }, 4643 { 21600, 3 MSO_I }, { 1 MSO_I, 21600 }, { 0 MSO_I, 21600 }, { 0, 3 MSO_I } 4644 }; 4645 static const sal_uInt16 mso_sptFlowChartAlternateProcessSegm[] = 4646 { 4647 0x4000, 0xa801, 0x0001, 0xa701, 0x0001, 0xa801, 0x0001, 0xa701, 0x6000, 0x8000 4648 }; 4649 static const SvxMSDffCalculationData mso_sptFlowChartAlternateProcessCalc[] = 4650 { 4651 { 0x2000, { DFF_Prop_geoLeft, 2540, 0 } }, 4652 { 0x2000, { DFF_Prop_geoRight, 0, 2540 } }, 4653 { 0x2000, { DFF_Prop_geoTop, 2540, 0 } }, 4654 { 0x2000, { DFF_Prop_geoBottom, 0, 2540 } }, 4655 { 0x2000, { DFF_Prop_geoLeft, 800, 0 } }, 4656 { 0x2000, { DFF_Prop_geoRight, 0, 800 } }, 4657 { 0x2000, { DFF_Prop_geoTop, 800, 0 } }, 4658 { 0x2000, { DFF_Prop_geoBottom,0, 800 } } 4659 }; 4660 static const SvxMSDffTextRectangles mso_sptFlowChartAlternateProcessTextRect[] = 4661 { 4662 { { 4 MSO_I, 6 MSO_I }, { 5 MSO_I, 7 MSO_I } } 4663 }; 4664 static const mso_CustomShape msoFlowChartAlternateProcess = 4665 { 4666 (SvxMSDffVertPair*)mso_sptFlowChartAlternateProcessVert, sizeof( mso_sptFlowChartAlternateProcessVert ) / sizeof( SvxMSDffVertPair ), 4667 (sal_uInt16*)mso_sptFlowChartAlternateProcessSegm, sizeof( mso_sptFlowChartAlternateProcessSegm ) >> 1, 4668 (SvxMSDffCalculationData*)mso_sptFlowChartAlternateProcessCalc, sizeof( mso_sptFlowChartAlternateProcessCalc ) / sizeof( SvxMSDffCalculationData ), 4669 NULL, 4670 (SvxMSDffTextRectangles*)mso_sptFlowChartAlternateProcessTextRect, sizeof( mso_sptFlowChartAlternateProcessTextRect ) / sizeof( SvxMSDffTextRectangles ), 4671 21600, 21600, 4672 0x80000000, 0x80000000, 4673 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ), 4674 NULL, 0 // handles 4675 }; 4676 4677 static const SvxMSDffVertPair mso_sptFlowChartDecisionVert[] = 4678 { 4679 { 0, 10800 }, { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 10800 } 4680 }; 4681 static const SvxMSDffTextRectangles mso_sptFlowChartDecisionTextRect[] = 4682 { 4683 { { 5400, 5400 }, { 16200, 16200 } } 4684 }; 4685 static const mso_CustomShape msoFlowChartDecision = 4686 { 4687 (SvxMSDffVertPair*)mso_sptFlowChartDecisionVert, sizeof( mso_sptFlowChartDecisionVert ) / sizeof( SvxMSDffVertPair ), 4688 NULL, 0, 4689 NULL, 0, 4690 NULL, 4691 (SvxMSDffTextRectangles*)mso_sptFlowChartDecisionTextRect, sizeof( mso_sptFlowChartDecisionTextRect ) / sizeof( SvxMSDffTextRectangles ), 4692 21600, 21600, 4693 0x80000000, 0x80000000, 4694 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ), 4695 NULL, 0 // handles 4696 }; 4697 4698 static const SvxMSDffVertPair mso_sptFlowChartInputOutputVert[] = 4699 { 4700 { 4230, 0 }, { 21600, 0 }, { 17370, 21600 }, { 0, 21600 }, { 4230, 0 } 4701 }; 4702 static const SvxMSDffTextRectangles mso_sptFlowChartInputOutputTextRect[] = 4703 { 4704 { { 4230, 0 }, { 17370, 21600 } } 4705 }; 4706 static const SvxMSDffVertPair mso_sptFlowChartInputOutputGluePoints[] = 4707 { 4708 { 12960, 0 }, { 10800, 0 }, { 2160, 10800 }, { 8600, 21600 }, { 10800, 21600 }, { 19400, 10800 } 4709 }; 4710 static const mso_CustomShape msoFlowChartInputOutput = 4711 { 4712 (SvxMSDffVertPair*)mso_sptFlowChartInputOutputVert, sizeof( mso_sptFlowChartInputOutputVert ) / sizeof( SvxMSDffVertPair ), 4713 NULL, 0, 4714 NULL, 0, 4715 NULL, 4716 (SvxMSDffTextRectangles*)mso_sptFlowChartInputOutputTextRect, sizeof( mso_sptFlowChartInputOutputTextRect ) / sizeof( SvxMSDffTextRectangles ), 4717 21600, 21600, 4718 0x80000000, 0x80000000, 4719 (SvxMSDffVertPair*)mso_sptFlowChartInputOutputGluePoints, sizeof( mso_sptFlowChartInputOutputGluePoints ) / sizeof( SvxMSDffVertPair ), 4720 NULL, 0 // handles 4721 }; 4722 4723 static const SvxMSDffVertPair mso_sptFlowChartPredefinedProcessVert[] = 4724 { 4725 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, 4726 4727 { 2540, 0 }, { 2540, 21600 }, 4728 4729 { 21600 - 2540, 0 }, { 21600 - 2540, 21600 } 4730 }; 4731 static const sal_uInt16 mso_sptFlowChartPredefinedProcessSegm[] = 4732 { 4733 0x4000, 0x0003, 0x6000, 0x8000, 4734 0x4000, 0x0001, 0x8000, 4735 0x4000, 0x0001, 0x8000 4736 }; 4737 static const SvxMSDffTextRectangles mso_sptFlowChartPredefinedProcessTextRect[] = 4738 { 4739 { { 2540, 0 }, { 21600 - 2540, 21600 } } 4740 }; 4741 static const mso_CustomShape msoFlowChartPredefinedProcess = 4742 { 4743 (SvxMSDffVertPair*)mso_sptFlowChartPredefinedProcessVert, sizeof( mso_sptFlowChartPredefinedProcessVert ) / sizeof( SvxMSDffVertPair ), 4744 (sal_uInt16*)mso_sptFlowChartPredefinedProcessSegm, sizeof( mso_sptFlowChartPredefinedProcessSegm ) >> 1, 4745 NULL, 0, 4746 NULL, 4747 (SvxMSDffTextRectangles*)mso_sptFlowChartPredefinedProcessTextRect, sizeof( mso_sptFlowChartPredefinedProcessTextRect ) / sizeof( SvxMSDffTextRectangles ), 4748 21600, 21600, 4749 0x80000000, 0x80000000, 4750 NULL, 0, 4751 NULL, 0 // handles 4752 }; 4753 4754 static const SvxMSDffVertPair mso_sptFlowChartInternalStorageVert[] = 4755 { 4756 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, 4757 4758 { 4230, 0 }, { 4230, 21600 }, 4759 4760 { 0, 4230 }, { 21600, 4230 } 4761 }; 4762 static const sal_uInt16 mso_sptFlowChartInternalStorageSegm[] = 4763 { 4764 0x4000, 0x0003, 0x6000, 0x8000, 4765 0x4000, 0x0001, 0x8000, 4766 0x4000, 0x0001, 0x8000 4767 }; 4768 static const SvxMSDffTextRectangles mso_sptFlowChartInternalStorageTextRect[] = 4769 { 4770 { { 4230, 4230 }, { 21600, 21600 } } 4771 }; 4772 static const mso_CustomShape msoFlowChartInternalStorage = 4773 { 4774 (SvxMSDffVertPair*)mso_sptFlowChartInternalStorageVert, sizeof( mso_sptFlowChartInternalStorageVert ) / sizeof( SvxMSDffVertPair ), 4775 (sal_uInt16*)mso_sptFlowChartInternalStorageSegm, sizeof( mso_sptFlowChartInternalStorageSegm ) >> 1, 4776 NULL, 0, 4777 NULL, 4778 (SvxMSDffTextRectangles*)mso_sptFlowChartInternalStorageTextRect, sizeof( mso_sptFlowChartInternalStorageTextRect ) / sizeof( SvxMSDffTextRectangles ), 4779 21600, 21600, 4780 0x80000000, 0x80000000, 4781 NULL, 0, 4782 NULL, 0 // handles 4783 }; 4784 4785 static const SvxMSDffVertPair mso_sptFlowChartDocumentVert[] = 4786 { 4787 { 0, 0 }, { 21600, 0 }, { 21600, 17360 }, 4788 { 13050, 17220 }, { 13340, 20770 }, { 5620, 21600 }, // ccp 4789 { 2860, 21100 }, { 1850, 20700 }, { 0, 20120 } // ccp 4790 }; 4791 static const sal_uInt16 mso_sptFlowChartDocumentSegm[] = 4792 { 4793 0x4000, 0x0002, 0x2002, 0x6000, 0x8000 4794 }; 4795 static const SvxMSDffTextRectangles mso_sptFlowChartDocumentTextRect[] = 4796 { 4797 { { 0, 0 }, { 21600, 17360 } } 4798 }; 4799 static const SvxMSDffVertPair mso_sptFlowChartDocumentGluePoints[] = 4800 { 4801 { 10800, 0 }, { 0, 10800 }, { 10800, 20320 }, { 21600, 10800 } 4802 }; 4803 static const mso_CustomShape msoFlowChartDocument = 4804 { 4805 (SvxMSDffVertPair*)mso_sptFlowChartDocumentVert, sizeof( mso_sptFlowChartDocumentVert ) / sizeof( SvxMSDffVertPair ), 4806 (sal_uInt16*)mso_sptFlowChartDocumentSegm, sizeof( mso_sptFlowChartDocumentSegm ) >> 1, 4807 NULL, 0, 4808 NULL, 4809 (SvxMSDffTextRectangles*)mso_sptFlowChartDocumentTextRect, sizeof( mso_sptFlowChartDocumentTextRect ) / sizeof( SvxMSDffTextRectangles ), 4810 21600, 21600, 4811 0x80000000, 0x80000000, 4812 (SvxMSDffVertPair*)mso_sptFlowChartDocumentGluePoints, sizeof( mso_sptFlowChartDocumentGluePoints ) / sizeof( SvxMSDffVertPair ), 4813 NULL, 0 // handles 4814 }; 4815 4816 static const SvxMSDffVertPair mso_sptFlowChartMultidocumentVert[] = 4817 { 4818 { 0, 3600 }, { 1500, 3600 }, { 1500, 1800 }, { 3000, 1800 }, 4819 { 3000, 0 }, { 21600, 0 }, { 21600, 14409 }, { 21600 - 1500, 14409 }, 4820 { 21600 - 1500, 14409 + 1800 }, { 21600 - 3000, 14409 + 1800 }, { 21600 - 3000, 14409 + 3600 }, 4821 { 11610, 14293 + 3600 }, { 11472, 17239 + 3600 }, { 4833, 17928 + 3600 }, // ccp 4822 { 2450, 17513 + 3600 }, { 1591, 17181 + 3600 }, { 0, 16700 + 3600 }, // ccp 4823 4824 { 1500, 3600 }, { 21600 - 3000, 3600 }, { 21600 - 3000, 14409 + 1800 }, 4825 4826 { 3000, 1800 }, { 21600 - 1500, 1800 }, { 21600 - 1500, 14409 } 4827 }; 4828 static const sal_uInt16 mso_sptFlowChartMultidocumentSegm[] = 4829 { 4830 0x4000, 0x000a, 0x2002, 0x6000, 0x8000, 4831 0x4000, 0xaa00, 0x0002, 0x8000, // NO FILL 4832 0x4000, 0xaa00, 0x0002, 0x8000 // NO FILL 4833 }; 4834 static const SvxMSDffTextRectangles mso_sptFlowChartMultidocumentTextRect[] = 4835 { 4836 { { 0, 3600 }, { 21600 - 3000, 14409 + 3600 } } 4837 }; 4838 static const SvxMSDffVertPair mso_sptFlowChartMultidocumentGluePoints[] = 4839 { 4840 { 10800, 0 }, { 0, 10800 }, { 10800, 19890 }, { 21600, 10800 } 4841 }; 4842 static const mso_CustomShape msoFlowChartMultidocument = 4843 { 4844 (SvxMSDffVertPair*)mso_sptFlowChartMultidocumentVert, sizeof( mso_sptFlowChartMultidocumentVert ) / sizeof( SvxMSDffVertPair ), 4845 (sal_uInt16*)mso_sptFlowChartMultidocumentSegm, sizeof( mso_sptFlowChartMultidocumentSegm ) >> 1, 4846 NULL, 0, 4847 NULL, 4848 (SvxMSDffTextRectangles*)mso_sptFlowChartMultidocumentTextRect, sizeof( mso_sptFlowChartMultidocumentTextRect ) / sizeof( SvxMSDffTextRectangles ), 4849 21600, 21600, 4850 0x80000000, 0x80000000, 4851 (SvxMSDffVertPair*)mso_sptFlowChartMultidocumentGluePoints, sizeof( mso_sptFlowChartMultidocumentGluePoints ) / sizeof( SvxMSDffVertPair ), 4852 NULL, 0 // handles 4853 }; 4854 4855 static const SvxMSDffVertPair mso_sptFlowChartTerminatorVert[] = 4856 { 4857 { 3470, 21600 }, { 0, 10800 }, { 3470, 0 }, { 18130, 0 }, 4858 { 21600, 10800 }, { 18130, 21600 } 4859 }; 4860 static const sal_uInt16 mso_sptFlowChartTerminatorSegm[] = 4861 { 4862 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000 4863 }; 4864 static const SvxMSDffTextRectangles mso_sptFlowChartTerminatorTextRect[] = 4865 { 4866 { { 1060, 3180 }, { 20540, 18420 } } 4867 }; 4868 static const mso_CustomShape msoFlowChartTerminator = 4869 { 4870 (SvxMSDffVertPair*)mso_sptFlowChartTerminatorVert, sizeof( mso_sptFlowChartTerminatorVert ) / sizeof( SvxMSDffVertPair ), 4871 (sal_uInt16*)mso_sptFlowChartTerminatorSegm, sizeof( mso_sptFlowChartTerminatorSegm ) >> 1, 4872 NULL, 0, 4873 NULL, 4874 (SvxMSDffTextRectangles*)mso_sptFlowChartTerminatorTextRect, sizeof( mso_sptFlowChartTerminatorTextRect ) / sizeof( SvxMSDffTextRectangles ), 4875 21600, 21600, 4876 0x80000000, 0x80000000, 4877 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ), 4878 NULL, 0 // handles 4879 }; 4880 4881 static const SvxMSDffVertPair mso_sptFlowChartPreparationVert[] = 4882 { 4883 { 4350, 0 }, { 17250, 0 }, { 21600, 10800 }, { 17250, 21600 }, 4884 { 4350, 21600 }, { 0, 10800 }, { 4350, 0 } 4885 }; 4886 static const SvxMSDffTextRectangles mso_sptFlowChartPreparationTextRect[] = 4887 { 4888 { { 4350, 0 }, { 17250, 21600 } } 4889 }; 4890 static const mso_CustomShape msoFlowChartPreparation = 4891 { 4892 (SvxMSDffVertPair*)mso_sptFlowChartPreparationVert, sizeof( mso_sptFlowChartPreparationVert ) / sizeof( SvxMSDffVertPair ), 4893 NULL, 0, 4894 NULL, 0, 4895 NULL, 4896 (SvxMSDffTextRectangles*)mso_sptFlowChartPreparationTextRect, sizeof( mso_sptFlowChartPreparationTextRect ) / sizeof( SvxMSDffTextRectangles ), 4897 21600, 21600, 4898 0x80000000, 0x80000000, 4899 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ), 4900 NULL, 0 // handles 4901 }; 4902 4903 static const SvxMSDffVertPair mso_sptFlowChartManualInputVert[] = 4904 { 4905 { 0, 4300 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0, 4300 } 4906 }; 4907 static const SvxMSDffTextRectangles mso_sptFlowChartManualInputTextRect[] = 4908 { 4909 { { 0, 4300 }, { 21600, 21600 } } 4910 }; 4911 static const SvxMSDffVertPair mso_sptFlowChartManualInputGluePoints[] = 4912 { 4913 { 10800, 2150 }, { 0, 10800 }, { 10800, 19890 }, { 21600, 10800 } 4914 }; 4915 static const mso_CustomShape msoFlowChartManualInput = 4916 { 4917 (SvxMSDffVertPair*)mso_sptFlowChartManualInputVert, sizeof( mso_sptFlowChartManualInputVert ) / sizeof( SvxMSDffVertPair ), 4918 NULL, 0, 4919 NULL, 0, 4920 NULL, 4921 (SvxMSDffTextRectangles*)mso_sptFlowChartManualInputTextRect, sizeof( mso_sptFlowChartManualInputTextRect ) / sizeof( SvxMSDffTextRectangles ), 4922 21600, 21600, 4923 0x80000000, 0x80000000, 4924 (SvxMSDffVertPair*)mso_sptFlowChartManualInputGluePoints, sizeof( mso_sptFlowChartManualInputGluePoints ) / sizeof( SvxMSDffVertPair ), 4925 NULL, 0 // handles 4926 }; 4927 4928 static const SvxMSDffVertPair mso_sptFlowChartManualOperationVert[] = 4929 { 4930 { 0, 0 }, { 21600, 0 }, { 17250, 21600 }, { 4350, 21600 }, { 0, 0 } 4931 }; 4932 static const SvxMSDffTextRectangles mso_sptFlowChartManualOperationTextRect[] = 4933 { 4934 { { 4350, 0 }, { 17250, 21600 } } 4935 }; 4936 static const SvxMSDffVertPair mso_sptFlowChartManualOperationGluePoints[] = 4937 { 4938 { 10800, 0 }, { 2160, 10800 }, { 10800, 21600 }, { 19440, 10800 } 4939 }; 4940 static const mso_CustomShape msoFlowChartManualOperation = 4941 { 4942 (SvxMSDffVertPair*)mso_sptFlowChartManualOperationVert, sizeof( mso_sptFlowChartManualOperationVert ) / sizeof( SvxMSDffVertPair ), 4943 NULL, 0, 4944 NULL, 0, 4945 NULL, 4946 (SvxMSDffTextRectangles*)mso_sptFlowChartManualOperationTextRect, sizeof( mso_sptFlowChartManualOperationTextRect ) / sizeof( SvxMSDffTextRectangles ), 4947 21600, 21600, 4948 0x80000000, 0x80000000, 4949 (SvxMSDffVertPair*)mso_sptFlowChartManualOperationGluePoints, sizeof( mso_sptFlowChartManualOperationGluePoints ) / sizeof( SvxMSDffVertPair ), 4950 NULL, 0 // handles 4951 }; 4952 4953 static const SvxMSDffVertPair mso_sptFlowChartConnectorVert[] = 4954 { 4955 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 } 4956 }; 4957 static const sal_uInt16 mso_sptFlowChartConnectorSegm[] = 4958 { 4959 0xa203, 0x6000, 0x8000 4960 }; 4961 static const SvxMSDffTextRectangles mso_sptFlowChartConnectorTextRect[] = 4962 { 4963 { { 3180, 3180 }, { 18420, 18420 } } 4964 }; 4965 static const mso_CustomShape msoFlowChartConnector = 4966 { 4967 (SvxMSDffVertPair*)mso_sptFlowChartConnectorVert, sizeof( mso_sptFlowChartConnectorVert ) / sizeof( SvxMSDffVertPair ), 4968 (sal_uInt16*)mso_sptFlowChartConnectorSegm, sizeof( mso_sptFlowChartConnectorSegm ) >> 1, 4969 NULL, 0, 4970 NULL, 4971 (SvxMSDffTextRectangles*)mso_sptFlowChartConnectorTextRect, sizeof( mso_sptFlowChartConnectorTextRect ) / sizeof( SvxMSDffTextRectangles ), 4972 21600, 21600, 4973 0x80000000, 0x80000000, 4974 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ), 4975 NULL, 0 // handles 4976 }; 4977 4978 static const SvxMSDffVertPair mso_sptFlowChartOffpageConnectorVert[] = 4979 { 4980 { 0, 0 }, { 21600, 0 }, { 21600, 17150 }, { 10800, 21600 }, 4981 { 0, 17150 }, { 0, 0 } 4982 }; 4983 static const SvxMSDffTextRectangles mso_sptFlowChartOffpageConnectorTextRect[] = 4984 { 4985 { { 0, 0 }, { 21600, 17150 } } 4986 }; 4987 static const mso_CustomShape msoFlowChartOffpageConnector = 4988 { 4989 (SvxMSDffVertPair*)mso_sptFlowChartOffpageConnectorVert, sizeof( mso_sptFlowChartOffpageConnectorVert ) / sizeof( SvxMSDffVertPair ), 4990 NULL, 0, 4991 NULL, 0, 4992 NULL, 4993 (SvxMSDffTextRectangles*)mso_sptFlowChartOffpageConnectorTextRect, sizeof( mso_sptFlowChartOffpageConnectorTextRect ) / sizeof( SvxMSDffTextRectangles ), 4994 21600, 21600, 4995 0x80000000, 0x80000000, 4996 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ), 4997 NULL, 0 // handles 4998 }; 4999 5000 static const SvxMSDffVertPair mso_sptFlowChartPunchedCardVert[] = 5001 { 5002 { 4300, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, 5003 { 0, 4300 }, { 4300, 0 } 5004 }; 5005 static const SvxMSDffTextRectangles mso_sptFlowChartPunchedCardTextRect[] = 5006 { 5007 { { 0, 4300 }, { 21600, 21600 } } 5008 }; 5009 static const mso_CustomShape msoFlowChartPunchedCard = 5010 { 5011 (SvxMSDffVertPair*)mso_sptFlowChartPunchedCardVert, sizeof( mso_sptFlowChartPunchedCardVert ) / sizeof( SvxMSDffVertPair ), 5012 NULL, 0, 5013 NULL, 0, 5014 NULL, 5015 (SvxMSDffTextRectangles*)mso_sptFlowChartPunchedCardTextRect, sizeof( mso_sptFlowChartPunchedCardTextRect ) / sizeof( SvxMSDffTextRectangles ), 5016 21600, 21600, 5017 0x80000000, 0x80000000, 5018 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ), 5019 NULL, 0 // handles 5020 }; 5021 5022 static const SvxMSDffVertPair mso_sptFlowChartPunchedTapeVert[] = 5023 { 5024 { 0, 2230 }, // p 5025 { 820, 3990 }, { 3410, 3980 }, { 5370, 4360 }, // ccp 5026 { 7430, 4030 }, { 10110, 3890 }, { 10690, 2270 }, // ccp 5027 { 11440, 300 }, { 14200, 160 }, { 16150, 0 }, // ccp 5028 { 18670, 170 }, { 20690, 390 }, { 21600, 2230 }, // ccp 5029 { 21600, 19420 }, // p 5030 { 20640, 17510 }, { 18320, 17490 }, { 16140, 17240 }, // ccp 5031 { 14710, 17370 }, { 11310, 17510 }, { 10770, 19430 }, // ccp 5032 { 10150, 21150 }, { 7380, 21290 }, { 5290, 21600 }, // ccp 5033 { 3220, 21250 }, { 610, 21130 }, { 0, 19420 } // ccp 5034 }; 5035 static const sal_uInt16 mso_sptFlowChartPunchedTapeSegm[] = 5036 { 5037 0x4000, 0x2004, 0x0001, 0x2004, 0x6000, 0x8000 5038 }; 5039 static const SvxMSDffTextRectangles mso_sptFlowChartPunchedTapeTextRect[] = 5040 { 5041 { { 0, 4360 }, { 21600, 17240 } } 5042 }; 5043 static const SvxMSDffVertPair mso_sptFlowChartPunchedTapeGluePoints[] = 5044 { 5045 { 10800, 2020 }, { 0, 10800 }, { 10800, 19320 }, { 21600, 10800 } 5046 }; 5047 static const mso_CustomShape msoFlowChartPunchedTape = 5048 { 5049 (SvxMSDffVertPair*)mso_sptFlowChartPunchedTapeVert, sizeof( mso_sptFlowChartPunchedTapeVert ) / sizeof( SvxMSDffVertPair ), 5050 (sal_uInt16*)mso_sptFlowChartPunchedTapeSegm, sizeof( mso_sptFlowChartPunchedTapeSegm ) >> 1, 5051 NULL, 0, 5052 NULL, 5053 (SvxMSDffTextRectangles*)mso_sptFlowChartPunchedTapeTextRect, sizeof( mso_sptFlowChartPunchedTapeTextRect ) / sizeof( SvxMSDffTextRectangles ), 5054 21600, 21600, 5055 0x80000000, 0x80000000, 5056 (SvxMSDffVertPair*)mso_sptFlowChartPunchedTapeGluePoints, sizeof( mso_sptFlowChartPunchedTapeGluePoints ) / sizeof( SvxMSDffVertPair ), 5057 NULL, 0 // handles 5058 }; 5059 5060 static const SvxMSDffVertPair mso_sptFlowChartSummingJunctionVert[] = 5061 { 5062 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 }, 5063 5064 { 3100, 3100 }, 5065 { 18500, 18500 }, 5066 5067 { 3100, 18500 }, 5068 { 18500, 3100 } 5069 }; 5070 static const sal_uInt16 mso_sptFlowChartSummingJunctionSegm[] = 5071 { 5072 0xa203, 0x6000, 0x8000, 5073 0x4000, 0x0001, 0x8000, 5074 0x4000, 0x0001, 0x8000 5075 }; 5076 static const SvxMSDffTextRectangles mso_sptFlowChartSummingJunctionTextRect[] = 5077 { 5078 { { 3100, 3100 }, { 18500, 18500 } } 5079 }; 5080 static const mso_CustomShape msoFlowChartSummingJunction = 5081 { 5082 (SvxMSDffVertPair*)mso_sptFlowChartSummingJunctionVert, sizeof( mso_sptFlowChartSummingJunctionVert ) / sizeof( SvxMSDffVertPair ), 5083 (sal_uInt16*)mso_sptFlowChartSummingJunctionSegm, sizeof( mso_sptFlowChartSummingJunctionSegm ) >> 1, 5084 NULL, 0, 5085 NULL, 5086 (SvxMSDffTextRectangles*)mso_sptFlowChartSummingJunctionTextRect, sizeof( mso_sptFlowChartSummingJunctionTextRect ) / sizeof( SvxMSDffTextRectangles ), 5087 21600, 21600, 5088 0x80000000, 0x80000000, 5089 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ), 5090 NULL, 0 // handles 5091 }; 5092 5093 static const SvxMSDffVertPair mso_sptFlowChartOrVert[] = 5094 { 5095 { 10800, 10800 }, { 10800, 10800 }, { 0, 360 }, 5096 5097 { 0, 10800 }, { 21600, 10800 }, 5098 5099 { 10800, 0 }, { 10800, 21600 } 5100 }; 5101 static const sal_uInt16 mso_sptFlowChartOrSegm[] = 5102 { 5103 0xa203, 0x6000, 0x8000, 5104 0x4000, 0x0001, 0x8000, 5105 0x4000, 0x0001, 0x8000 5106 }; 5107 static const SvxMSDffTextRectangles mso_sptFlowChartOrTextRect[] = 5108 { 5109 { { 3100, 3100 }, { 18500, 18500 } } 5110 }; 5111 static const mso_CustomShape msoFlowChartOr = 5112 { 5113 (SvxMSDffVertPair*)mso_sptFlowChartOrVert, sizeof( mso_sptFlowChartOrVert ) / sizeof( SvxMSDffVertPair ), 5114 (sal_uInt16*)mso_sptFlowChartOrSegm, sizeof( mso_sptFlowChartOrSegm ) >> 1, 5115 NULL, 0, 5116 NULL, 5117 (SvxMSDffTextRectangles*)mso_sptFlowChartOrTextRect, sizeof( mso_sptFlowChartOrTextRect ) / sizeof( SvxMSDffTextRectangles ), 5118 21600, 21600, 5119 0x80000000, 0x80000000, 5120 (SvxMSDffVertPair*)mso_sptEllipseGluePoints, sizeof( mso_sptEllipseGluePoints ) / sizeof( SvxMSDffVertPair ), 5121 NULL, 0 // handles 5122 }; 5123 5124 static const SvxMSDffVertPair mso_sptFlowChartCollateVert[] = 5125 { 5126 { 0, 0 }, { 21600, 21600 }, { 0, 21600 }, { 21600, 0 }, { 0, 0 } 5127 }; 5128 static const SvxMSDffTextRectangles mso_sptFlowChartCollateTextRect[] = 5129 { 5130 { { 5400, 5400 }, { 16200, 16200 } } 5131 }; 5132 static const SvxMSDffVertPair mso_sptFlowChartCollateGluePoints[] = 5133 { 5134 { 10800, 0 }, { 10800, 10800 }, { 10800, 21600 } 5135 }; 5136 static const mso_CustomShape msoFlowChartCollate = 5137 { 5138 (SvxMSDffVertPair*)mso_sptFlowChartCollateVert, sizeof( mso_sptFlowChartCollateVert ) / sizeof( SvxMSDffVertPair ), 5139 NULL, 0, 5140 NULL, 0, 5141 NULL, 5142 (SvxMSDffTextRectangles*)mso_sptFlowChartCollateTextRect, sizeof( mso_sptFlowChartCollateTextRect ) / sizeof( SvxMSDffTextRectangles ), 5143 21600, 21600, 5144 0x80000000, 0x80000000, 5145 (SvxMSDffVertPair*)mso_sptFlowChartCollateGluePoints, sizeof( mso_sptFlowChartCollateGluePoints ) / sizeof( SvxMSDffVertPair ), 5146 NULL, 0 // handles 5147 }; 5148 5149 static const SvxMSDffVertPair mso_sptFlowChartSortVert[] = 5150 { 5151 { 0, 10800 }, { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, 5152 5153 { 0, 10800 }, { 21600, 10800 } 5154 }; 5155 static const sal_uInt16 mso_sptFlowChartSortSegm[] = 5156 { 5157 0x4000, 0x0003, 0x6000, 0x8000, 5158 0x4000, 0x0001, 0x8000 5159 }; 5160 static const SvxMSDffTextRectangles mso_sptFlowChartSortTextRect[] = 5161 { 5162 { { 5400, 5400 }, { 16200, 16200 } } 5163 }; 5164 static const mso_CustomShape msoFlowChartSort = 5165 { 5166 (SvxMSDffVertPair*)mso_sptFlowChartSortVert, sizeof( mso_sptFlowChartSortVert ) / sizeof( SvxMSDffVertPair ), 5167 (sal_uInt16*)mso_sptFlowChartSortSegm, sizeof( mso_sptFlowChartSortSegm ) >> 1, 5168 NULL, 0, 5169 NULL, 5170 (SvxMSDffTextRectangles*)mso_sptFlowChartSortTextRect, sizeof( mso_sptFlowChartSortTextRect ) / sizeof( SvxMSDffTextRectangles ), 5171 21600, 21600, 5172 0x80000000, 0x80000000, 5173 NULL, 0, 5174 NULL, 0 // handles 5175 }; 5176 5177 static const SvxMSDffVertPair mso_sptFlowChartExtractVert[] = 5178 { 5179 { 10800, 0 }, { 21600, 21600 }, { 0, 21600 }, { 10800, 0 } 5180 }; 5181 static const SvxMSDffTextRectangles mso_sptFlowChartExtractTextRect[] = 5182 { 5183 { { 5400, 10800 }, { 16200, 21600 } } 5184 }; 5185 static const SvxMSDffVertPair mso_sptFlowChartExtractGluePoints[] = 5186 { 5187 { 10800, 0 }, { 5400, 10800 }, { 10800, 21600 }, { 16200, 10800 } 5188 }; 5189 static const mso_CustomShape msoFlowChartExtract = 5190 { 5191 (SvxMSDffVertPair*)mso_sptFlowChartExtractVert, sizeof( mso_sptFlowChartExtractVert ) / sizeof( SvxMSDffVertPair ), 5192 NULL, 0, 5193 NULL, 0, 5194 NULL, 5195 (SvxMSDffTextRectangles*)mso_sptFlowChartExtractTextRect, sizeof( mso_sptFlowChartExtractTextRect ) / sizeof( SvxMSDffTextRectangles ), 5196 21600, 21600, 5197 0x80000000, 0x80000000, 5198 (SvxMSDffVertPair*)mso_sptFlowChartExtractGluePoints, sizeof( mso_sptFlowChartExtractGluePoints ) / sizeof( SvxMSDffVertPair ), 5199 NULL, 0 // handles 5200 }; 5201 5202 static const SvxMSDffVertPair mso_sptFlowChartMergeVert[] = 5203 { 5204 { 0, 0 }, { 21600, 0 }, { 10800, 21600 }, { 0, 0 } 5205 }; 5206 static const SvxMSDffTextRectangles mso_sptFlowChartMergeTextRect[] = 5207 { 5208 { { 5400, 0 }, { 16200, 10800 } } 5209 }; 5210 static const mso_CustomShape msoFlowChartMerge = 5211 { 5212 (SvxMSDffVertPair*)mso_sptFlowChartMergeVert, sizeof( mso_sptFlowChartMergeVert ) / sizeof( SvxMSDffVertPair ), 5213 NULL, 0, 5214 NULL, 0, 5215 NULL, 5216 (SvxMSDffTextRectangles*)mso_sptFlowChartMergeTextRect, sizeof( mso_sptFlowChartMergeTextRect ) / sizeof( SvxMSDffTextRectangles ), 5217 21600, 21600, 5218 0x80000000, 0x80000000, 5219 (SvxMSDffVertPair*)mso_sptFlowChartExtractGluePoints, sizeof( mso_sptFlowChartExtractGluePoints ) / sizeof( SvxMSDffVertPair ), 5220 NULL, 0 // handles 5221 }; 5222 5223 static const SvxMSDffVertPair mso_sptFlowChartOnlineStorageVert[] = 5224 { 5225 { 3600, 21600 }, { 0, 10800 }, { 3600, 0 }, { 21600, 0 }, 5226 { 18000, 10800 }, { 21600, 21600 } 5227 }; 5228 static const sal_uInt16 mso_sptFlowChartOnlineStorageSegm[] = 5229 { 5230 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000 5231 }; 5232 static const SvxMSDffTextRectangles mso_sptFlowChartOnlineStorageTextRect[] = 5233 { 5234 { { 3600, 0 }, { 18000, 21600 } } 5235 }; 5236 static const SvxMSDffVertPair mso_sptFlowChartOnlineStorageGluePoints[] = 5237 { 5238 { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 18000, 10800 } 5239 }; 5240 static const mso_CustomShape msoFlowChartOnlineStorage = 5241 { 5242 (SvxMSDffVertPair*)mso_sptFlowChartOnlineStorageVert, sizeof( mso_sptFlowChartOnlineStorageVert ) / sizeof( SvxMSDffVertPair ), 5243 (sal_uInt16*)mso_sptFlowChartOnlineStorageSegm, sizeof( mso_sptFlowChartOnlineStorageSegm ) >> 1, 5244 NULL, 0, 5245 NULL, 5246 (SvxMSDffTextRectangles*)mso_sptFlowChartOnlineStorageTextRect, sizeof( mso_sptFlowChartOnlineStorageTextRect ) / sizeof( SvxMSDffTextRectangles ), 5247 21600, 21600, 5248 0x80000000, 0x80000000, 5249 (SvxMSDffVertPair*)mso_sptFlowChartOnlineStorageGluePoints, sizeof( mso_sptFlowChartOnlineStorageGluePoints ) / sizeof( SvxMSDffVertPair ), 5250 NULL, 0 // handles 5251 }; 5252 5253 static const SvxMSDffVertPair mso_sptFlowChartDelayVert[] = 5254 { 5255 { 10800, 0 }, { 21600, 10800 }, { 10800, 21600 }, { 0, 21600 }, 5256 { 0, 0 } 5257 }; 5258 static const sal_uInt16 mso_sptFlowChartDelaySegm[] = 5259 { 5260 0x4000, 0xa702, 0x0002, 0x6000, 0x8000 5261 }; 5262 static const SvxMSDffTextRectangles mso_sptFlowChartDelayTextRect[] = 5263 { 5264 { { 0, 3100 }, { 18500, 18500 } } 5265 }; 5266 static const mso_CustomShape msoFlowChartDelay = 5267 { 5268 (SvxMSDffVertPair*)mso_sptFlowChartDelayVert, sizeof( mso_sptFlowChartDelayVert ) / sizeof( SvxMSDffVertPair ), 5269 (sal_uInt16*)mso_sptFlowChartDelaySegm, sizeof( mso_sptFlowChartDelaySegm ) >> 1, 5270 NULL, 0, 5271 NULL, 5272 (SvxMSDffTextRectangles*)mso_sptFlowChartDelayTextRect, sizeof( mso_sptFlowChartDelayTextRect ) / sizeof( SvxMSDffTextRectangles ), 5273 21600, 21600, 5274 0x80000000, 0x80000000, 5275 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ), 5276 NULL, 0 // handles 5277 }; 5278 5279 static const SvxMSDffVertPair mso_sptFlowChartMagneticTapeVert[] = 5280 { 5281 { 20980, 18150 }, { 20980, 21600 }, { 10670, 21600 }, 5282 { 4770, 21540 }, { 0, 16720 }, { 0, 10800 }, // ccp 5283 { 0, 4840 }, { 4840, 0 }, { 10800, 0 }, // ccp 5284 { 16740, 0 }, { 21600, 4840 }, { 21600, 10800 }, // ccp 5285 { 21600, 13520 }, { 20550, 16160 }, { 18670, 18170 } // ccp 5286 }; 5287 static const sal_uInt16 mso_sptFlowChartMagneticTapeSegm[] = 5288 { 5289 0x4000, 0x0002, 0x2004, 0x6000, 0x8000 5290 }; 5291 static const SvxMSDffTextRectangles mso_sptFlowChartMagneticTapeTextRect[] = 5292 { 5293 { { 3100, 3100 }, { 18500, 18500 } } 5294 }; 5295 static const mso_CustomShape msoFlowChartMagneticTape = 5296 { 5297 (SvxMSDffVertPair*)mso_sptFlowChartMagneticTapeVert, sizeof( mso_sptFlowChartMagneticTapeVert ) / sizeof( SvxMSDffVertPair ), 5298 (sal_uInt16*)mso_sptFlowChartMagneticTapeSegm, sizeof( mso_sptFlowChartMagneticTapeSegm ) >> 1, 5299 NULL, 0, 5300 NULL, 5301 (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticTapeTextRect, sizeof( mso_sptFlowChartMagneticTapeTextRect ) / sizeof( SvxMSDffTextRectangles ), 5302 21600, 21600, 5303 0x80000000, 0x80000000, 5304 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ), 5305 NULL, 0 // handles 5306 }; 5307 5308 static const SvxMSDffVertPair mso_sptFlowChartMagneticDiskVert[] = 5309 { 5310 { 0, 3400 }, { 10800, 0 }, { 21600, 3400 }, { 21600, 18200 }, 5311 { 10800, 21600 }, { 0, 18200 }, 5312 5313 { 0, 3400 }, { 10800, 6800 }, { 21600, 3400 } 5314 }; 5315 static const sal_uInt16 mso_sptFlowChartMagneticDiskSegm[] = 5316 { 5317 0x4000, 0xa802, 0x0001, 0xa802, 0x6000, 0x8000, 5318 0x4000, 0xa802, 0x8000 5319 }; 5320 static const SvxMSDffTextRectangles mso_sptFlowChartMagneticDiskTextRect[] = 5321 { 5322 { { 0, 6800 }, { 21600, 18200 } } 5323 }; 5324 static const SvxMSDffVertPair mso_sptFlowChartMagneticDiskGluePoints[] = 5325 { 5326 { 10800, 6800 }, { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 } 5327 }; 5328 static const mso_CustomShape msoFlowChartMagneticDisk = 5329 { 5330 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDiskVert, sizeof( mso_sptFlowChartMagneticDiskVert ) / sizeof( SvxMSDffVertPair ), 5331 (sal_uInt16*)mso_sptFlowChartMagneticDiskSegm, sizeof( mso_sptFlowChartMagneticDiskSegm ) >> 1, 5332 NULL, 0, 5333 NULL, 5334 (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticDiskTextRect, sizeof( mso_sptFlowChartMagneticDiskTextRect ) / sizeof( SvxMSDffTextRectangles ), 5335 21600, 21600, 5336 0x80000000, 0x80000000, 5337 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDiskGluePoints, sizeof( mso_sptFlowChartMagneticDiskGluePoints ) / sizeof( SvxMSDffVertPair ), 5338 NULL, 0 // handles 5339 }; 5340 5341 static const SvxMSDffVertPair mso_sptFlowChartMagneticDrumVert[] = 5342 { 5343 { 18200, 0 }, { 21600, 10800 }, { 18200, 21600 }, { 3400, 21600 }, 5344 { 0, 10800 }, { 3400, 0 }, 5345 5346 { 18200, 0 }, { 14800, 10800 }, { 18200, 21600 } 5347 }; 5348 static const sal_uInt16 mso_sptFlowChartMagneticDrumSegm[] = 5349 { 5350 0x4000, 0xa702, 0x0001, 0xa702, 0x6000, 0x8000, 5351 0x4000, 0xa702, 0x8000 5352 }; 5353 static const SvxMSDffTextRectangles mso_sptFlowChartMagneticDrumTextRect[] = 5354 { 5355 { { 3400, 0 }, { 14800, 21600 } } 5356 }; 5357 static const SvxMSDffVertPair mso_sptFlowChartMagneticDrumGluePoints[] = 5358 { 5359 { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 14800, 10800 }, { 21600, 10800 } 5360 }; 5361 static const mso_CustomShape msoFlowChartMagneticDrum = 5362 { 5363 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDrumVert, sizeof( mso_sptFlowChartMagneticDrumVert ) / sizeof( SvxMSDffVertPair ), 5364 (sal_uInt16*)mso_sptFlowChartMagneticDrumSegm, sizeof( mso_sptFlowChartMagneticDrumSegm ) >> 1, 5365 NULL, 0, 5366 NULL, 5367 (SvxMSDffTextRectangles*)mso_sptFlowChartMagneticDrumTextRect, sizeof( mso_sptFlowChartMagneticDrumTextRect ) / sizeof( SvxMSDffTextRectangles ), 5368 21600, 21600, 5369 0x80000000, 0x80000000, 5370 (SvxMSDffVertPair*)mso_sptFlowChartMagneticDrumGluePoints, sizeof( mso_sptFlowChartMagneticDrumGluePoints ) / sizeof( SvxMSDffVertPair ), 5371 NULL, 0 // handles 5372 }; 5373 5374 static const SvxMSDffVertPair mso_sptFlowChartDisplayVert[] = 5375 { 5376 { 3600, 0 }, { 17800, 0 }, { 21600, 10800 }, { 17800, 21600 }, 5377 { 3600, 21600 }, { 0, 10800 } 5378 }; 5379 static const sal_uInt16 mso_sptFlowChartDisplaySegm[] = 5380 { 5381 0x4000, 0x0001, 0xa702, 0x0002, 0x6000, 0x8000 5382 }; 5383 static const SvxMSDffTextRectangles mso_sptFlowChartDisplayTextRect[] = 5384 { 5385 { { 3600, 0 }, { 17800, 21600 } } 5386 }; 5387 static const mso_CustomShape msoFlowChartDisplay = 5388 { 5389 (SvxMSDffVertPair*)mso_sptFlowChartDisplayVert, sizeof( mso_sptFlowChartDisplayVert ) / sizeof( SvxMSDffVertPair ), 5390 (sal_uInt16*)mso_sptFlowChartDisplaySegm, sizeof( mso_sptFlowChartDisplaySegm ) >> 1, 5391 NULL, 0, 5392 NULL, 5393 (SvxMSDffTextRectangles*)mso_sptFlowChartDisplayTextRect, sizeof( mso_sptFlowChartDisplayTextRect ) / sizeof( SvxMSDffTextRectangles ), 5394 21600, 21600, 5395 0x80000000, 0x80000000, 5396 (SvxMSDffVertPair*)mso_sptStandardGluePoints, sizeof( mso_sptStandardGluePoints ) / sizeof( SvxMSDffVertPair ), 5397 NULL, 0 // handles 5398 }; 5399 5400 static const SvxMSDffVertPair mso_sptWedgeRectCalloutVert[] = 5401 { 5402 { 0, 0 }, 5403 { 0, 3590 }, { 2 MSO_I, 3 MSO_I }, { 0, 8970 }, 5404 { 0, 12630 },{ 4 MSO_I, 5 MSO_I }, { 0, 18010 }, 5405 { 0, 21600 }, 5406 { 3590, 21600 }, { 6 MSO_I, 7 MSO_I }, { 8970, 21600 }, 5407 { 12630, 21600 }, { 8 MSO_I, 9 MSO_I }, { 18010, 21600 }, 5408 { 21600, 21600 }, 5409 { 21600, 18010 }, { 10 MSO_I, 11 MSO_I }, { 21600, 12630 }, 5410 { 21600, 8970 }, { 12 MSO_I, 13 MSO_I }, { 21600, 3590 }, 5411 { 21600, 0 }, 5412 { 18010, 0 }, { 14 MSO_I, 15 MSO_I }, { 12630, 0 }, 5413 { 8970, 0 }, { 16 MSO_I, 17 MSO_I }, { 3590, 0 }, 5414 { 0, 0 } 5415 }; 5416 static const SvxMSDffCalculationData mso_sptWedgeRectCalloutCalc[] = 5417 { 5418 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } }, //0x400 5419 { 0x2000, { DFF_Prop_adjust2Value, 0,10800 } }, 5420 { 0x6006, { 0x412, DFF_Prop_adjustValue, 0 } }, //0x402 5421 { 0x6006, { 0x412, DFF_Prop_adjust2Value, 6280 } }, 5422 { 0x6006, { 0x417, DFF_Prop_adjustValue, 0 } }, //0x404 5423 { 0x6006, { 0x417, DFF_Prop_adjust2Value, 15320 } }, 5424 { 0x6006, { 0x41a, DFF_Prop_adjustValue, 6280 } }, //0x406 5425 { 0x6006, { 0x41a, DFF_Prop_adjust2Value, 21600 } }, 5426 { 0x6006, { 0x41d, DFF_Prop_adjustValue, 15320 } }, //0x408 5427 { 0x6006, { 0x41d, DFF_Prop_adjust2Value, 21600 } }, 5428 { 0x6006, { 0x420, DFF_Prop_adjustValue, 21600 } }, //0x40a 5429 { 0x6006, { 0x420, DFF_Prop_adjust2Value, 15320 } }, 5430 { 0x6006, { 0x422, DFF_Prop_adjustValue, 21600 } }, //0x40c 5431 { 0x6006, { 0x422, DFF_Prop_adjust2Value, 6280 } }, 5432 { 0x6006, { 0x424, DFF_Prop_adjustValue, 15320 } }, //0x40e 5433 { 0x6006, { 0x424, DFF_Prop_adjust2Value, 0 } }, 5434 { 0x6006, { 0x426, DFF_Prop_adjustValue, 6280 } }, //0x410 5435 { 0x6006, { 0x426, DFF_Prop_adjust2Value, 0 } }, 5436 { 0xa006, { DFF_Prop_adjustValue, -1, 0x413 } }, //0x412 5437 { 0xa006, { 0x401, -1, 0x416 } }, 5438 { 0x2003, { 0x400, 0, 0 } }, //0x414 5439 { 0x2003, { 0x401, 0, 0 } }, 5440 { 0xa000, { 0x414, 0, 0x415 } }, //0x416 5441 { 0xa006, { DFF_Prop_adjustValue, -1, 0x418 } }, 5442 { 0x6006, { 0x401, 0x416, -1 } }, //0x418 5443 { 0x2000, { DFF_Prop_adjust2Value, 0, 21600 } }, 5444 { 0x6006, { 0x419, 0x41b, -1 } }, //0x41a 5445 { 0xa006, { 0x400, -1, 0x41c } }, 5446 { 0xa000, { 0x415, 0, 0x414 } }, //0x41c 5447 { 0x6006, { 0x419, 0x41e, -1 } }, 5448 { 0x6006, { 0x400, 0x41c, -1 } }, //0x41e 5449 { 0x2000, { DFF_Prop_adjustValue, 0, 21600 } }, 5450 { 0x6006, { 0x41f, 0x421, -1 } }, //0x420 5451 { 0x6006, { 0x401, 0x416, -1 } }, 5452 { 0x6006, { 0x41f, 0x423, -1 } }, //0x422 5453 { 0xa006, { 0x401, -1, 0x416 } }, 5454 { 0xa006, { DFF_Prop_adjust2Value, -1, 0x425 } }, //0x424 5455 { 0x6006, { 0x400, 0x41c, -1 } }, 5456 { 0xa006, { DFF_Prop_adjust2Value, -1, 0x427 } }, //0x426 5457 { 0xa006, { 0x400, -1, 0x41c } }, 5458 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //0x428 5459 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } } 5460 }; 5461 static const sal_Int32 mso_sptWedgeRectCalloutDefault[] = 5462 { 5463 2, 1400, 25920 5464 }; 5465 static const SvxMSDffTextRectangles mso_sptWedgeRectCalloutTextRect[] = 5466 { 5467 { { 0, 0 }, { 21600, 21600 } } 5468 }; 5469 static const SvxMSDffVertPair mso_sptWedgeRectCalloutGluePoints[] = 5470 { 5471 { 10800, 0 }, { 0, 10800 }, { 10800, 21600 }, { 21600, 10800 }, { 40 MSO_I, 41 MSO_I } 5472 }; 5473 static const SvxMSDffHandle mso_sptCalloutHandle[] = 5474 { 5475 { 5476 0, 5477 0x100, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff 5478 } 5479 }; 5480 static const mso_CustomShape msoWedgeRectCallout = 5481 { 5482 (SvxMSDffVertPair*)mso_sptWedgeRectCalloutVert, sizeof( mso_sptWedgeRectCalloutVert ) / sizeof( SvxMSDffVertPair ), 5483 NULL, 0, 5484 (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, sizeof( mso_sptWedgeRectCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 5485 (sal_Int32*)mso_sptWedgeRectCalloutDefault, 5486 (SvxMSDffTextRectangles*)mso_sptWedgeRectCalloutTextRect, sizeof( mso_sptWedgeRectCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ), 5487 21600, 21600, 5488 0x80000000, 0x80000000, 5489 (SvxMSDffVertPair*)mso_sptWedgeRectCalloutGluePoints, sizeof( mso_sptWedgeRectCalloutGluePoints ) / sizeof( SvxMSDffVertPair ), 5490 (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles 5491 }; 5492 static const SvxMSDffVertPair mso_sptWedgeRRectCalloutVert[] = 5493 { 5494 { 3590, 0 }, 5495 { 0, 3590 }, 5496 { 2 MSO_I, 3 MSO_I }, { 0, 8970 }, 5497 { 0, 12630 },{ 4 MSO_I, 5 MSO_I }, { 0, 18010 }, 5498 { 3590, 21600 }, 5499 { 6 MSO_I, 7 MSO_I }, { 8970, 21600 }, 5500 { 12630, 21600 }, { 8 MSO_I, 9 MSO_I }, { 18010, 21600 }, 5501 { 21600, 18010 }, 5502 { 10 MSO_I, 11 MSO_I }, { 21600, 12630 }, 5503 { 21600, 8970 }, { 12 MSO_I, 13 MSO_I }, { 21600, 3590 }, 5504 { 18010, 0 }, 5505 { 14 MSO_I, 15 MSO_I }, { 12630, 0 }, 5506 { 8970, 0 }, { 16 MSO_I, 17 MSO_I } 5507 }; 5508 static const sal_uInt16 mso_sptWedgeRRectCalloutSegm[] = 5509 { 5510 0x4000, 0xa701, 0x0005, 0xa801, 0x0005, 0xa701, 0x0005, 0xa801, 0x0004, 0x6001, 0x8000 5511 }; 5512 static const SvxMSDffTextRectangles mso_sptWedgeRRectCalloutTextRect[] = 5513 { 5514 { { 800, 800 }, { 20800, 20800 } } 5515 }; 5516 static const mso_CustomShape msoWedgeRRectCallout = 5517 { 5518 (SvxMSDffVertPair*)mso_sptWedgeRRectCalloutVert, sizeof( mso_sptWedgeRRectCalloutVert ) / sizeof( SvxMSDffVertPair ), 5519 (sal_uInt16*)mso_sptWedgeRRectCalloutSegm, sizeof( mso_sptWedgeRRectCalloutSegm ) >> 1, 5520 (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, sizeof( mso_sptWedgeRectCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 5521 (sal_Int32*)mso_sptWedgeRectCalloutDefault, 5522 (SvxMSDffTextRectangles*)mso_sptWedgeRRectCalloutTextRect, sizeof( mso_sptWedgeRRectCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ), 5523 21600, 21600, 5524 0x80000000, 0x80000000, 5525 NULL, 0, 5526 (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles 5527 }; 5528 static const SvxMSDffVertPair mso_sptBalloonVert[] = 5529 { 5530 { 3590, 0 }, 5531 { 0, 3590 }, 5532 { 0, 14460 }, 5533 { 3590, 18050 }, 5534 { 40 MSO_I, 21600 }, { 5420, 18050 }, 5535 { 18010, 18050 }, 5536 { 21600, 14460 }, 5537 { 21600, 3590 }, 5538 { 18010, 0 } 5539 }; 5540 static const sal_uInt16 mso_sptBalloonSegm[] = 5541 { 5542 0x4000, 0xa701, 0x0001, 0xa801, 0x0003, 0xa701, 0x0001, 0xa801, 0x6001, 0x8000 5543 }; 5544 static const SvxMSDffHandle mso_sptBalloonHandle[] = 5545 { 5546 { 5547 MSDFF_HANDLE_FLAGS_RANGE, 5548 0x100, 1, 10800, 10800, 0, 8990, 0x80000000, 0x7fffffff 5549 } 5550 }; 5551 static const SvxMSDffTextRectangles mso_sptBalloonTextRect[] = 5552 { 5553 { { 800, 800 }, { 20800, 17250 } } 5554 }; 5555 static const mso_CustomShape msoBalloon = 5556 { 5557 (SvxMSDffVertPair*)mso_sptBalloonVert, sizeof( mso_sptBalloonVert ) / sizeof( SvxMSDffVertPair ), 5558 (sal_uInt16*)mso_sptBalloonSegm, sizeof( mso_sptBalloonSegm ) >> 1, 5559 (SvxMSDffCalculationData*)mso_sptWedgeRectCalloutCalc, sizeof( mso_sptWedgeRectCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 5560 (sal_Int32*)mso_sptWedgeRectCalloutDefault, 5561 (SvxMSDffTextRectangles*)mso_sptBalloonTextRect, sizeof( mso_sptBalloonTextRect ) / sizeof( SvxMSDffTextRectangles ), 5562 21600, 21600, 5563 0x80000000, 0x80000000, 5564 NULL, 0, 5565 (SvxMSDffHandle*)mso_sptBalloonHandle, sizeof( mso_sptBalloonHandle ) / sizeof( SvxMSDffHandle ) // handles 5566 }; 5567 static const SvxMSDffVertPair mso_sptWedgeEllipseCalloutVert[] = 5568 { 5569 { 0, 0 }, { 21600, 21600 }, { 0x16 MSO_I, 0x17 MSO_I }, { 0x12 MSO_I, 0x13 MSO_I }, { 0xe MSO_I, 0xf MSO_I } 5570 }; 5571 static const sal_uInt16 mso_sptWedgeEllipseCalloutSegm[] = 5572 { 5573 0xa504, 0x0001, 0x6001, 0x8000 5574 }; 5575 static const SvxMSDffCalculationData mso_sptWedgeEllipseCalloutCalc[] = 5576 { 5577 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } }, // 00 rad x 5578 { 0x2000, { DFF_Prop_adjust2Value, 0, 10800 } }, // 01 rad y 5579 { 0x6001, { 0x400, 0x400, 1 } }, // 02 rad x^2 5580 { 0x6001, { 0x401, 0x401, 1 } }, // 03 rad y^2 5581 { 0x6000, { 0x402, 0x403, 0 } }, // 04 5582 { 0x200d, { 0x404, 0, 0 } }, // 05 5583 { 0x2000, { 0x405, 0, 10800 } }, // 06 > 0 ? spur needs to be drawn : 10800 5584 { 0x6008, { 0x400, 0x401, 0 } }, // 07 atan2 -> angle 5585 { 0x2000, { 0x407, 0, 10 } }, // 08 5586 { 0x2000, { 0x407, 10, 0 } }, // 09 5587 { 0x400a, { 10800, 0x407, 0 } }, // 0a 5588 { 0x4009, { 10800, 0x407, 0 } }, // 0b 5589 { 0x2000, { 0x40a, 10800, 0 } }, // 0c 5590 { 0x2000, { 0x40b, 10800, 0 } }, // 0d 5591 { 0xe006, { 0x406, DFF_Prop_adjustValue, 0x40c } }, // 0e 5592 { 0xe006, { 0x406, DFF_Prop_adjust2Value, 0x40d } },// 0f 5593 { 0x400a, { 10800, 0x408, 0 } }, // 10 5594 { 0x4009, { 10800, 0x408, 0 } }, // 11 5595 { 0x2000, { 0x410, 10800, 0 } }, // 12 5596 { 0x2000, { 0x411, 10800, 0 } }, // 13 5597 { 0x400a, { 10800, 0x409, 0 } }, // 14 5598 { 0x4009, { 10800, 0x409, 0 } }, // 15 5599 { 0x2000, { 0x414, 10800, 0 } }, // 16 5600 { 0x2000, { 0x415, 10800, 0 } } // 17 5601 }; 5602 static const sal_Int32 mso_sptWedgeEllipseCalloutDefault[] = 5603 { 5604 2, 1350, 25920 5605 }; 5606 static const SvxMSDffVertPair mso_sptWedgeEllipseCalloutGluePoints[] = 5607 { 5608 { 10800, 0 }, { 3160, 3160 }, { 0, 10800 }, { 3160, 18440 }, { 10800, 21600 }, { 18440, 18440 }, { 21600, 10800 }, { 18440, 3160 }, { 0xe MSO_I, 0xf MSO_I } 5609 }; 5610 static const SvxMSDffTextRectangles mso_sptWedgeEllipseCalloutTextRect[] = 5611 { 5612 { { 3200, 3200 }, { 18400, 18400 } } 5613 }; 5614 static const mso_CustomShape msoWedgeEllipseCallout = 5615 { 5616 (SvxMSDffVertPair*)mso_sptWedgeEllipseCalloutVert, sizeof( mso_sptWedgeEllipseCalloutVert ) / sizeof( SvxMSDffVertPair ), 5617 (sal_uInt16*)mso_sptWedgeEllipseCalloutSegm, sizeof( mso_sptWedgeEllipseCalloutSegm ) >> 1, 5618 (SvxMSDffCalculationData*)mso_sptWedgeEllipseCalloutCalc, sizeof( mso_sptWedgeEllipseCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 5619 (sal_Int32*)mso_sptWedgeEllipseCalloutDefault, 5620 (SvxMSDffTextRectangles*)mso_sptWedgeEllipseCalloutTextRect, sizeof( mso_sptWedgeEllipseCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ), 5621 21600, 21600, 5622 0x80000000, 0x80000000, 5623 (SvxMSDffVertPair*)mso_sptWedgeEllipseCalloutGluePoints, sizeof( mso_sptWedgeEllipseCalloutGluePoints ) / sizeof( SvxMSDffVertPair ), 5624 (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles 5625 }; 5626 5627 static const SvxMSDffVertPair mso_sptCloudCalloutVert[] = 5628 { 5629 { 1930,7160 }, // p 5630 { 1530,4490 }, { 3400,1970 }, { 5270,1970 }, // ccp 5631 { 5860,1950 }, { 6470,2210 }, { 6970,2600 }, // ccp 5632 { 7450,1390 }, { 8340,650 }, { 9340,650 }, // ccp 5633 { 10004,690 }, { 10710,1050 }, { 11210,1700 }, // ccp 5634 { 11570,630 }, { 12330,0 }, { 13150,0 }, // ccp 5635 { 13840,0 }, { 14470,460 }, { 14870,1160 }, // ccp 5636 { 15330,440 }, { 16020,0 }, { 16740,0 }, // ccp 5637 { 17910,0 }, { 18900,1130 }, { 19110,2710 }, // ccp 5638 { 20240,3150 }, { 21060,4580 }, { 21060,6220 }, // ccp 5639 { 21060,6720 }, { 21000,7200 }, { 20830,7660 }, // ccp 5640 { 21310,8460 }, { 21600,9450 }, { 21600,10460 }, // ccp 5641 { 21600,12750 }, { 20310,14680 }, { 18650,15010 }, // ccp 5642 { 18650,17200 }, { 17370,18920 }, { 15770,18920 }, // ccp 5643 { 15220,18920 }, { 14700,18710 }, { 14240,18310 }, // ccp 5644 { 13820,20240 }, { 12490,21600 }, { 11000,21600 }, // ccp 5645 { 9890,21600 }, { 8840,20790 }, { 8210,19510 }, // ccp 5646 { 7620,20000 }, { 7930,20290 }, { 6240,20290 }, // ccp 5647 { 4850,20290 }, { 3570,19280 }, { 2900,17640 }, // ccp 5648 { 1300,17600 }, { 480,16300 }, { 480,14660 }, // ccp 5649 { 480,13900 }, { 690,13210 }, { 1070,12640 }, // ccp 5650 { 380,12160 }, { 0,11210 }, { 0,10120 }, // ccp 5651 { 0,8590 }, { 840,7330 }, { 1930,7160 }, // ccp 5652 5653 { 1930, 7160 }, { 1950, 7410 }, { 2040, 7690 }, { 2090, 7920 }, // pccp 5654 { 6970, 2600 }, { 7200, 2790 }, { 7480, 3050 }, { 7670, 3310 }, // pccp 5655 { 11210, 1700 }, { 11130, 1910 }, { 11080, 2160 }, { 11030, 2400 }, // pccp 5656 { 14870, 1160 }, { 14720, 1400 }, { 14640, 1720 }, { 14540, 2010 }, // pccp 5657 { 19110, 2710 }, { 19130, 2890 }, { 19230, 3290 }, { 19190, 3380 }, // pccp 5658 { 20830, 7660 }, { 20660, 8170 }, { 20430, 8620 }, { 20110, 8990 }, // pccp 5659 { 18660, 15010 }, { 18740, 14200 }, { 18280, 12200 }, { 17000, 11450 }, // pccp 5660 { 14240, 18310 }, { 14320, 17980 }, { 14350, 17680 }, { 14370, 17360 }, // pccp 5661 { 8220, 19510 }, { 8060, 19250 }, { 7960, 18950 }, { 7860, 18640 }, // pccp 5662 { 2900, 17640 }, { 3090, 17600 }, { 3280, 17540 }, { 3460, 17450 }, // pccp 5663 { 1070, 12640 }, { 1400, 12900 }, { 1780, 13130 }, { 2330, 13040 }, // pccp 5664 5665 { 0x11 MSO_I, 0x12 MSO_I }, { 1800, 1800 }, { 0, 360 }, // circ1 5666 { 0x13 MSO_I, 0x14 MSO_I }, { 1200, 1200 }, { 0, 360 }, // circ2 5667 { 0xd MSO_I, 0xe MSO_I }, { 700, 700 }, { 0, 360 } // circ3 5668 }; 5669 static const sal_uInt16 mso_sptCloudCalloutSegm[] = 5670 { 5671 0x4000, 0x2016, 0x6001, 0x8000, 5672 0x4000, 0x2001, 0xaa00, 0x8000, 5673 0x4000, 0x2001, 0xaa00, 0x8000, 5674 0x4000, 0x2001, 0xaa00, 0x8000, 5675 0x4000, 0x2001, 0xaa00, 0x8000, 5676 0x4000, 0x2001, 0xaa00, 0x8000, 5677 0x4000, 0x2001, 0xaa00, 0x8000, 5678 0x4000, 0x2001, 0xaa00, 0x8000, 5679 0x4000, 0x2001, 0xaa00, 0x8000, 5680 0x4000, 0x2001, 0xaa00, 0x8000, 5681 0x4000, 0x2001, 0xaa00, 0x8000, 5682 0x4000, 0x2001, 0xaa00, 0x8000, 5683 0xa203, 0x6001, 0x8000, 5684 0xa203, 0x6001, 0x8000, 5685 0xa203, 0x6001, 0x8000 5686 }; 5687 static const SvxMSDffCalculationData mso_sptCloudCalloutCalc[] = 5688 { 5689 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } }, 5690 { 0x2000, { DFF_Prop_adjust2Value, 0, 10800 } }, 5691 { 0x6008, { 0x400, 0x401, 0 } }, 5692 { 0x400a, { 10800, 0x402, 0 } }, // 3 5693 { 0x4009, { 10800, 0x402, 0 } }, // 4 5694 { 0x2000, { 0x403, 10800, 0 } }, // 5 5695 { 0x2000, { 0x404, 10800, 0 } }, // 6 5696 { 0xa000, { DFF_Prop_adjustValue, 0, 0x405 } }, // 7 5697 { 0xa000, { DFF_Prop_adjust2Value,0, 0x406 } }, // 8 5698 { 0x2001, { 0x407, 1, 3 } }, // 9 5699 { 0x2001, { 0x408, 1, 3 } }, // 0xa 5700 { 0x2001, { 0x407, 2, 3 } }, // 0xb 5701 { 0x2001, { 0x408, 2, 3 } }, // 0xc 5702 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 0xd 5703 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, // 0xe 5704 { 0x2001, { 0x403, 1, 10800 / 900 } }, // 0xf taking half x distance of the radius from the first bobble 5705 { 0x2001, { 0x404, 1, 10800 / 900 } }, // 0x10 5706 { 0xe000, { 0x409, 0x405, 0x40f } }, // 0x11 5707 { 0xe000, { 0x40a, 0x406, 0x410 } }, // 0x12 5708 { 0x6000, { 0x40b, 0x405, 0 } }, // 0x13 5709 { 0x6000, { 0x40c, 0x406, 0 } } // 0x14 5710 }; 5711 static const sal_Int32 mso_sptCloudCalloutDefault[] = 5712 { 5713 2, 1350, 25920 5714 }; 5715 static const SvxMSDffTextRectangles mso_sptCloudCalloutTextRect[] = 5716 { 5717 { { 3000, 3320 }, { 17110, 17330 } } 5718 }; 5719 static const mso_CustomShape msoCloudCallout = 5720 { 5721 (SvxMSDffVertPair*)mso_sptCloudCalloutVert, sizeof( mso_sptCloudCalloutVert ) / sizeof( SvxMSDffVertPair ), 5722 (sal_uInt16*)mso_sptCloudCalloutSegm, sizeof( mso_sptCloudCalloutSegm ) >> 1, 5723 (SvxMSDffCalculationData*)mso_sptCloudCalloutCalc, sizeof( mso_sptCloudCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 5724 (sal_Int32*)mso_sptCloudCalloutDefault, 5725 (SvxMSDffTextRectangles*)mso_sptCloudCalloutTextRect, sizeof( mso_sptCloudCalloutTextRect ) / sizeof( SvxMSDffTextRectangles ), 5726 21600, 21600, 5727 0x80000000, 0x80000000, 5728 NULL, 0, 5729 (SvxMSDffHandle*)mso_sptCalloutHandle, sizeof( mso_sptCalloutHandle ) / sizeof( SvxMSDffHandle ) // handles 5730 }; 5731 5732 static const SvxMSDffVertPair mso_sptWaveVert[] = // adjustment1 : 0 - 4460 5733 { // adjustment2 : 8640 - 12960 5734 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I }, 5735 { 24 MSO_I, 1 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 29 MSO_I, 1 MSO_I } 5736 }; 5737 static const SvxMSDffCalculationData mso_sptWaveCalc[] = 5738 { 5739 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //400 (vert.adj) 5740 { 0x8000, { 21600, 0, 0x400 } }, //401 5741 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },//402 (horz.adj) 5742 { 0x2000, { 0x402, 0, 10800 } }, //403 -2160 -> 2160 (horz.adj) 5743 { 0x2001, { 0x403, 2, 1 } }, //404 -4320 -> 4320 (horz.adj) 5744 { 0x2003, { 0x404, 0, 0 } }, //405 abs( 0x404 ) (horz.adj) 5745 { 0x8000, { 4320, 0, 0x405 } }, //406 5746 { 0xa006, { 0x403, 0, 0x405 } }, //407 5747 { 0x4001, { 15800, 0x400, 4460 } }, //408 0 -> 15800 (vert.adj) 5748 { 0xa000, { 0x400, 0, 0x408 } }, //409 5749 { 0x6000, { 0x400, 0x408, 0 } }, //40a 5750 { 0x8000, { 21600, 0, 0x404 } }, //40b 5751 { 0x6006, { 0x403, 0x40b, 21600 } }, //40c 5752 { 0xa000, { 0x40c, 0, 0x407 } }, //40d width between p0 and p1 5753 { 0x2001, { 0x405, 1, 2 } }, //40e 5754 { 0xa000, { 0x407, 7200, 0x40e } }, //40f 5755 { 0x6000, { 0x40c, 0x40e, 7200 } }, //410 5756 { 0x2001, { 0x40d, 1, 2 } }, //411 1/2 width 5757 { 0x6000, { 0x407, 0x411, 0 } }, //412 top center glue xpos 5758 { 0x8000, { 21600, 0, 0x412 } }, //413 bottom center glue xpos 5759 { 0x2001, { 0x405, 1, 2 } }, //414 left glue x pos 5760 { 0x8000, { 21600, 0, 0x414 } }, //415 right glue x pos 5761 { 0x2001, { 0x400, 2, 1 } }, //416 y1 (textbox) 5762 { 0x8000, { 21600, 0, 0x416 } }, //417 y2 (textbox) 5763 5764 { 0x8000, { 21600, 0, 0x407 } }, //418 p2 5765 5766 { 0x8000, { 21600, 0, 0x40f } }, //419 c 5767 { 0x6000, { 0x401, 0x408, 0 } }, //41a 5768 5769 { 0x8000, { 21600, 0, 0x410 } }, //41b c 5770 { 0xa000, { 0x401, 0, 0x408 } }, //41c 5771 5772 { 0x8000, { 21600, 0, 0x40c } } //41d p3 5773 }; 5774 static const SvxMSDffVertPair mso_sptWaveGluePoints[] = 5775 { 5776 { 0x12 MSO_I, 0 MSO_I }, { 0x14 MSO_I, 10800 }, { 0x13 MSO_I, 1 MSO_I }, { 0x15 MSO_I, 10800 } 5777 }; 5778 static const sal_uInt16 mso_sptWaveSegm[] = 5779 { 5780 0x4000, 0x2001, 0x0001, 0x2001, 0x6000, 0x8000 5781 }; 5782 static const SvxMSDffHandle mso_sptWaveHandle[] = 5783 { 5784 { MSDFF_HANDLE_FLAGS_RANGE, 5785 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 4460 }, 5786 { MSDFF_HANDLE_FLAGS_RANGE, 5787 0x101, 21600, 10800, 10800, 8640, 12960, 0x80000000, 0x7fffffff } 5788 }; 5789 static const sal_Int32 mso_sptWaveDefault[] = 5790 { 5791 2, 1400, 10800 5792 }; 5793 static const SvxMSDffTextRectangles mso_sptWaveTextRect[] = 5794 { 5795 { { 5 MSO_I, 22 MSO_I }, { 11 MSO_I, 23 MSO_I } } 5796 }; 5797 static const mso_CustomShape msoWave = 5798 { 5799 (SvxMSDffVertPair*)mso_sptWaveVert, sizeof( mso_sptWaveVert ) / sizeof( SvxMSDffVertPair ), 5800 (sal_uInt16*)mso_sptWaveSegm, sizeof( mso_sptWaveSegm ) >> 1, 5801 (SvxMSDffCalculationData*)mso_sptWaveCalc, sizeof( mso_sptWaveCalc ) / sizeof( SvxMSDffCalculationData ), 5802 (sal_Int32*)mso_sptWaveDefault, 5803 (SvxMSDffTextRectangles*)mso_sptWaveTextRect, sizeof( mso_sptWaveTextRect ) / sizeof( SvxMSDffTextRectangles ), 5804 21600, 21600, 5805 0x80000000, 0x80000000, 5806 (SvxMSDffVertPair*)mso_sptWaveGluePoints, sizeof( mso_sptWaveGluePoints ) / sizeof( SvxMSDffVertPair ), 5807 (SvxMSDffHandle*)mso_sptWaveHandle, sizeof( mso_sptWaveHandle ) / sizeof( SvxMSDffHandle ) 5808 }; 5809 5810 static const SvxMSDffVertPair mso_sptDoubleWaveVert[] = // adjustment1 : 0 - 2230 5811 { // adjustment2 : 8640 - 12960 5812 { 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 }, 5813 { 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 } 5814 }; 5815 static const SvxMSDffCalculationData mso_sptDoubleWaveCalc[] = 5816 { 5817 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, //400 (vert.adj) 5818 { 0x8000, { 21600, 0, 0x400 } }, //401 5819 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } },//402 (horz.adj) 5820 { 0x2000, { 0x402, 0, 10800 } }, //403 -2160 -> 2160 (horz.adj) 5821 { 0x2001, { 0x403, 2, 1 } }, //404 -4320 -> 4320 (horz.adj) 5822 { 0x2003, { 0x404, 0, 0 } }, //405 abs( 0x404 ) (horz.adj) 5823 { 0x8000, { 4320, 0, 0x405 } }, //406 -> not used 5824 { 0xa006, { 0x403, 0, 0x405 } }, //407 5825 { 0x4001, { 7900, 0x400, 2230 } }, //408 0 -> 7900 (vert.adj) 5826 { 0xa000, { 0x400, 0, 0x408 } }, //409 5827 { 0x6000, { 0x400, 0x408, 0 } }, //40a 5828 { 0x8000, { 21600, 0, 0x404 } }, //40b 5829 { 0x6006, { 0x403, 0x40b, 21600 } }, //40c 5830 { 0xa000, { 0x40c, 0, 0x407 } }, //40d width between p0 and p1 5831 { 0x2001, { 0x405, 1, 2 } }, //40e 5832 { 0xa000, { 0x407, 3600, 0x40e } }, //40f 5833 { 0x6000, { 0x40c, 0x40e, 3600 } }, //410 5834 { 0x2001, { 0x40d, 1, 2 } }, //411 1/2 width 5835 { 0x6000, { 0x407, 0x411, 0 } }, //412 top center glue xpos 5836 { 0x8000, { 21600, 0, 0x412 } }, //413 bottom center glue xpos 5837 { 0x2001, { 0x405, 1, 2 } }, //414 left glue x pos 5838 { 0x8000, { 21600, 0, 0x414 } }, //415 right glue x pos 5839 { 0x2001, { 0x400, 2, 1 } }, //416 y1 (textbox) 5840 { 0x8000, { 21600, 0, 0x416 } }, //417 y2 (textbox) 5841 5842 { 0x8000, { 21600, 0, 0x407 } }, //418 p2 5843 5844 { 0x8000, { 21600, 0, 0x40f } }, //419 c 5845 { 0x6000, { 0x401, 0x408, 0 } }, //41a 5846 5847 { 0x8000, { 21600, 0, 0x410 } }, //41b c 5848 { 0xa000, { 0x401, 0, 0x408 } }, //41c 5849 5850 { 0x8000, { 21600, 0, 0x40c } }, //41d p3 5851 { 0xa000, { 0x412, 0, 0x40e } }, //41e 5852 { 0x6000, { 0x412, 0x40e, 0 } }, //41f 5853 { 0xa000, { 0x413, 0, 0x40e } }, //420 5854 { 0x6000, { 0x413, 0x40e, 0 } } //421 5855 }; 5856 static const SvxMSDffVertPair mso_sptDoubleWaveGluePoints[] = 5857 { 5858 { 0x12 MSO_I, 0 MSO_I }, { 0x14 MSO_I, 10800 }, { 0x13 MSO_I, 1 MSO_I }, { 0x15 MSO_I, 10800 } 5859 }; 5860 static const sal_uInt16 mso_sptDoubleWaveSegm[] = 5861 { 5862 0x4000, 0x2002, 0x0001, 0x2002, 0x6000, 0x8000 5863 }; 5864 static const SvxMSDffHandle mso_sptDoubleWaveHandle[] = 5865 { 5866 { MSDFF_HANDLE_FLAGS_RANGE, 5867 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 2230 }, 5868 { MSDFF_HANDLE_FLAGS_RANGE, 5869 0x101, 21600, 10800, 10800, 8640, 12960, 0x80000000, 0x7fffffff } 5870 }; 5871 static const sal_Int32 mso_sptDoubleWaveDefault[] = 5872 { 5873 2, 1400, 10800 5874 }; 5875 static const SvxMSDffTextRectangles mso_sptDoubleWaveTextRect[] = 5876 { 5877 { { 5 MSO_I, 22 MSO_I }, { 11 MSO_I, 23 MSO_I } } 5878 }; 5879 static const mso_CustomShape msoDoubleWave = 5880 { 5881 (SvxMSDffVertPair*)mso_sptDoubleWaveVert, sizeof( mso_sptDoubleWaveVert ) / sizeof( SvxMSDffVertPair ), 5882 (sal_uInt16*)mso_sptDoubleWaveSegm, sizeof( mso_sptDoubleWaveSegm ) >> 1, 5883 (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, sizeof( mso_sptDoubleWaveCalc ) / sizeof( SvxMSDffCalculationData ), 5884 (sal_Int32*)mso_sptDoubleWaveDefault, 5885 (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, sizeof( mso_sptDoubleWaveTextRect ) / sizeof( SvxMSDffTextRectangles ), 5886 21600, 21600, 5887 0x80000000, 0x80000000, 5888 (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, sizeof( mso_sptDoubleWaveGluePoints ) / sizeof( SvxMSDffVertPair ), 5889 (SvxMSDffHandle*)mso_sptDoubleWaveHandle, sizeof( mso_sptDoubleWaveHandle ) / sizeof( SvxMSDffHandle ) 5890 }; 5891 5892 // for each shapetype a bit of 1 is indicating that the shape is NOT filled by default 5893 static const sal_uInt16 mso_DefaultFillingTable[] = 5894 { 5895 0x0000, 0x0018, 0x01ff, 0x0000, 0x0c00, 0x01e0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000 5896 }; 5897 sal_Bool IsCustomShapeFilledByDefault( MSO_SPT eSpType ) 5898 { 5899 sal_Bool bIsFilledByDefault = sal_True; 5900 sal_uInt32 i = (sal_uInt32)eSpType; 5901 if ( i < 0x100 ) 5902 bIsFilledByDefault = ( mso_DefaultFillingTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) == 0; 5903 return bIsFilledByDefault; 5904 } 5905 sal_Int16 GetCustomShapeConnectionTypeDefault( MSO_SPT eSpType ) 5906 { 5907 sal_Int16 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::SEGMENTS; 5908 const mso_CustomShape* pDefCustomShape = GetCustomShapeContent( eSpType ); 5909 if ( pDefCustomShape && pDefCustomShape->nGluePoints ) 5910 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::CUSTOM; 5911 else 5912 { 5913 switch( eSpType ) 5914 { 5915 case mso_sptRectangle : 5916 case mso_sptRoundRectangle : 5917 case mso_sptPictureFrame : 5918 case mso_sptFlowChartProcess : 5919 case mso_sptFlowChartPredefinedProcess : 5920 case mso_sptFlowChartInternalStorage : 5921 case mso_sptTextPlainText : 5922 case mso_sptTextBox : 5923 case mso_sptVerticalScroll : 5924 case mso_sptHorizontalScroll : 5925 nGluePointType = com::sun::star::drawing::EnhancedCustomShapeGluePointType::RECT; 5926 default: break; 5927 } 5928 } 5929 return nGluePointType; 5930 } 5931 5932 // for each shapetype a bit of 1 is indicating that the shape is NOT stroked by default 5933 // #i28269# 5934 static const sal_uInt16 mso_DefaultStrokingTable[] = 5935 { 5936 0x0000, 0x0000, 0x0000, 0x0000, 5937 0x0800, 0x0000, 0x0000, 0x0000, // #i28269# Added shape 75 (mso_sptPictureFrame) 5938 0x0000, 0x0000, 0x0000, 0x0000, 5939 0x0000, 0x0000, 0x0000, 0x0000 5940 }; 5941 // #i28269# 5942 sal_Bool IsCustomShapeStrokedByDefault( MSO_SPT eSpType ) 5943 { 5944 sal_Bool bIsStrokedByDefault = sal_True; 5945 sal_uInt32 i = (sal_uInt32)eSpType; 5946 if ( i < 0x100 ) 5947 bIsStrokedByDefault = ( mso_DefaultStrokingTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) == 0; 5948 return bIsStrokedByDefault; 5949 } 5950 5951 static const sal_uInt16 msoSortFilledObjectsToBackTable[] = 5952 { 5953 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0010, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 5954 }; 5955 sal_Bool SortFilledObjectsToBackByDefault( MSO_SPT eSpType ) 5956 { 5957 sal_Bool bSortFilledObjectsToBackByDefault = sal_True; 5958 sal_uInt32 i = (sal_uInt32)eSpType; 5959 if ( i < 0x100 ) 5960 bSortFilledObjectsToBackByDefault = ( msoSortFilledObjectsToBackTable[ i >> 4 ] & ( 1 << ( i & 0xf ) ) ) != 0; 5961 return bSortFilledObjectsToBackByDefault; 5962 } 5963 5964 static const SvxMSDffVertPair mso_sptFontWorkVert[] = 5965 { 5966 { 0, 0 }, { 21600, 0 }, { 0, 21600 }, { 21600, 21600 } 5967 }; 5968 static const sal_uInt16 mso_sptFontWorkSegm[] = 5969 { 5970 0x4000, 0x0001, 0x8000, 5971 0x4000, 0x0001, 0x8000 5972 }; 5973 static const SvxMSDffTextRectangles mso_sptFontWorkTextRect[] = 5974 { 5975 { { 0, 0 }, { 21600, 21600 } } 5976 }; 5977 static const mso_CustomShape msoFontWork = 5978 { 5979 (SvxMSDffVertPair*)mso_sptFontWorkVert, sizeof( mso_sptFontWorkVert ) / sizeof( SvxMSDffVertPair ), 5980 (sal_uInt16*)mso_sptFontWorkSegm, sizeof( mso_sptFontWorkSegm ) >> 1, 5981 NULL, 0, 5982 NULL, 5983 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 5984 21600, 21600, 5985 0x80000000, 0x80000000, 5986 NULL, 0, 5987 NULL, 0 // Handles 5988 }; 5989 5990 static const SvxMSDffVertPair mso_sptTextPlainTextVert[] = 5991 { 5992 { 3 MSO_I, 0 }, { 5 MSO_I, 0 }, { 6 MSO_I, 21600 }, { 7 MSO_I, 21600 } 5993 }; 5994 static const SvxMSDffCalculationData mso_sptTextPlainTextCalc[] = // adjustment1 : 6629 - 14971 5995 { 5996 { 0x2000, { DFF_Prop_adjustValue, 0, 10800 } }, 5997 { 0x2001, { 0x400, 2, 1 } }, 5998 { 0x2003, { 0x401, 0, 0 } }, 5999 { 0xa006, { 0x401, 0, 0x402 } }, // x1(3) 6000 { 0x8000, { 21600, 0, 0x402 } }, 6001 { 0x6006, { 0x401, 0x404, 21600 } }, // x2(5) 6002 { 0x6006, { 0x401, 0x402, 0 } }, // x2 6003 { 0xa006, { 0x401, 21600, 0x404 } } // x3(7) 6004 }; 6005 static const sal_uInt16 mso_sptTextPlainTextSegm[] = 6006 { 6007 0x4000, 0x0001, 0x8000, 6008 0x4000, 0x0001, 0x8000 6009 }; 6010 static const SvxMSDffHandle mso_sptTextPlainTextHandle[] = 6011 { 6012 { MSDFF_HANDLE_FLAGS_RANGE, 6013 0x100, 21600, 10800, 10800, 6629, 14971, 0x80000000, 0x7fffffff } 6014 }; 6015 static const mso_CustomShape msoTextPlainText = 6016 { 6017 (SvxMSDffVertPair*)mso_sptTextPlainTextVert, sizeof( mso_sptTextPlainTextVert ) / sizeof( SvxMSDffVertPair ), 6018 (sal_uInt16*)mso_sptTextPlainTextSegm, sizeof( mso_sptTextPlainTextSegm ) >> 1, 6019 (SvxMSDffCalculationData*)mso_sptTextPlainTextCalc, sizeof( mso_sptTextPlainTextCalc ) / sizeof( SvxMSDffCalculationData ), 6020 (sal_Int32*)mso_sptDefault10800, 6021 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6022 21600, 21600, 6023 0x80000000, 0x80000000, 6024 NULL, 0, 6025 (SvxMSDffHandle*)mso_sptTextPlainTextHandle, sizeof( mso_sptTextPlainTextHandle ) / sizeof( SvxMSDffHandle ) 6026 }; 6027 6028 static const SvxMSDffVertPair mso_sptTextStopVert[] = 6029 { 6030 { 0, 0 MSO_I }, { 7200, 0 }, { 14400, 0 }, { 21600, 0 MSO_I }, 6031 { 0, 1 MSO_I }, { 7200, 21600 }, { 14400, 21600 }, { 21600, 1 MSO_I } 6032 }; 6033 static const SvxMSDffCalculationData mso_sptTextStopCalc[] = // adjustment1 : 3080 - 10800 6034 { 6035 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 6036 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } } 6037 }; 6038 static const sal_uInt16 mso_sptTextStopSegm[] = 6039 { 6040 0x4000, 0x0003, 0x8000, 6041 0x4000, 0x0003, 0x8000 6042 }; 6043 static const sal_Int32 mso_sptTextStopDefault[] = 6044 { 6045 1, 2700 6046 }; 6047 static const SvxMSDffHandle mso_sptTextStopHandle[] = 6048 { 6049 { MSDFF_HANDLE_FLAGS_RANGE, 6050 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 3080, 10800 } 6051 }; 6052 static const mso_CustomShape msoTextStop = 6053 { 6054 (SvxMSDffVertPair*)mso_sptTextStopVert, sizeof( mso_sptTextStopVert ) / sizeof( SvxMSDffVertPair ), 6055 (sal_uInt16*)mso_sptTextStopSegm, sizeof( mso_sptTextStopSegm ) >> 1, 6056 (SvxMSDffCalculationData*)mso_sptTextStopCalc, sizeof( mso_sptTextStopCalc ) / sizeof( SvxMSDffCalculationData ), 6057 (sal_Int32*)mso_sptTextStopDefault, 6058 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6059 21600, 21600, 6060 0x80000000, 0x80000000, 6061 NULL, 0, 6062 (SvxMSDffHandle*)mso_sptTextStopHandle, sizeof( mso_sptTextStopHandle ) / sizeof( SvxMSDffHandle ) 6063 }; 6064 6065 static const SvxMSDffVertPair mso_sptTextTriangleVert[] = 6066 { 6067 { 0, 0 MSO_I }, { 10800, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 21600, 21600 } 6068 }; 6069 static const SvxMSDffCalculationData mso_sptTextTriangleCalc[] = // adjustment1 : 6629 - 14971 6070 { 6071 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } } 6072 }; 6073 static const sal_uInt16 mso_sptTextTriangleSegm[] = 6074 { 6075 0x4000, 0x0002, 0x8000, 6076 0x4000, 0x0001, 0x8000 6077 }; 6078 static const SvxMSDffHandle mso_sptTextTriangleHandle[] = 6079 { 6080 { MSDFF_HANDLE_FLAGS_RANGE, 6081 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 21600 } 6082 }; 6083 static const mso_CustomShape msoTextTriangle = 6084 { 6085 (SvxMSDffVertPair*)mso_sptTextTriangleVert, sizeof( mso_sptTextTriangleVert ) / sizeof( SvxMSDffVertPair ), 6086 (sal_uInt16*)mso_sptTextTriangleSegm, sizeof( mso_sptTextTriangleSegm ) >> 1, 6087 (SvxMSDffCalculationData*)mso_sptTextTriangleCalc, sizeof( mso_sptTextTriangleCalc ) / sizeof( SvxMSDffCalculationData ), 6088 (sal_Int32*)mso_sptDefault10800, 6089 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6090 21600, 21600, 6091 0x80000000, 0x80000000, 6092 NULL, 0, 6093 (SvxMSDffHandle*)mso_sptTextTriangleHandle, sizeof( mso_sptTextTriangleHandle ) / sizeof( SvxMSDffHandle ) 6094 }; 6095 static const SvxMSDffVertPair mso_sptTextTriangleInvertedVert[] = 6096 { 6097 { 0, 0 }, { 21600, 0 }, { 0, 0 MSO_I }, { 10800, 21600 }, { 21600, 0 MSO_I } 6098 }; 6099 static const sal_uInt16 mso_sptTextTriangleInvertedSegm[] = 6100 { 6101 0x4000, 0x0001, 0x8000, 6102 0x4000, 0x0002, 0x8000 6103 }; 6104 static const mso_CustomShape msoTextTriangleInverted = 6105 { 6106 (SvxMSDffVertPair*)mso_sptTextTriangleInvertedVert, sizeof( mso_sptTextTriangleInvertedVert ) / sizeof( SvxMSDffVertPair ), 6107 (sal_uInt16*)mso_sptTextTriangleInvertedSegm, sizeof( mso_sptTextTriangleInvertedSegm ) >> 1, 6108 (SvxMSDffCalculationData*)mso_sptTextTriangleCalc, sizeof( mso_sptTextTriangleCalc ) / sizeof( SvxMSDffCalculationData ), 6109 (sal_Int32*)mso_sptDefault10800, 6110 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6111 21600, 21600, 6112 0x80000000, 0x80000000, 6113 NULL, 0, 6114 (SvxMSDffHandle*)mso_sptTextTriangleHandle, sizeof( mso_sptTextTriangleHandle ) / sizeof( SvxMSDffHandle ) 6115 }; 6116 6117 static const SvxMSDffVertPair mso_sptTextChevronVert[] = 6118 { 6119 { 0, 0 MSO_I }, { 10800, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 10800, 1 MSO_I }, { 21600, 21600 } 6120 }; 6121 static const SvxMSDffCalculationData mso_sptTextChevronCalc[] = // adjustment1 : 6629 - 14971 6122 { 6123 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 6124 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } } 6125 }; 6126 static const sal_uInt16 mso_sptTextChevronSegm[] = 6127 { 6128 0x4000, 0x0002, 0x8000, 6129 0x4000, 0x0002, 0x8000 6130 }; 6131 static const SvxMSDffHandle mso_sptTextChevronHandle[] = 6132 { 6133 { MSDFF_HANDLE_FLAGS_RANGE, 6134 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10800 } 6135 }; 6136 static const mso_CustomShape msoTextChevron = 6137 { 6138 (SvxMSDffVertPair*)mso_sptTextChevronVert, sizeof( mso_sptTextChevronVert ) / sizeof( SvxMSDffVertPair ), 6139 (sal_uInt16*)mso_sptTextChevronSegm, sizeof( mso_sptTextChevronSegm ) >> 1, 6140 (SvxMSDffCalculationData*)mso_sptTextChevronCalc, sizeof( mso_sptTextChevronCalc ) / sizeof( SvxMSDffCalculationData ), 6141 (sal_Int32*)mso_sptDefault5400, 6142 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6143 21600, 21600, 6144 0x80000000, 0x80000000, 6145 NULL, 0, 6146 (SvxMSDffHandle*)mso_sptTextChevronHandle, sizeof( mso_sptTextChevronHandle ) / sizeof( SvxMSDffHandle ) 6147 }; 6148 6149 static const SvxMSDffVertPair mso_sptTextChevronInvertedVert[] = 6150 { 6151 { 0, 0 }, { 10800, 1 MSO_I }, { 21600, 0 }, { 0, 0 MSO_I }, { 10800, 21600 }, { 21600, 0 MSO_I } 6152 }; 6153 static const SvxMSDffCalculationData mso_sptTextChevronInvertedCalc[] = // adjustment1 : 6629 - 14971 6154 { 6155 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 6156 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } } 6157 }; 6158 static const sal_uInt16 mso_sptTextChevronInvertedSegm[] = 6159 { 6160 0x4000, 0x0002, 0x8000, 6161 0x4000, 0x0002, 0x8000 6162 }; 6163 static const SvxMSDffHandle mso_sptTextChevronInvertedHandle[] = 6164 { 6165 { MSDFF_HANDLE_FLAGS_RANGE, 6166 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 10800, 21600 } 6167 }; 6168 static const mso_CustomShape msoTextChevronInverted = 6169 { 6170 (SvxMSDffVertPair*)mso_sptTextChevronInvertedVert, sizeof( mso_sptTextChevronInvertedVert ) / sizeof( SvxMSDffVertPair ), 6171 (sal_uInt16*)mso_sptTextChevronInvertedSegm, sizeof( mso_sptTextChevronInvertedSegm ) >> 1, 6172 (SvxMSDffCalculationData*)mso_sptTextChevronInvertedCalc, sizeof( mso_sptTextChevronInvertedCalc ) / sizeof( SvxMSDffCalculationData ), 6173 (sal_Int32*)mso_sptDefault16200, 6174 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6175 21600, 21600, 6176 0x80000000, 0x80000000, 6177 NULL, 0, 6178 (SvxMSDffHandle*)mso_sptTextChevronInvertedHandle, sizeof( mso_sptTextChevronInvertedHandle ) / sizeof( SvxMSDffHandle ) 6179 }; 6180 6181 static const SvxMSDffVertPair mso_sptTextRingOutsideVert[] = 6182 { 6183 { 10800, 0 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 }, 6184 { 10800, 1 MSO_I }, { 10800, 0 MSO_I }, { 180, 359 } 6185 }; 6186 static const SvxMSDffCalculationData mso_sptTextRingOutsideCalc[] = // adjustment1 : 6629 - 14971 6187 { 6188 { 0x2001, { DFF_Prop_adjustValue, 1, 2 } }, 6189 { 0x8000, { 21600, 0, 0x400 } } 6190 }; 6191 static const sal_uInt16 mso_sptTextRingOutsideSegm[] = 6192 { 6193 0xA203, 0x8000, 6194 0xA203, 0x8000 6195 }; 6196 static const SvxMSDffHandle mso_sptTextRingOutsideHandle[] = 6197 { 6198 { MSDFF_HANDLE_FLAGS_RANGE, 6199 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 10800, 21600 } 6200 }; 6201 static const mso_CustomShape msoTextRingOutside = 6202 { 6203 (SvxMSDffVertPair*)mso_sptTextRingOutsideVert, sizeof( mso_sptTextRingOutsideVert ) / sizeof( SvxMSDffVertPair ), 6204 (sal_uInt16*)mso_sptTextRingOutsideSegm, sizeof( mso_sptTextRingOutsideSegm ) >> 1, 6205 (SvxMSDffCalculationData*)mso_sptTextRingOutsideCalc, sizeof( mso_sptTextRingOutsideCalc ) / sizeof( SvxMSDffCalculationData ), 6206 (sal_Int32*)mso_sptDefault16200, 6207 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6208 21600, 21600, 6209 0x80000000, 0x80000000, 6210 NULL, 0, 6211 (SvxMSDffHandle*)mso_sptTextRingOutsideHandle, sizeof( mso_sptTextRingOutsideHandle ) / sizeof( SvxMSDffHandle ) 6212 }; 6213 6214 static const SvxMSDffVertPair mso_sptTextFadeRightVert[] = 6215 { 6216 { 0, 0 }, { 21600, 0 MSO_I }, { 0, 21600 }, { 21600, 1 MSO_I } 6217 }; 6218 static const SvxMSDffCalculationData mso_sptTextFadeCalc[] = 6219 { 6220 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 6221 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } } 6222 }; 6223 static const sal_uInt16 mso_sptTextFadeSegm[] = 6224 { 6225 0x4000, 0x0001, 0x8000, 6226 0x4000, 0x0001, 0x8000 6227 }; 6228 static const SvxMSDffHandle mso_sptTextFadeRightHandle[] = 6229 { 6230 { MSDFF_HANDLE_FLAGS_RANGE, 6231 21600, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10800 } 6232 }; 6233 static const mso_CustomShape msoTextFadeRight = 6234 { 6235 (SvxMSDffVertPair*)mso_sptTextFadeRightVert, sizeof( mso_sptTextFadeRightVert ) / sizeof( SvxMSDffVertPair ), 6236 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6237 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6238 (sal_Int32*)mso_sptDefault7200, 6239 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6240 21600, 21600, 6241 0x80000000, 0x80000000, 6242 NULL, 0, 6243 (SvxMSDffHandle*)mso_sptTextFadeRightHandle, sizeof( mso_sptTextFadeRightHandle ) / sizeof( SvxMSDffHandle ) 6244 }; 6245 6246 static const SvxMSDffVertPair mso_sptTextFadeLeftVert[] = 6247 { 6248 { 0, 0 MSO_I }, { 21600, 0 }, { 0, 1 MSO_I }, { 21600, 21600 } 6249 }; 6250 static const SvxMSDffHandle mso_sptTextFadeLeftHandle[] = 6251 { 6252 { MSDFF_HANDLE_FLAGS_RANGE, 6253 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10800 } 6254 }; 6255 static const mso_CustomShape msoTextFadeLeft = 6256 { 6257 (SvxMSDffVertPair*)mso_sptTextFadeLeftVert, sizeof( mso_sptTextFadeLeftVert ) / sizeof( SvxMSDffVertPair ), 6258 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6259 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6260 (sal_Int32*)mso_sptDefault7200, 6261 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6262 21600, 21600, 6263 0x80000000, 0x80000000, 6264 NULL, 0, 6265 (SvxMSDffHandle*)mso_sptTextFadeLeftHandle, sizeof( mso_sptTextFadeLeftHandle ) / sizeof( SvxMSDffHandle ) 6266 }; 6267 6268 static const SvxMSDffVertPair mso_sptTextFadeUpVert[] = 6269 { 6270 { 0 MSO_I, 0 }, { 1 MSO_I, 0 }, { 0, 21600 }, { 21600, 21600 } 6271 }; 6272 static const SvxMSDffHandle mso_sptTextFadeUpHandle[] = 6273 { 6274 { MSDFF_HANDLE_FLAGS_RANGE, 6275 0x100, 0, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6276 }; 6277 static const mso_CustomShape msoTextFadeUp = 6278 { 6279 (SvxMSDffVertPair*)mso_sptTextFadeUpVert, sizeof( mso_sptTextFadeUpVert ) / sizeof( SvxMSDffVertPair ), 6280 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6281 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6282 (sal_Int32*)mso_sptDefault7200, 6283 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6284 21600, 21600, 6285 0x80000000, 0x80000000, 6286 NULL, 0, 6287 (SvxMSDffHandle*)mso_sptTextFadeUpHandle, sizeof( mso_sptTextFadeUpHandle ) / sizeof( SvxMSDffHandle ) 6288 }; 6289 6290 static const SvxMSDffVertPair mso_sptTextFadeDownVert[] = 6291 { 6292 { 0, 0 }, { 21600, 0 }, { 0 MSO_I, 21600 }, { 1 MSO_I, 21600 } 6293 }; 6294 static const SvxMSDffHandle mso_sptTextFadeDownHandle[] = 6295 { 6296 { MSDFF_HANDLE_FLAGS_RANGE, 6297 0x100, 21600, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6298 }; 6299 static const mso_CustomShape msoTextFadeDown = 6300 { 6301 (SvxMSDffVertPair*)mso_sptTextFadeDownVert, sizeof( mso_sptTextFadeDownVert ) / sizeof( SvxMSDffVertPair ), 6302 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6303 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6304 (sal_Int32*)mso_sptDefault7200, 6305 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6306 21600, 21600, 6307 0x80000000, 0x80000000, 6308 NULL, 0, 6309 (SvxMSDffHandle*)mso_sptTextFadeDownHandle, sizeof( mso_sptTextFadeDownHandle ) / sizeof( SvxMSDffHandle ) 6310 }; 6311 6312 static const SvxMSDffVertPair mso_sptTextSlantUpVert[] = 6313 { 6314 { 0, 0 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 1 MSO_I } 6315 }; 6316 static const SvxMSDffHandle mso_sptTextSlantUpHandle[] = 6317 { 6318 { MSDFF_HANDLE_FLAGS_RANGE, 6319 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 15400 } 6320 }; 6321 static const mso_CustomShape msoTextSlantUp = 6322 { 6323 (SvxMSDffVertPair*)mso_sptTextSlantUpVert, sizeof( mso_sptTextSlantUpVert ) / sizeof( SvxMSDffVertPair ), 6324 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6325 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6326 (sal_Int32*)mso_sptDefault12000, 6327 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6328 21600, 21600, 6329 0x80000000, 0x80000000, 6330 NULL, 0, 6331 (SvxMSDffHandle*)mso_sptTextSlantUpHandle, sizeof( mso_sptTextSlantUpHandle ) / sizeof( SvxMSDffHandle ) 6332 }; 6333 6334 static const SvxMSDffVertPair mso_sptTextSlantDownVert[] = 6335 { 6336 { 0, 0 }, { 21600, 1 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 } 6337 }; 6338 static const SvxMSDffHandle mso_sptTextSlantDownHandle[] = 6339 { 6340 { MSDFF_HANDLE_FLAGS_RANGE, 6341 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 6200, 21600 } 6342 }; 6343 static const mso_CustomShape msoTextSlantDown = 6344 { 6345 (SvxMSDffVertPair*)mso_sptTextSlantDownVert, sizeof( mso_sptTextSlantDownVert ) / sizeof( SvxMSDffVertPair ), 6346 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6347 (SvxMSDffCalculationData*)mso_sptTextFadeCalc, sizeof( mso_sptTextFadeCalc ) / sizeof( SvxMSDffCalculationData ), 6348 (sal_Int32*)mso_sptDefault12000, 6349 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6350 21600, 21600, 6351 0x80000000, 0x80000000, 6352 NULL, 0, 6353 (SvxMSDffHandle*)mso_sptTextSlantDownHandle, sizeof( mso_sptTextSlantDownHandle ) / sizeof( SvxMSDffHandle ) 6354 }; 6355 6356 static const SvxMSDffVertPair mso_sptTextCascadeUpVert[] = 6357 { 6358 { 0, 2 MSO_I }, { 21600, 0 }, { 0, 21600 }, { 21600, 0 MSO_I } 6359 }; 6360 static const SvxMSDffCalculationData mso_sptTextCascadeCalc[] = 6361 { 6362 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 6363 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, 6364 { 0x2001, { 0x401, 1, 4 } } 6365 }; 6366 static const SvxMSDffHandle mso_sptTextCascadeUpHandle[] = 6367 { 6368 { MSDFF_HANDLE_FLAGS_RANGE, 6369 21600, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 6200, 21600 } 6370 }; 6371 static const mso_CustomShape msoTextCascadeUp = 6372 { 6373 (SvxMSDffVertPair*)mso_sptTextCascadeUpVert, sizeof( mso_sptTextCascadeUpVert ) / sizeof( SvxMSDffVertPair ), 6374 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6375 (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, sizeof( mso_sptTextCascadeCalc ) / sizeof( SvxMSDffCalculationData ), 6376 (sal_Int32*)mso_sptDefault9600, 6377 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6378 21600, 21600, 6379 0x80000000, 0x80000000, 6380 NULL, 0, 6381 (SvxMSDffHandle*)mso_sptTextCascadeUpHandle, sizeof( mso_sptTextCascadeUpHandle ) / sizeof( SvxMSDffHandle ) 6382 }; 6383 6384 static const SvxMSDffVertPair mso_sptTextCascadeDownVert[] = 6385 { 6386 { 0, 0 }, { 21600, 2 MSO_I }, { 0, 0 MSO_I }, { 21600, 21600 } 6387 }; 6388 static const SvxMSDffHandle mso_sptTextCascadeDownHandle[] = 6389 { 6390 { MSDFF_HANDLE_FLAGS_RANGE, 6391 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 6200, 21600 } 6392 }; 6393 static const mso_CustomShape msoTextCascadeDown = 6394 { 6395 (SvxMSDffVertPair*)mso_sptTextCascadeDownVert, sizeof( mso_sptTextCascadeDownVert ) / sizeof( SvxMSDffVertPair ), 6396 (sal_uInt16*)mso_sptTextFadeSegm, sizeof( mso_sptTextFadeSegm ) >> 1, 6397 (SvxMSDffCalculationData*)mso_sptTextCascadeCalc, sizeof( mso_sptTextCascadeCalc ) / sizeof( SvxMSDffCalculationData ), 6398 (sal_Int32*)mso_sptDefault9600, 6399 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6400 21600, 21600, 6401 0x80000000, 0x80000000, 6402 NULL, 0, 6403 (SvxMSDffHandle*)mso_sptTextCascadeDownHandle, sizeof( mso_sptTextCascadeDownHandle ) / sizeof( SvxMSDffHandle ) 6404 }; 6405 6406 static const SvxMSDffVertPair mso_sptTextArchUpCurveVert[] = 6407 { 6408 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I } 6409 }; 6410 static const SvxMSDffCalculationData mso_sptTextArchCurveCalc[] = 6411 { 6412 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, 6413 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, 6414 { 0x2000, { 0x400, 10800, 0 } }, 6415 { 0x2000, { 0x401, 10800, 0 } }, 6416 { 0x8000, { 21600, 0, 0x402 } } 6417 }; 6418 static const sal_uInt16 mso_sptTextArchUpCurveSegm[] = 6419 { 6420 0xA504, 0x8000 // clockw�se arc 6421 }; 6422 static const SvxMSDffHandle mso_sptTextArchUpCurveHandle[] = 6423 { 6424 { MSDFF_HANDLE_FLAGS_POLAR, 6425 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6426 }; 6427 static const sal_Int32 mso_sptTextArchUpCurveDefault[] = 6428 { 6429 1, 180 6430 }; 6431 static const mso_CustomShape msoTextArchUpCurve = 6432 { 6433 (SvxMSDffVertPair*)mso_sptTextArchUpCurveVert, sizeof( mso_sptTextArchUpCurveVert ) / sizeof( SvxMSDffVertPair ), 6434 (sal_uInt16*)mso_sptTextArchUpCurveSegm, sizeof( mso_sptTextArchUpCurveSegm ) >> 1, 6435 (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, sizeof( mso_sptTextArchCurveCalc ) / sizeof( SvxMSDffCalculationData ), 6436 (sal_Int32*)mso_sptTextArchUpCurveDefault, 6437 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6438 21600, 21600, 6439 0x80000000, 0x80000000, 6440 NULL, 0, 6441 (SvxMSDffHandle*)mso_sptTextArchUpCurveHandle, sizeof( mso_sptTextArchUpCurveHandle ) / sizeof( SvxMSDffHandle ) 6442 }; 6443 6444 static const SvxMSDffVertPair mso_sptTextArchDownCurveVert[] = 6445 { 6446 { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I } 6447 }; 6448 static const sal_uInt16 mso_sptTextArchDownCurveSegm[] = 6449 { 6450 0xA304, 0x8000 // counter clockwise arc to 6451 }; 6452 static const SvxMSDffHandle mso_sptTextArchDownCurveHandle[] = 6453 { 6454 { MSDFF_HANDLE_FLAGS_POLAR, 6455 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6456 }; 6457 static const sal_Int32 mso_sptTextArchDownCurveDefault[] = 6458 { 6459 1, 0 6460 }; 6461 static const mso_CustomShape msoTextArchDownCurve = 6462 { 6463 (SvxMSDffVertPair*)mso_sptTextArchDownCurveVert, sizeof( mso_sptTextArchDownCurveVert ) / sizeof( SvxMSDffVertPair ), 6464 (sal_uInt16*)mso_sptTextArchDownCurveSegm, sizeof( mso_sptTextArchDownCurveSegm ) >> 1, 6465 (SvxMSDffCalculationData*)mso_sptTextArchCurveCalc, sizeof( mso_sptTextArchCurveCalc ) / sizeof( SvxMSDffCalculationData ), 6466 (sal_Int32*)mso_sptTextArchDownCurveDefault, 6467 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6468 21600, 21600, 6469 0x80000000, 0x80000000, 6470 NULL, 0, 6471 (SvxMSDffHandle*)mso_sptTextArchDownCurveHandle, sizeof( mso_sptTextArchDownCurveHandle ) / sizeof( SvxMSDffHandle ) 6472 }; 6473 6474 static const SvxMSDffVertPair mso_sptTextCircleCurveVert[] = 6475 { 6476 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I } 6477 }; 6478 static const SvxMSDffCalculationData mso_sptTextCircleCurveCalc[] = 6479 { 6480 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, 6481 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, 6482 { 0x2000, { 0x400, 10800, 0 } }, 6483 { 0x2000, { 0x401, 10800, 0 } }, 6484 { 0x8000, { 21600, 0, 0x403 } } 6485 }; 6486 static const sal_uInt16 mso_sptTextCircleCurveSegm[] = 6487 { 6488 0xA504, 0x8000 // clockwise arc to 6489 }; 6490 static const SvxMSDffHandle mso_sptTextCircleCurveHandle[] = 6491 { 6492 { MSDFF_HANDLE_FLAGS_POLAR, 6493 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6494 }; 6495 static const sal_Int32 mso_sptTextCircleCurveDefault[] = 6496 { 6497 1, -179 6498 }; 6499 static const mso_CustomShape msoTextCircleCurve = 6500 { 6501 (SvxMSDffVertPair*)mso_sptTextCircleCurveVert, sizeof( mso_sptTextCircleCurveVert ) / sizeof( SvxMSDffVertPair ), 6502 (sal_uInt16*)mso_sptTextCircleCurveSegm, sizeof( mso_sptTextCircleCurveSegm ) >> 1, 6503 (SvxMSDffCalculationData*)mso_sptTextCircleCurveCalc, sizeof( mso_sptTextCircleCurveCalc ) / sizeof( SvxMSDffCalculationData ), 6504 (sal_Int32*)mso_sptTextCircleCurveDefault, 6505 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6506 21600, 21600, 6507 0x80000000, 0x80000000, 6508 NULL, 0, 6509 (SvxMSDffHandle*)mso_sptTextCircleCurveHandle, sizeof( mso_sptTextCircleCurveHandle ) / sizeof( SvxMSDffHandle ) 6510 }; 6511 6512 static const SvxMSDffVertPair mso_sptTextButtonCurveVert[] = 6513 { 6514 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }, 6515 { 0, 10800 }, { 21600, 10800 }, 6516 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I } 6517 }; 6518 static const SvxMSDffCalculationData mso_sptTextButtonCurveCalc[] = 6519 { 6520 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, 6521 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, 6522 { 0x2000, { 0x400, 10800, 0 } }, 6523 { 0x2000, { 0x401, 10800, 0 } }, 6524 { 0x8000, { 21600, 0, 0x402 } }, 6525 { 0x8000, { 21600, 0, 0x403 } } 6526 }; 6527 static const sal_uInt16 mso_sptTextButtonCurveSegm[] = 6528 { 6529 0xA504, 0x8000, // clockwise arc 6530 0x4000, 0x0001, 0x8000, 6531 0xA304, 0x8000 // counter clockwise 6532 }; 6533 static const SvxMSDffHandle mso_sptTextButtonCurveHandle[] = 6534 { 6535 { MSDFF_HANDLE_FLAGS_POLAR, 6536 10800, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6537 }; 6538 static const sal_Int32 mso_sptTextButtonCurveDefault[] = 6539 { 6540 1, 180 6541 }; 6542 static const mso_CustomShape msoTextButtonCurve = 6543 { 6544 (SvxMSDffVertPair*)mso_sptTextButtonCurveVert, sizeof( mso_sptTextButtonCurveVert ) / sizeof( SvxMSDffVertPair ), 6545 (sal_uInt16*)mso_sptTextButtonCurveSegm, sizeof( mso_sptTextButtonCurveSegm ) >> 1, 6546 (SvxMSDffCalculationData*)mso_sptTextButtonCurveCalc, sizeof( mso_sptTextButtonCurveCalc ) / sizeof( SvxMSDffCalculationData ), 6547 (sal_Int32*)mso_sptTextButtonCurveDefault, 6548 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6549 21600, 21600, 6550 0x80000000, 0x80000000, 6551 NULL, 0, 6552 (SvxMSDffHandle*)mso_sptTextButtonCurveHandle, sizeof( mso_sptTextButtonCurveHandle ) / sizeof( SvxMSDffHandle ) 6553 }; 6554 6555 static const SvxMSDffVertPair mso_sptTextArchUpPourVert[] = 6556 { 6557 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }, 6558 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 0xa MSO_I, 9 MSO_I } 6559 }; 6560 static const SvxMSDffCalculationData mso_sptTextArchPourCalc[] = 6561 { 6562 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, 6563 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, 6564 { 0x2000, { 0x400, 10800, 0 } }, 6565 { 0x2000, { 0x401, 10800, 0 } }, 6566 { 0x8000, { 21600, 0, 0x402 } }, 6567 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } }, 6568 { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6 6569 { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } }, 6570 { 0x2000, { 0x406, 10800, 0 } }, // 8 6571 { 0x2000, { 0x407, 10800, 0 } }, 6572 { 0x8000, { 21600, 0, 0x408 } }, // 10 6573 { 0x8000, { 21600, 0, 0x405 } } 6574 }; 6575 static const sal_uInt16 mso_sptTextArchUpPourSegm[] = 6576 { 6577 0xA504, 0x8000, 0xA504, 0x8000 6578 }; 6579 static const SvxMSDffHandle mso_sptTextArchPourHandle[] = 6580 { 6581 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE, 6582 0x101, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6583 }; 6584 static const sal_Int32 mso_sptTextArchUpPourDefault[] = 6585 { 6586 2, 180, 5400 6587 }; 6588 static const mso_CustomShape msoTextArchUpPour = 6589 { 6590 (SvxMSDffVertPair*)mso_sptTextArchUpPourVert, sizeof( mso_sptTextArchUpPourVert ) / sizeof( SvxMSDffVertPair ), 6591 (sal_uInt16*)mso_sptTextArchUpPourSegm, sizeof( mso_sptTextArchUpPourSegm ) >> 1, 6592 (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, sizeof( mso_sptTextArchPourCalc ) / sizeof( SvxMSDffCalculationData ), 6593 (sal_Int32*)mso_sptTextArchUpPourDefault, 6594 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6595 21600, 21600, 6596 0x80000000, 0x80000000, 6597 NULL, 0, 6598 (SvxMSDffHandle*)mso_sptTextArchPourHandle, sizeof( mso_sptTextArchPourHandle ) / sizeof( SvxMSDffHandle ) 6599 }; 6600 6601 static const SvxMSDffVertPair mso_sptTextArchDownPourVert[] = 6602 { 6603 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 0xa MSO_I, 9 MSO_I }, { 8 MSO_I, 9 MSO_I }, 6604 { 0, 0 }, { 21600, 21600 }, { 4 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I } 6605 }; 6606 static const sal_uInt16 mso_sptTextArchDownPourSegm[] = 6607 { 6608 0xA304, 0x8000, 0xA304, 0x8000 6609 }; 6610 static const sal_Int32 mso_sptTextArchDownPourDefault[] = 6611 { 6612 2, 0, 5400 6613 }; 6614 static const mso_CustomShape msoTextArchDownPour = 6615 { 6616 (SvxMSDffVertPair*)mso_sptTextArchDownPourVert, sizeof( mso_sptTextArchDownPourVert ) / sizeof( SvxMSDffVertPair ), 6617 (sal_uInt16*)mso_sptTextArchDownPourSegm, sizeof( mso_sptTextArchDownPourSegm ) >> 1, 6618 (SvxMSDffCalculationData*)mso_sptTextArchPourCalc, sizeof( mso_sptTextArchPourCalc ) / sizeof( SvxMSDffCalculationData ), 6619 (sal_Int32*)mso_sptTextArchDownPourDefault, 6620 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6621 21600, 21600, 6622 0x80000000, 0x80000000, 6623 NULL, 0, 6624 (SvxMSDffHandle*)mso_sptTextArchPourHandle, sizeof( mso_sptTextArchPourHandle ) / sizeof( SvxMSDffHandle ) 6625 }; 6626 6627 static const SvxMSDffVertPair mso_sptTextCirclePourVert[] = 6628 { 6629 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 4 MSO_I }, 6630 { 5 MSO_I, 5 MSO_I }, { 11 MSO_I, 11 MSO_I }, { 8 MSO_I, 9 MSO_I }, { 8 MSO_I, 0xa MSO_I } 6631 }; 6632 static const SvxMSDffCalculationData mso_sptTextCirclePourCalc[] = 6633 { 6634 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, 6635 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, 6636 { 0x2000, { 0x400, 10800, 0 } }, 6637 { 0x2000, { 0x401, 10800, 0 } }, 6638 { 0x8000, { 21600, 0, 0x403 } }, 6639 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } }, 6640 { 0x600a, { 0x405, DFF_Prop_adjustValue, 0 } }, // 6 6641 { 0x6009, { 0x405, DFF_Prop_adjustValue, 0 } }, 6642 { 0x2000, { 0x406, 10800, 0 } }, // 8 6643 { 0x2000, { 0x407, 10800, 0 } }, 6644 { 0x8000, { 21600, 0, 0x409 } }, // 10 6645 { 0x8000, { 21600, 0, 0x405 } }, 6646 { 0x000, { 21600, 0, 0 } } 6647 }; 6648 static const sal_uInt16 mso_sptTextCirclePourSegm[] = 6649 { 6650 0xA504, 0x8000, 0xA504, 0x8000 6651 }; 6652 static const SvxMSDffHandle mso_sptTextCirclePourHandle[] = 6653 { 6654 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE, 6655 0x101, 0x100, 10800, 10800, 0, 10800, 0x80000000, 0x7fffffff } 6656 }; 6657 static const sal_Int32 mso_sptTextCirclePourDefault[] = 6658 { 6659 2, -179, 5400 6660 }; 6661 static const mso_CustomShape msoTextCirclePour = 6662 { 6663 (SvxMSDffVertPair*)mso_sptTextCirclePourVert, sizeof( mso_sptTextCirclePourVert ) / sizeof( SvxMSDffVertPair ), 6664 (sal_uInt16*)mso_sptTextCirclePourSegm, sizeof( mso_sptTextCirclePourSegm ) >> 1, 6665 (SvxMSDffCalculationData*)mso_sptTextCirclePourCalc, sizeof( mso_sptTextCirclePourCalc ) / sizeof( SvxMSDffCalculationData ), 6666 (sal_Int32*)mso_sptTextCirclePourDefault, 6667 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6668 21600, 21600, 6669 0x80000000, 0x80000000, 6670 NULL, 0, 6671 (SvxMSDffHandle*)mso_sptTextCirclePourHandle, sizeof( mso_sptTextCirclePourHandle ) / sizeof( SvxMSDffHandle ) 6672 }; 6673 6674 static const SvxMSDffVertPair mso_sptTextButtonPourVert[] = 6675 { 6676 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 3 MSO_I }, 6677 { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 11 MSO_I }, { 12 MSO_I, 11 MSO_I }, 6678 { 0x16 MSO_I, 16 MSO_I }, { 0x15 MSO_I, 16 MSO_I }, 6679 { 0x16 MSO_I, 15 MSO_I }, { 0x15 MSO_I, 15 MSO_I }, 6680 { 6 MSO_I, 6 MSO_I }, { 7 MSO_I, 7 MSO_I }, { 10 MSO_I, 13 MSO_I }, { 12 MSO_I, 13 MSO_I }, 6681 { 0, 0 }, { 21600, 21600 }, { 2 MSO_I, 5 MSO_I }, { 4 MSO_I, 5 MSO_I } 6682 }; 6683 static const SvxMSDffCalculationData mso_sptTextButtonPourCalc[] = 6684 { 6685 { 0x400a, { 10800, DFF_Prop_adjustValue, 0 } }, // 0x00 6686 { 0x4009, { 10800, DFF_Prop_adjustValue, 0 } }, // 0x01 6687 { 0x2000, { 0x400, 10800, 0 } }, // 0x02 6688 { 0x2000, { 0x401, 10800, 0 } }, // 0x03 6689 { 0x8000, { 21600, 0, 0x402 } }, // 0x04 6690 { 0x8000, { 21600, 0, 0x403 } }, // 0x05 6691 6692 { 0x8000, { 10800, 0, DFF_Prop_adjust2Value } }, // 0x06 6693 { 0x8000, { 21600, 0, 0x406 } }, // 0x07 6694 6695 { 0x600a, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x08 6696 { 0x6009, { DFF_Prop_adjust2Value, DFF_Prop_adjustValue, 0 } }, // 0x09 6697 { 0x2000, { 0x408, 10800, 0 } }, // 0x0a 6698 { 0x2000, { 0x409, 10800, 0 } }, // 0x0b 6699 { 0x8000, { 21600, 0, 0x40a } }, // 0x0c 6700 { 0x8000, { 21600, 0, 0x40b } }, // 0x0d 6701 { 0x2001, { 0x406, 1, 2 } }, // 0x0e 6702 { 0x4000, { 10800, 0x40e, 0 } }, // 0x0f 6703 { 0x8000, { 10800, 0, 0x40e } }, // 0x10 6704 { 0x6001, { 0x40e, 0x40e, 1 } }, // 0x11 6705 { 0x6001, { DFF_Prop_adjust2Value, DFF_Prop_adjust2Value, 1 } }, // 0x12 6706 { 0xA000, { 0x412, 0, 0x411 } }, // 0x13 6707 { 0x200d, { 0x413, 0, 0 } }, // 0x14 6708 { 0x4000, { 10800, 0x414, 0 } }, // 0x15 6709 { 0x8000, { 10800, 0, 0x414 } } // 0x16 6710 }; 6711 static const sal_uInt16 mso_sptTextButtonPourSegm[] = 6712 { 6713 0xA504, 0x8000, // clockwise arc 6714 0xA504, 0x8000, // clockwise arc 6715 0x4000, 0x0001, 0x8000, 6716 0x4000, 0x0001, 0x8000, 6717 0xA304, 0x8000, // counter clockwise 6718 0xA304, 0x8000 // counter clockwise 6719 }; 6720 static const SvxMSDffHandle mso_sptTextButtonPourHandle[] = 6721 { 6722 { MSDFF_HANDLE_FLAGS_POLAR | MSDFF_HANDLE_FLAGS_RADIUS_RANGE, 6723 0x101, 0x100, 10800, 10800, 4320, 10800, 0x80000000, 0x7fffffff } 6724 }; 6725 static const sal_Int32 mso_sptTextButtonPourDefault[] = 6726 { 6727 2, 180, 5400 6728 }; 6729 static const mso_CustomShape msoTextButtonPour = 6730 { 6731 (SvxMSDffVertPair*)mso_sptTextButtonPourVert, sizeof( mso_sptTextButtonPourVert ) / sizeof( SvxMSDffVertPair ), 6732 (sal_uInt16*)mso_sptTextButtonPourSegm, sizeof( mso_sptTextButtonPourSegm ) >> 1, 6733 (SvxMSDffCalculationData*)mso_sptTextButtonPourCalc, sizeof( mso_sptTextButtonPourCalc ) / sizeof( SvxMSDffCalculationData ), 6734 (sal_Int32*)mso_sptTextButtonPourDefault, 6735 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6736 21600, 21600, 6737 0x80000000, 0x80000000, 6738 NULL, 0, 6739 (SvxMSDffHandle*)mso_sptTextButtonPourHandle, sizeof( mso_sptTextButtonPourHandle ) / sizeof( SvxMSDffHandle ) 6740 }; 6741 6742 static const SvxMSDffVertPair mso_sptTextCurveUpVert[] = 6743 { 6744 { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 }, 6745 { 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*/ } 6746 }; 6747 static const SvxMSDffCalculationData mso_sptTextCurveUpCalc[] = 6748 { 6749 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 6750 { 0x4001, { 14250, 0x400, 12170 } }, // 401 6751 { 0x4001, { 12800, 0x400, 12170 } }, // 402 6752 { 0x4001, { 6380, 0x400, 12170 } }, // 403 6753 { 0x8000, { 21600, 0, 0x403 } } // 404 6754 }; 6755 static const sal_uInt16 mso_sptTextCurveUpSegm[] = 6756 { 6757 0x4000, 0x2001, 0x8000, 6758 0x4000, 0x2002, 0x8000 6759 }; 6760 static const SvxMSDffHandle mso_sptTextCurveUpHandle[] = 6761 { 6762 { MSDFF_HANDLE_FLAGS_RANGE, 6763 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 12170 } 6764 }; 6765 static const sal_Int32 mso_sptTextCurveUpDefault[] = 6766 { 6767 1, 9900 6768 }; 6769 static const mso_CustomShape msoTextCurveUp = 6770 { 6771 (SvxMSDffVertPair*)mso_sptTextCurveUpVert, sizeof( mso_sptTextCurveUpVert ) / sizeof( SvxMSDffVertPair ), 6772 (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1, 6773 (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, sizeof( mso_sptTextCurveUpCalc ) / sizeof( SvxMSDffCalculationData ), 6774 (sal_Int32*)mso_sptTextCurveUpDefault, 6775 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6776 21600, 21600, 6777 0x80000000, 0x80000000, 6778 NULL, 0, 6779 (SvxMSDffHandle*)mso_sptTextCurveUpHandle, sizeof( mso_sptTextCurveUpHandle ) / sizeof( SvxMSDffHandle ) 6780 }; 6781 6782 static const SvxMSDffVertPair mso_sptTextCurveDownVert[] = 6783 { 6784 // { 0, 0 MSO_I }, { 4900, 1 MSO_I /*12170->0 14250 ->0*/ }, { 11640, 2 MSO_I /*12170->0 12800 ->0*/ }, { 21600, 0 }, 6785 { 0, 0 }, { 9960, 2 MSO_I }, { 16700, 1 MSO_I }, { 21600, 0 MSO_I }, 6786 6787 // { 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*/ } 6788 { 0, 4 MSO_I }, { 5690, 21600 }, { 7490, 21600 }, { 11500, 21600 }, { 13100, 21600 }, { 17900, 21600 }, { 21600, 4 MSO_I } 6789 }; 6790 static const SvxMSDffHandle mso_sptTextCurveDownHandle[] = 6791 { 6792 { MSDFF_HANDLE_FLAGS_RANGE, 6793 21600, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 12170 } 6794 }; 6795 static const mso_CustomShape msoTextCurveDown = 6796 { 6797 (SvxMSDffVertPair*)mso_sptTextCurveDownVert, sizeof( mso_sptTextCurveDownVert ) / sizeof( SvxMSDffVertPair ), 6798 (sal_uInt16*)mso_sptTextCurveUpSegm, sizeof( mso_sptTextCurveUpSegm ) >> 1, 6799 (SvxMSDffCalculationData*)mso_sptTextCurveUpCalc, sizeof( mso_sptTextCurveUpCalc ) / sizeof( SvxMSDffCalculationData ), 6800 (sal_Int32*)mso_sptTextCurveUpDefault, 6801 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6802 21600, 21600, 6803 0x80000000, 0x80000000, 6804 NULL, 0, 6805 (SvxMSDffHandle*)mso_sptTextCurveDownHandle, sizeof( mso_sptTextCurveDownHandle ) / sizeof( SvxMSDffHandle ) 6806 }; 6807 6808 static const SvxMSDffVertPair mso_sptTextCanUpVert[] = 6809 { 6810 { 0, 1 MSO_I }, { 900, 0 }, { 7100, 0 }, { 10800, 0 }, { 14500, 0 }, { 20700, 0 }, { 21600, 1 MSO_I }, 6811 { 0, 21600 }, { 900, 4 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 4 MSO_I }, { 21600, 21600 } 6812 }; 6813 static const SvxMSDffCalculationData mso_sptTextCanUpCalc[] = 6814 { 6815 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 6816 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401 6817 { 0x2000, { DFF_Prop_adjustValue, 0, 14400 } }, // 402 6818 { 0x4001, { 5470, 0x402, 7200 } }, // 403 6819 { 0x4000, { 16130, 0x403, 0 } } // 404 6820 }; 6821 static const sal_uInt16 mso_sptTextCanUpSegm[] = 6822 { 6823 0x4000, 0x2002, 0x8000, 6824 0x4000, 0x2002, 0x8000 6825 }; 6826 static const SvxMSDffHandle mso_sptTextCanUpHandle[] = 6827 { 6828 { MSDFF_HANDLE_FLAGS_RANGE, 6829 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 14400, 21600 } 6830 }; 6831 static const sal_Int32 mso_sptTextCanUpDefault[] = 6832 { 6833 1, 18500 6834 }; 6835 static const mso_CustomShape msoTextCanUp = 6836 { 6837 (SvxMSDffVertPair*)mso_sptTextCanUpVert, sizeof( mso_sptTextCanUpVert ) / sizeof( SvxMSDffVertPair ), 6838 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1, 6839 (SvxMSDffCalculationData*)mso_sptTextCanUpCalc, sizeof( mso_sptTextCanUpCalc ) / sizeof( SvxMSDffCalculationData ), 6840 (sal_Int32*)mso_sptTextCanUpDefault, 6841 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6842 21600, 21600, 6843 0x80000000, 0x80000000, 6844 NULL, 0, 6845 (SvxMSDffHandle*)mso_sptTextCanUpHandle, sizeof( mso_sptTextCanUpHandle ) / sizeof( SvxMSDffHandle ) 6846 }; 6847 6848 static const SvxMSDffVertPair mso_sptTextCanDownVert[] = 6849 { 6850 { 0, 0 }, { 900, 2 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 20700, 2 MSO_I }, { 21600, 0 }, 6851 { 0, 1 MSO_I }, { 900, 21600 }, { 7100, 21600 }, { 10800, 21600 }, { 14500, 21600 }, { 20700, 21600 }, { 21600, 1 MSO_I } 6852 }; 6853 static const SvxMSDffCalculationData mso_sptTextCanDownCalc[] = 6854 { 6855 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 6856 { 0x8000, { 21600, 0, DFF_Prop_adjustValue } }, // 401 6857 { 0x4001, { 5470, 0x400, 7200 } } // 402 6858 }; 6859 static const SvxMSDffHandle mso_sptTextCanDownHandle[] = 6860 { 6861 { MSDFF_HANDLE_FLAGS_RANGE, 6862 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 7200 } 6863 }; 6864 static const sal_Int32 mso_sptTextCanDownDefault[] = 6865 { 6866 1, 3100 6867 }; 6868 static const mso_CustomShape msoTextCanDown = 6869 { 6870 (SvxMSDffVertPair*)mso_sptTextCanDownVert, sizeof( mso_sptTextCanDownVert ) / sizeof( SvxMSDffVertPair ), 6871 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1, 6872 (SvxMSDffCalculationData*)mso_sptTextCanDownCalc, sizeof( mso_sptTextCanDownCalc ) / sizeof( SvxMSDffCalculationData ), 6873 (sal_Int32*)mso_sptTextCanDownDefault, 6874 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6875 21600, 21600, 6876 0x80000000, 0x80000000, 6877 NULL, 0, 6878 (SvxMSDffHandle*)mso_sptTextCanDownHandle, sizeof( mso_sptTextCanDownHandle ) / sizeof( SvxMSDffHandle ) 6879 }; 6880 6881 static const SvxMSDffVertPair mso_sptTextInflateVert[] = 6882 { 6883 { 0, 0 MSO_I }, { 4100, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 17500, 1 MSO_I }, { 21600, 0 MSO_I }, 6884 { 0, 2 MSO_I }, { 4100, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 17500, 3 MSO_I }, { 21600, 2 MSO_I } 6885 }; 6886 static const SvxMSDffCalculationData mso_sptTextInflateCalc[] = 6887 { 6888 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 6889 { 0x4001, { 1530, 0x400, 4650 } }, // 401 6890 { 0x8000, { 21600, 0, 0x400 } }, // 402 6891 { 0x8000, { 21600, 0, 0x401 } } // 403 6892 }; 6893 static const SvxMSDffHandle mso_sptTextInflateHandle[] = 6894 { 6895 { MSDFF_HANDLE_FLAGS_RANGE, 6896 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 4650 } 6897 }; 6898 static const sal_Int32 mso_sptTextInflateDefault[] = 6899 { 6900 1, 2950 6901 }; 6902 static const mso_CustomShape msoTextInflate = 6903 { 6904 (SvxMSDffVertPair*)mso_sptTextInflateVert, sizeof( mso_sptTextInflateVert ) / sizeof( SvxMSDffVertPair ), 6905 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1, 6906 (SvxMSDffCalculationData*)mso_sptTextInflateCalc, sizeof( mso_sptTextInflateCalc ) / sizeof( SvxMSDffCalculationData ), 6907 (sal_Int32*)mso_sptTextInflateDefault, 6908 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6909 21600, 21600, 6910 0x80000000, 0x80000000, 6911 NULL, 0, 6912 (SvxMSDffHandle*)mso_sptTextInflateHandle, sizeof( mso_sptTextInflateHandle ) / sizeof( SvxMSDffHandle ) 6913 }; 6914 6915 static const SvxMSDffVertPair mso_sptTextDeflateVert[] = 6916 { 6917 { 0, 0 }, { 3500, 1 MSO_I }, { 7100, 0 MSO_I }, { 10800, 0 MSO_I }, { 14500, 0 MSO_I }, { 18100, 1 MSO_I }, { 21600, 0 }, 6918 { 0, 21600 }, { 3500, 3 MSO_I }, { 7100, 2 MSO_I }, { 10800, 2 MSO_I }, { 14500, 2 MSO_I }, { 18100, 3 MSO_I }, { 21600, 21600 } 6919 }; 6920 static const SvxMSDffCalculationData mso_sptTextDeflateCalc[] = 6921 { 6922 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 6923 { 0x2001, { 0x400, 5320, 7100 } }, // 401 6924 { 0x8000, { 21600, 0, 0x400 } }, // 402 6925 { 0x8000, { 21600, 0, 0x401 } } // 403 6926 }; 6927 static const SvxMSDffHandle mso_sptTextDeflateHandle[] = 6928 { 6929 { MSDFF_HANDLE_FLAGS_RANGE, 6930 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 8100 } 6931 }; 6932 static const mso_CustomShape msoTextDeflate = 6933 { 6934 (SvxMSDffVertPair*)mso_sptTextDeflateVert, sizeof( mso_sptTextDeflateVert ) / sizeof( SvxMSDffVertPair ), 6935 (sal_uInt16*)mso_sptTextCanUpSegm, sizeof( mso_sptTextCanUpSegm ) >> 1, 6936 (SvxMSDffCalculationData*)mso_sptTextDeflateCalc, sizeof( mso_sptTextDeflateCalc ) / sizeof( SvxMSDffCalculationData ), 6937 (sal_Int32*)mso_sptDefault8100, 6938 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6939 21600, 21600, 6940 0x80000000, 0x80000000, 6941 NULL, 0, 6942 (SvxMSDffHandle*)mso_sptTextDeflateHandle, sizeof( mso_sptTextDeflateHandle ) / sizeof( SvxMSDffHandle ) 6943 }; 6944 6945 static const SvxMSDffVertPair mso_sptTextInflateBottomVert[] = 6946 { 6947 { 0, 0 }, { 21600, 0 }, 6948 { 0, 0 MSO_I }, { 3500, 3 MSO_I }, { 7300, 21600 }, { 10800, 21600 }, { 14300, 21600 }, { 18100, 3 MSO_I }, { 21600, 0 MSO_I } 6949 }; 6950 static const SvxMSDffCalculationData mso_sptTextInflateBottomCalc[] = 6951 { 6952 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 6953 { 0x2000, { 0x400, 0, 11150 } }, // 401 0->10450 6954 { 0x2001, { 0x401, 3900, 10450 } }, // 402 6955 { 0x2000, { 0x402, 17700, 0 } } // 403 6956 }; 6957 static const sal_uInt16 mso_sptTextInflateBottomSegm[] = 6958 { 6959 0x4000, 0x0001, 0x8000, 6960 0x4000, 0x2002, 0x8000 6961 }; 6962 static const SvxMSDffHandle mso_sptTextInflateBottomHandle[] = 6963 { 6964 { MSDFF_HANDLE_FLAGS_RANGE, 6965 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 11150, 21600 } 6966 }; 6967 static const sal_Int32 mso_sptTextInflateBottomDefault[] = 6968 { 6969 1, 14700 6970 }; 6971 static const mso_CustomShape msoTextInflateBottom = 6972 { 6973 (SvxMSDffVertPair*)mso_sptTextInflateBottomVert, sizeof( mso_sptTextInflateBottomVert ) / sizeof( SvxMSDffVertPair ), 6974 (sal_uInt16*)mso_sptTextInflateBottomSegm, sizeof( mso_sptTextInflateBottomSegm ) >> 1, 6975 (SvxMSDffCalculationData*)mso_sptTextInflateBottomCalc, sizeof( mso_sptTextInflateBottomCalc ) / sizeof( SvxMSDffCalculationData ), 6976 (sal_Int32*)mso_sptTextInflateBottomDefault, 6977 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 6978 21600, 21600, 6979 0x80000000, 0x80000000, 6980 NULL, 0, 6981 (SvxMSDffHandle*)mso_sptTextInflateBottomHandle, sizeof( mso_sptTextInflateBottomHandle ) / sizeof( SvxMSDffHandle ) 6982 }; 6983 6984 static const SvxMSDffVertPair mso_sptTextDeflateBottomVert[] = 6985 { 6986 { 0, 0 }, { 21600, 0 }, 6987 { 0, 21600 }, { 2900, 3 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 3 MSO_I }, { 21600, 21600 } 6988 }; 6989 static const SvxMSDffCalculationData mso_sptTextDeflateBottomCalc[] = 6990 { 6991 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 6992 { 0x2000, { 0x400, 0, 1350 } }, // 401 0->20250 6993 { 0x2001, { 0x401, 12070, 20250 } }, // 402 6994 { 0x2000, { 0x402, 9530, 0 } } // 403 6995 }; 6996 static const sal_uInt16 mso_sptTextDeflateBottomSegm[] = 6997 { 6998 0x4000, 0x0001, 0x8000, 6999 0x4000, 0x2002, 0x8000 7000 }; 7001 static const SvxMSDffHandle mso_sptTextDeflateBottomHandle[] = 7002 { 7003 { MSDFF_HANDLE_FLAGS_RANGE, 7004 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 1350, 21600 } 7005 }; 7006 static const sal_Int32 mso_sptTextDeflateBottomDefault[] = 7007 { 7008 1, 11500 7009 }; 7010 static const mso_CustomShape msoTextDeflateBottom = 7011 { 7012 (SvxMSDffVertPair*)mso_sptTextDeflateBottomVert, sizeof( mso_sptTextDeflateBottomVert ) / sizeof( SvxMSDffVertPair ), 7013 (sal_uInt16*)mso_sptTextDeflateBottomSegm, sizeof( mso_sptTextDeflateBottomSegm ) >> 1, 7014 (SvxMSDffCalculationData*)mso_sptTextDeflateBottomCalc, sizeof( mso_sptTextDeflateBottomCalc ) / sizeof( SvxMSDffCalculationData ), 7015 (sal_Int32*)mso_sptTextDeflateBottomDefault, 7016 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7017 21600, 21600, 7018 0x80000000, 0x80000000, 7019 NULL, 0, 7020 (SvxMSDffHandle*)mso_sptTextDeflateBottomHandle, sizeof( mso_sptTextDeflateBottomHandle ) / sizeof( SvxMSDffHandle ) 7021 }; 7022 7023 static const SvxMSDffVertPair mso_sptTextInflateTopVert[] = 7024 { 7025 { 0, 0 MSO_I }, { 3500, 1 MSO_I }, { 7300, 0 }, { 10800, 0 }, { 14300, 0 }, { 18100, 1 MSO_I }, { 21600, 0 MSO_I }, 7026 { 0, 21600 }, { 21600, 21600 } 7027 }; 7028 static const SvxMSDffCalculationData mso_sptTextInflateTopCalc[] = 7029 { 7030 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7031 { 0x2001, { 0x400, 3900, 10450 } } // 401 7032 }; 7033 static const sal_uInt16 mso_sptTextInflateTopSegm[] = 7034 { 7035 0x4000, 0x2002, 0x8000, 7036 0x4000, 0x0001, 0x8000 7037 }; 7038 static const SvxMSDffHandle mso_sptTextInflateTopHandle[] = 7039 { 7040 { MSDFF_HANDLE_FLAGS_RANGE, 7041 0, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 10450 } 7042 }; 7043 static const sal_Int32 mso_sptTextInflateTopDefault[] = 7044 { 7045 1, 6900 7046 }; 7047 static const mso_CustomShape msoTextInflateTop = 7048 { 7049 (SvxMSDffVertPair*)mso_sptTextInflateTopVert, sizeof( mso_sptTextInflateTopVert ) / sizeof( SvxMSDffVertPair ), 7050 (sal_uInt16*)mso_sptTextInflateTopSegm, sizeof( mso_sptTextInflateTopSegm ) >> 1, 7051 (SvxMSDffCalculationData*)mso_sptTextInflateTopCalc, sizeof( mso_sptTextInflateTopCalc ) / sizeof( SvxMSDffCalculationData ), 7052 (sal_Int32*)mso_sptTextInflateTopDefault, 7053 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7054 21600, 21600, 7055 0x80000000, 0x80000000, 7056 NULL, 0, 7057 (SvxMSDffHandle*)mso_sptTextInflateTopHandle, sizeof( mso_sptTextInflateTopHandle ) / sizeof( SvxMSDffHandle ) 7058 }; 7059 7060 static const SvxMSDffVertPair mso_sptTextDeflateTopVert[] = 7061 { 7062 { 0, 0 }, { 2900, 1 MSO_I }, { 7200, 0 MSO_I }, { 10800, 0 MSO_I }, { 14400, 0 MSO_I }, { 18700, 1 MSO_I }, { 21600, 0 }, 7063 { 0, 21600 }, { 21600, 21600 } 7064 }; 7065 static const SvxMSDffCalculationData mso_sptTextDeflateTopCalc[] = 7066 { 7067 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7068 { 0x2001, { 0x400, 12070, 20250 } } // 402 7069 }; 7070 static const sal_uInt16 mso_sptTextDeflateTopSegm[] = 7071 { 7072 0x4000, 0x2002, 0x8000, 7073 0x4000, 0x0001, 0x8000 7074 }; 7075 static const SvxMSDffHandle mso_sptTextDeflateTopHandle[] = 7076 { 7077 { MSDFF_HANDLE_FLAGS_RANGE, 7078 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 0, 20250 } 7079 }; 7080 static const sal_Int32 mso_sptTextDeflateTopDefault[] = 7081 { 7082 1, 10100 7083 }; 7084 static const mso_CustomShape msoTextDeflateTop = 7085 { 7086 (SvxMSDffVertPair*)mso_sptTextDeflateTopVert, sizeof( mso_sptTextDeflateTopVert ) / sizeof( SvxMSDffVertPair ), 7087 (sal_uInt16*)mso_sptTextDeflateTopSegm, sizeof( mso_sptTextDeflateTopSegm ) >> 1, 7088 (SvxMSDffCalculationData*)mso_sptTextDeflateTopCalc, sizeof( mso_sptTextDeflateTopCalc ) / sizeof( SvxMSDffCalculationData ), 7089 (sal_Int32*)mso_sptTextDeflateTopDefault, 7090 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7091 21600, 21600, 7092 0x80000000, 0x80000000, 7093 NULL, 0, 7094 (SvxMSDffHandle*)mso_sptTextDeflateTopHandle, sizeof( mso_sptTextDeflateTopHandle ) / sizeof( SvxMSDffHandle ) 7095 }; 7096 7097 static const SvxMSDffVertPair mso_sptTextDeflateInflateVert[] = 7098 { 7099 { 0, 0 }, { 21600, 0 }, 7100 { 0, 10100 }, { 3300, 3 MSO_I }, { 7100, 5 MSO_I }, { 10800, 5 MSO_I }, { 14500, 5 MSO_I }, { 18300, 3 MSO_I }, { 21600, 10100 }, 7101 { 0, 11500 }, { 3300, 4 MSO_I }, { 7100, 6 MSO_I }, { 10800, 6 MSO_I }, { 14500, 6 MSO_I }, { 18300, 4 MSO_I }, { 21600, 11500 }, 7102 { 0, 21600 }, { 21600, 21600 } 7103 }; 7104 static const SvxMSDffCalculationData mso_sptTextDeflateInflateCalc[] = 7105 { 7106 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, // 400 7107 { 0x8000, { 10800, 0, 0x400 } }, // 401 7108 { 0x2001, { 0x401, 5770, 9500 } }, // 402 7109 { 0x8000, { 10100, 0, 0x402 } }, // 403 7110 { 0x8000, { 11500, 0, 0x402 } }, // 404 7111 { 0x2000, { 0x400, 0, 700 } }, // 405 7112 { 0x2000, { 0x400, 700, 0 } } // 406 7113 }; 7114 static const sal_uInt16 mso_sptTextDeflateInflateSegm[] = 7115 { 7116 0x4000, 0x0001, 0x8000, 7117 0x4000, 0x2002, 0x8000, 7118 0x4000, 0x2002, 0x8000, 7119 0x4000, 0x0001, 0x8000 7120 }; 7121 static const SvxMSDffHandle mso_sptTextDeflateInflateHandle[] = 7122 { 7123 { MSDFF_HANDLE_FLAGS_RANGE, 7124 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 1300, 20300 } 7125 }; 7126 static const sal_Int32 mso_sptTextDeflateInflateDefault[] = 7127 { 7128 1, 6500 7129 }; 7130 static const mso_CustomShape msoTextDeflateInflate = 7131 { 7132 (SvxMSDffVertPair*)mso_sptTextDeflateInflateVert, sizeof( mso_sptTextDeflateInflateVert ) / sizeof( SvxMSDffVertPair ), 7133 (sal_uInt16*)mso_sptTextDeflateInflateSegm, sizeof( mso_sptTextDeflateInflateSegm ) >> 1, 7134 (SvxMSDffCalculationData*)mso_sptTextDeflateInflateCalc, sizeof( mso_sptTextDeflateInflateCalc ) / sizeof( SvxMSDffCalculationData ), 7135 (sal_Int32*)mso_sptTextDeflateInflateDefault, 7136 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7137 21600, 21600, 7138 0x80000000, 0x80000000, 7139 NULL, 0, 7140 (SvxMSDffHandle*)mso_sptTextDeflateInflateHandle, sizeof( mso_sptTextDeflateInflateHandle ) / sizeof( SvxMSDffHandle ) 7141 }; 7142 7143 static const SvxMSDffVertPair mso_sptTextDeflateInflateDeflateVert[] = 7144 { 7145 { 0, 0 }, { 21600, 0 }, 7146 { 0, 6600 }, { 3600, 3 MSO_I }, { 7250, 4 MSO_I }, { 10800, 4 MSO_I }, { 14350, 4 MSO_I }, { 18000, 3 MSO_I }, { 21600, 6600 }, 7147 { 0, 7500 }, { 3600, 5 MSO_I }, { 7250, 6 MSO_I }, { 10800, 6 MSO_I }, { 14350, 6 MSO_I }, { 18000, 5 MSO_I }, { 21600, 7500 }, 7148 { 0, 14100 }, { 3600, 9 MSO_I }, { 7250, 10 MSO_I }, { 10800, 10 MSO_I }, { 14350, 10 MSO_I }, { 18000, 9 MSO_I }, { 21600, 14100 }, 7149 { 0, 15000 }, { 3600, 7 MSO_I }, { 7250, 8 MSO_I }, { 10800, 8 MSO_I }, { 14350, 8 MSO_I }, { 18000, 7 MSO_I }, { 21600, 15000 }, 7150 { 0, 21600 }, { 21600, 21600 } 7151 }; 7152 static const SvxMSDffCalculationData mso_sptTextDeflateInflateDeflateCalc[] = 7153 { 7154 { 0x2000, { DFF_Prop_adjustValue, 0, 850 } }, // 400 7155 { 0x2001, { 0x400, 6120, 8700 } }, 7156 { 0x2000, { 0x401, 0, 4280 } }, 7157 { 0x4000, { 6600, 0x402, 0 } }, 7158 { 0x2000, { DFF_Prop_adjustValue, 0, 450 } }, // 404 7159 { 0x2000, { 0x403, 900, 0 } }, // 405 7160 { 0x2000, { 0x404, 900, 0 } }, // 406 7161 { 0x8000, { 21600, 0, 0x403 } }, // 407 7162 { 0x8000, { 21600, 0, 0x404 } }, // 408 7163 { 0x8000, { 21600, 0, 0x405 } }, // 409 7164 { 0x8000, { 21600, 0, 0x406 } } // 410 7165 }; 7166 static const sal_uInt16 mso_sptTextDeflateInflateDeflateSegm[] = 7167 { 7168 0x4000, 0x0001, 0x8000, 7169 0x4000, 0x2002, 0x8000, 7170 0x4000, 0x2002, 0x8000, 7171 0x4000, 0x2002, 0x8000, 7172 0x4000, 0x2002, 0x8000, 7173 0x4000, 0x0001, 0x8000 7174 }; 7175 static const SvxMSDffHandle mso_sptTextDeflateInflateDeflateHandle[] = 7176 { 7177 { MSDFF_HANDLE_FLAGS_RANGE, 7178 10800, 0x100, 10800, 10800, 0x80000000, 0x7fffffff, 850, 9550 } 7179 }; 7180 static const sal_Int32 mso_sptTextDeflateInflateDeflateDefault[] = 7181 { 7182 1, 6050 7183 }; 7184 static const mso_CustomShape msoTextDeflateInflateDeflate = 7185 { 7186 (SvxMSDffVertPair*)mso_sptTextDeflateInflateDeflateVert, sizeof( mso_sptTextDeflateInflateDeflateVert ) / sizeof( SvxMSDffVertPair ), 7187 (sal_uInt16*)mso_sptTextDeflateInflateDeflateSegm, sizeof( mso_sptTextDeflateInflateDeflateSegm ) >> 1, 7188 (SvxMSDffCalculationData*)mso_sptTextDeflateInflateDeflateCalc, sizeof( mso_sptTextDeflateInflateDeflateCalc ) / sizeof( SvxMSDffCalculationData ), 7189 (sal_Int32*)mso_sptTextDeflateInflateDeflateDefault, 7190 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7191 21600, 21600, 7192 0x80000000, 0x80000000, 7193 NULL, 0, 7194 (SvxMSDffHandle*)mso_sptTextDeflateInflateDeflateHandle, sizeof( mso_sptTextDeflateInflateDeflateHandle ) / sizeof( SvxMSDffHandle ) 7195 }; 7196 7197 static const SvxMSDffVertPair mso_sptTextWave1Vert[] = // adjustment1 : 0 - 4459 7198 { // adjustment2 : 8640 - 12960 7199 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 9 MSO_I }, { 16 MSO_I, 10 MSO_I }, { 12 MSO_I, 0 MSO_I }, 7200 { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 28 MSO_I }, { 25 MSO_I, 26 MSO_I }, { 24 MSO_I, 1 MSO_I } 7201 }; 7202 static const sal_uInt16 mso_sptTextWave1Segm[] = 7203 { 7204 0x4000, 0x2001, 0x8000, 7205 0x4000, 0x2001, 0x8000 7206 }; 7207 static const mso_CustomShape msoTextWave1 = 7208 { 7209 (SvxMSDffVertPair*)mso_sptTextWave1Vert, sizeof( mso_sptTextWave1Vert ) / sizeof( SvxMSDffVertPair ), 7210 (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1, 7211 (SvxMSDffCalculationData*)mso_sptWaveCalc, sizeof( mso_sptWaveCalc ) / sizeof( SvxMSDffCalculationData ), 7212 (sal_Int32*)mso_sptWaveDefault, 7213 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7214 21600, 21600, 7215 0x80000000, 0x80000000, 7216 (SvxMSDffVertPair*)mso_sptWaveGluePoints, sizeof( mso_sptWaveGluePoints ) / sizeof( SvxMSDffVertPair ), 7217 (SvxMSDffHandle*)mso_sptWaveHandle, sizeof( mso_sptWaveHandle ) / sizeof( SvxMSDffHandle ) 7218 }; 7219 7220 static const SvxMSDffVertPair mso_sptTextWave2Vert[] = // adjustment1 : 0 - 4459 7221 { // adjustment2 : 8640 - 12960 7222 { 7 MSO_I, 0 MSO_I }, { 15 MSO_I, 10 MSO_I }, { 16 MSO_I, 9 MSO_I }, { 12 MSO_I, 0 MSO_I }, 7223 { 29 MSO_I, 1 MSO_I }, { 27 MSO_I, 26 MSO_I }, { 25 MSO_I, 28 MSO_I }, { 24 MSO_I, 1 MSO_I } 7224 }; 7225 static const mso_CustomShape msoTextWave2 = 7226 { 7227 (SvxMSDffVertPair*)mso_sptTextWave2Vert, sizeof( mso_sptTextWave2Vert ) / sizeof( SvxMSDffVertPair ), 7228 (sal_uInt16*)mso_sptTextWave1Segm, sizeof( mso_sptTextWave1Segm ) >> 1, 7229 (SvxMSDffCalculationData*)mso_sptWaveCalc, sizeof( mso_sptWaveCalc ) / sizeof( SvxMSDffCalculationData ), 7230 (sal_Int32*)mso_sptWaveDefault, 7231 (SvxMSDffTextRectangles*)mso_sptFontWorkTextRect, sizeof( mso_sptFontWorkTextRect ) / sizeof( SvxMSDffTextRectangles ), 7232 21600, 21600, 7233 0x80000000, 0x80000000, 7234 (SvxMSDffVertPair*)mso_sptWaveGluePoints, sizeof( mso_sptWaveGluePoints ) / sizeof( SvxMSDffVertPair ), 7235 (SvxMSDffHandle*)mso_sptWaveHandle, sizeof( mso_sptWaveHandle ) / sizeof( SvxMSDffHandle ) 7236 }; 7237 7238 static const SvxMSDffVertPair mso_sptTextWave3Vert[] = // adjustment1 : 0 - 2230 7239 { // adjustment2 : 8640 - 12960 7240 { 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 }, 7241 { 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 } 7242 }; 7243 static const sal_uInt16 mso_sptTextWave3Segm[] = 7244 { 7245 0x4000, 0x2002, 0x8000, 7246 0x4000, 0x2002, 0x8000 7247 }; 7248 static const mso_CustomShape msoTextWave3 = 7249 { 7250 (SvxMSDffVertPair*)mso_sptTextWave3Vert, sizeof( mso_sptTextWave3Vert ) / sizeof( SvxMSDffVertPair ), 7251 (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1, 7252 (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, sizeof( mso_sptDoubleWaveCalc ) / sizeof( SvxMSDffCalculationData ), 7253 (sal_Int32*)mso_sptDoubleWaveDefault, 7254 (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, sizeof( mso_sptDoubleWaveTextRect ) / sizeof( SvxMSDffTextRectangles ), 7255 21600, 21600, 7256 0x80000000, 0x80000000, 7257 (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, sizeof( mso_sptDoubleWaveGluePoints ) / sizeof( SvxMSDffVertPair ), 7258 (SvxMSDffHandle*)mso_sptDoubleWaveHandle, sizeof( mso_sptDoubleWaveHandle ) / sizeof( SvxMSDffHandle ) 7259 }; 7260 7261 static const SvxMSDffVertPair mso_sptTextWave4Vert[] = // adjustment1 : 0 - 2230 7262 { // adjustment2 : 8640 - 12960 7263 { 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 }, 7264 { 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 } 7265 }; 7266 static const mso_CustomShape msoTextWave4 = 7267 { 7268 (SvxMSDffVertPair*)mso_sptTextWave4Vert, sizeof( mso_sptTextWave4Vert ) / sizeof( SvxMSDffVertPair ), 7269 (sal_uInt16*)mso_sptTextWave3Segm, sizeof( mso_sptTextWave3Segm ) >> 1, 7270 (SvxMSDffCalculationData*)mso_sptDoubleWaveCalc, sizeof( mso_sptDoubleWaveCalc ) / sizeof( SvxMSDffCalculationData ), 7271 (sal_Int32*)mso_sptDoubleWaveDefault, 7272 (SvxMSDffTextRectangles*)mso_sptDoubleWaveTextRect, sizeof( mso_sptDoubleWaveTextRect ) / sizeof( SvxMSDffTextRectangles ), 7273 21600, 21600, 7274 0x80000000, 0x80000000, 7275 (SvxMSDffVertPair*)mso_sptDoubleWaveGluePoints, sizeof( mso_sptDoubleWaveGluePoints ) / sizeof( SvxMSDffVertPair ), 7276 (SvxMSDffHandle*)mso_sptDoubleWaveHandle, sizeof( mso_sptDoubleWaveHandle ) / sizeof( SvxMSDffHandle ) 7277 }; 7278 7279 static const sal_Int32 mso_sptCalloutDefault1[] = 7280 { 7281 4, -1800, 24500, -1800, 4000 7282 }; 7283 static const sal_Int32 mso_sptCalloutDefault2[] = 7284 { 7285 4, -8300, 24500, -1800, 4000 7286 }; 7287 static const sal_Int32 mso_sptCalloutDefault3[] = 7288 { 7289 6, -10000, 24500, -3600, 4000, -1800, 4000 7290 }; 7291 static const sal_Int32 mso_sptCalloutDefault4[] = 7292 { 7293 8, 23400, 24500, 25200, 21600, 25200, 4000, 23400, 4000 7294 }; 7295 static const SvxMSDffVertPair mso_sptCalloutVert1[] = 7296 { 7297 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I } 7298 }; 7299 static const SvxMSDffHandle mso_sptCalloutHandle1[] = 7300 { 7301 { 0, 7302 0x100, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7303 { 0, 7304 0x102, 0x103, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff } 7305 }; 7306 static const sal_uInt16 mso_sptCalloutSegm1a[] = 7307 { 7308 0x4000, 0x0003, 0x6000, 0x8000, 7309 0x4000, 0x0001, 0x8000 7310 }; 7311 static const sal_uInt16 mso_sptCalloutSegm1b[] = 7312 { 7313 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7314 0x4000, 0x0001, 0x8000 7315 }; 7316 static const SvxMSDffVertPair mso_sptCallout1Vert[] = 7317 { 7318 { 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 } 7319 }; 7320 static const sal_uInt16 mso_sptCallout1Segm1a[] = 7321 { 7322 0x4000, 0x0003, 0x6000, 0x8000, 7323 0x4000, 0x0001, 0x8000, 7324 0x4000, 0x0001, 0x8000 7325 }; 7326 static const sal_uInt16 mso_sptCallout1Segm1b[] = 7327 { 7328 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7329 0x4000, 0x0001, 0x8000, 7330 0x4000, 0x0001, 0x8000 7331 }; 7332 static const SvxMSDffVertPair mso_sptCallout2Verta[] = 7333 { 7334 { 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 } 7335 }; 7336 static const SvxMSDffVertPair mso_sptCallout2Vertb[] = 7337 { 7338 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 0 MSO_I, 1 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 4 MSO_I, 5 MSO_I }, { 4 MSO_I, 0 }, { 4 MSO_I, 21600 } 7339 }; 7340 static const SvxMSDffHandle mso_sptCalloutHandle2[] = 7341 { 7342 { 0, 7343 0x100, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7344 { 0, 7345 0x102, 0x103, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7346 { 0, 7347 0x104, 0x105, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff } 7348 }; 7349 static const sal_uInt16 mso_sptCallout2Segm1a[] = 7350 { 7351 0x4000, 0x0003, 0x6000, 0x8000, 7352 0x4000, 0x0001, 0x8000, 7353 0x4000, 0x0001, 0x8000, 7354 0x4000, 0x0001, 0x8000 7355 }; 7356 static const sal_uInt16 mso_sptCallout2Segm1b[] = 7357 { 7358 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7359 0x4000, 0x0001, 0x8000, 7360 0x4000, 0x0001, 0x8000, 7361 0x4000, 0x0001, 0x8000 7362 }; 7363 static const sal_uInt16 mso_sptCallout2Segm1c[] = 7364 { 7365 0x4000, 0x0003, 0x6000, 0x8000, 7366 0x4000, 0x0001, 0x8000, 7367 0x4000, 0x0001, 0x8000, 7368 0x4000, 0x0001, 0x8000, 7369 0x4000, 0x0001, 0x8000 7370 }; 7371 static const sal_uInt16 mso_sptCallout2Segm1d[] = 7372 { 7373 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7374 0x4000, 0x0001, 0x8000, 7375 0x4000, 0x0001, 0x8000, 7376 0x4000, 0x0001, 0x8000, 7377 0x4000, 0x0001, 0x8000 7378 }; 7379 static const SvxMSDffVertPair mso_sptCallout3Verta[] = 7380 { 7381 { 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 } 7382 }; 7383 static const SvxMSDffVertPair mso_sptCallout3Vertb[] = 7384 { 7385 { 0, 0 }, { 21600, 0 }, { 21600, 21600 }, { 0, 21600 }, { 6 MSO_I, 7 MSO_I }, { 4 MSO_I, 5 MSO_I }, { 2 MSO_I, 3 MSO_I }, { 0 MSO_I, 1 MSO_I }, { 6 MSO_I, 0 }, { 6 MSO_I, 21600 } 7386 }; 7387 static const SvxMSDffHandle mso_sptCalloutHandle3[] = 7388 { 7389 { 0, 7390 0x100, 0x101, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7391 { 0, 7392 0x102, 0x103, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7393 { 0, 7394 0x104, 0x105, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff }, 7395 { 0, 7396 0x106, 0x107, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff } 7397 }; 7398 static const sal_uInt16 mso_sptCallout3Segm1a[] = 7399 { 7400 0x4000, 0x0003, 0x6000, 0x8000, 7401 0x4000, 0xaa00, 0x0003, 0x8000 // NO_FILL 7402 }; 7403 static const sal_uInt16 mso_sptCallout3Segm1b[] = 7404 { 7405 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7406 0x4000, 0xaa00, 0x0003, 0x8000 // NO FILL 7407 }; 7408 static const sal_uInt16 mso_sptCallout3Segm1c[] = 7409 { 7410 0x4000, 0x0003, 0x6000, 0x8000, 7411 0x4000, 0xaa00, 0x0003, 0x8000, // NO FILL 7412 0x4000, 0x0001, 0x8000 7413 }; 7414 static const sal_uInt16 mso_sptCallout3Segm1d[] = 7415 { 7416 0x4000, 0xab00, 0x0003, 0x6000, 0x8000, // NO STROKE 7417 0x4000, 0xaa00, 0x0003, 0x8000, // NO FILL 7418 0x4000, 0x0001, 0x8000 7419 }; 7420 7421 static const SvxMSDffCalculationData mso_sptCalloutCalc[] = 7422 { 7423 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 7424 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, 7425 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, 7426 { 0x2000, { DFF_Prop_adjust4Value, 0, 0 } }, 7427 { 0x2000, { DFF_Prop_adjust5Value, 0, 0 } }, 7428 { 0x2000, { DFF_Prop_adjust6Value, 0, 0 } }, 7429 { 0x2000, { DFF_Prop_adjust7Value, 0, 0 } }, 7430 { 0x2000, { DFF_Prop_adjust8Value, 0, 0 } } 7431 }; 7432 7433 static const mso_CustomShape msoCallout90 = 7434 { 7435 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7436 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1, 7437 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7438 (sal_Int32*)mso_sptCalloutDefault1, 7439 NULL, 0, 7440 21600, 21600, 7441 0x80000000, 0x80000000, 7442 NULL, 0, 7443 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7444 }; 7445 static const mso_CustomShape msoCallout1 = 7446 { 7447 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7448 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1, 7449 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7450 (sal_Int32*)mso_sptCalloutDefault2, 7451 NULL, 0, 7452 21600, 21600, 7453 0x80000000, 0x80000000, 7454 NULL, 0, 7455 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7456 }; 7457 static const mso_CustomShape msoCallout2 = 7458 { 7459 (SvxMSDffVertPair*)mso_sptCallout2Verta, sizeof( mso_sptCallout2Verta ) / sizeof( SvxMSDffVertPair ), 7460 (sal_uInt16*)mso_sptCallout2Segm1b, sizeof( mso_sptCallout2Segm1b ) >> 1, 7461 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7462 (sal_Int32*)mso_sptCalloutDefault3, 7463 NULL, 0, 7464 21600, 21600, 7465 0x80000000, 0x80000000, 7466 NULL, 0, 7467 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle ) 7468 }; 7469 static const mso_CustomShape msoCallout3 = 7470 { 7471 (SvxMSDffVertPair*)mso_sptCallout3Verta, sizeof( mso_sptCallout3Verta ) / sizeof( SvxMSDffVertPair ), 7472 (sal_uInt16*)mso_sptCallout3Segm1b, sizeof( mso_sptCallout3Segm1b ) >> 1, 7473 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7474 (sal_Int32*)mso_sptCalloutDefault4, 7475 NULL, 0, 7476 21600, 21600, 7477 0x80000000, 0x80000000, 7478 NULL, 0, 7479 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle ) 7480 }; 7481 static const mso_CustomShape msoAccentCallout90 = 7482 { 7483 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7484 (sal_uInt16*)mso_sptCalloutSegm1b, sizeof( mso_sptCalloutSegm1b ) >> 1, 7485 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7486 (sal_Int32*)mso_sptCalloutDefault1, 7487 NULL, 0, 7488 21600, 21600, 7489 0x80000000, 0x80000000, 7490 NULL, 0, 7491 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7492 }; 7493 static const mso_CustomShape msoAccentCallout1 = 7494 { 7495 (SvxMSDffVertPair*)mso_sptCallout1Vert, sizeof( mso_sptCallout1Vert ) / sizeof( SvxMSDffVertPair ), 7496 (sal_uInt16*)mso_sptCallout1Segm1b, sizeof( mso_sptCallout1Segm1b ) >> 1, 7497 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7498 (sal_Int32*)mso_sptCalloutDefault2, 7499 NULL, 0, 7500 21600, 21600, 7501 0x80000000, 0x80000000, 7502 NULL, 0, 7503 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7504 }; 7505 static const mso_CustomShape msoAccentCallout2 = 7506 { 7507 (SvxMSDffVertPair*)mso_sptCallout2Vertb, sizeof( mso_sptCallout2Vertb ) / sizeof( SvxMSDffVertPair ), 7508 (sal_uInt16*)mso_sptCallout2Segm1d, sizeof( mso_sptCallout2Segm1d ) >> 1, 7509 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7510 (sal_Int32*)mso_sptCalloutDefault3, 7511 NULL, 0, 7512 21600, 21600, 7513 0x80000000, 0x80000000, 7514 NULL, 0, 7515 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle ) 7516 }; 7517 static const mso_CustomShape msoAccentCallout3 = 7518 { 7519 (SvxMSDffVertPair*)mso_sptCallout3Vertb, sizeof( mso_sptCallout3Vertb ) / sizeof( SvxMSDffVertPair ), 7520 (sal_uInt16*)mso_sptCallout3Segm1d, sizeof( mso_sptCallout3Segm1d ) >> 1, 7521 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7522 (sal_Int32*)mso_sptCalloutDefault4, 7523 NULL, 0, 7524 21600, 21600, 7525 0x80000000, 0x80000000, 7526 NULL, 0, 7527 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle ) 7528 }; 7529 static const mso_CustomShape msoBorderCallout90 = 7530 { 7531 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7532 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1, 7533 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7534 (sal_Int32*)mso_sptCalloutDefault1, 7535 NULL, 0, 7536 21600, 21600, 7537 0x80000000, 0x80000000, 7538 NULL, 0, 7539 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7540 }; 7541 static const mso_CustomShape msoBorderCallout1 = 7542 { 7543 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7544 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1, 7545 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7546 (sal_Int32*)mso_sptCalloutDefault2, 7547 NULL, 0, 7548 21600, 21600, 7549 0x80000000, 0x80000000, 7550 NULL, 0, 7551 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7552 }; 7553 static const mso_CustomShape msoBorderCallout2 = 7554 { 7555 (SvxMSDffVertPair*)mso_sptCallout2Verta, sizeof( mso_sptCallout2Verta ) / sizeof( SvxMSDffVertPair ), 7556 (sal_uInt16*)mso_sptCallout2Segm1a, sizeof( mso_sptCallout2Segm1a ) >> 1, 7557 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7558 (sal_Int32*)mso_sptCalloutDefault3, 7559 NULL, 0, 7560 21600, 21600, 7561 0x80000000, 0x80000000, 7562 NULL, 0, 7563 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle ) 7564 }; 7565 static const mso_CustomShape msoBorderCallout3 = 7566 { 7567 (SvxMSDffVertPair*)mso_sptCallout3Verta, sizeof( mso_sptCallout3Verta ) / sizeof( SvxMSDffVertPair ), 7568 (sal_uInt16*)mso_sptCallout3Segm1a, sizeof( mso_sptCallout3Segm1a ) >> 1, 7569 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7570 (sal_Int32*)mso_sptCalloutDefault4, 7571 NULL, 0, 7572 21600, 21600, 7573 0x80000000, 0x80000000, 7574 NULL, 0, 7575 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle ) 7576 }; 7577 static const mso_CustomShape msoAccentBorderCallout90 = 7578 { 7579 (SvxMSDffVertPair*)mso_sptCalloutVert1, sizeof( mso_sptCalloutVert1 ) / sizeof( SvxMSDffVertPair ), 7580 (sal_uInt16*)mso_sptCalloutSegm1a, sizeof( mso_sptCalloutSegm1a ) >> 1, 7581 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7582 (sal_Int32*)mso_sptCalloutDefault1, 7583 NULL, 0, 7584 21600, 21600, 7585 0x80000000, 0x80000000, 7586 NULL, 0, 7587 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7588 }; 7589 static const mso_CustomShape msoAccentBorderCallout1 = 7590 { 7591 (SvxMSDffVertPair*)mso_sptCallout1Vert, sizeof( mso_sptCallout1Vert ) / sizeof( SvxMSDffVertPair ), 7592 (sal_uInt16*)mso_sptCallout1Segm1a, sizeof( mso_sptCallout1Segm1a ) >> 1, 7593 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7594 (sal_Int32*)mso_sptCalloutDefault2, 7595 NULL, 0, 7596 21600, 21600, 7597 0x80000000, 0x80000000, 7598 NULL, 0, 7599 (SvxMSDffHandle*)mso_sptCalloutHandle1, sizeof( mso_sptCalloutHandle1 ) / sizeof( SvxMSDffHandle ) 7600 }; 7601 static const mso_CustomShape msoAccentBorderCallout2 = 7602 { 7603 (SvxMSDffVertPair*)mso_sptCallout2Vertb, sizeof( mso_sptCallout2Vertb ) / sizeof( SvxMSDffVertPair ), 7604 (sal_uInt16*)mso_sptCallout2Segm1c, sizeof( mso_sptCallout2Segm1c ) >> 1, 7605 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7606 (sal_Int32*)mso_sptCalloutDefault3, 7607 NULL, 0, 7608 21600, 21600, 7609 0x80000000, 0x80000000, 7610 NULL, 0, 7611 (SvxMSDffHandle*)mso_sptCalloutHandle2, sizeof( mso_sptCalloutHandle2 ) / sizeof( SvxMSDffHandle ) 7612 }; 7613 static const mso_CustomShape msoAccentBorderCallout3 = 7614 { 7615 (SvxMSDffVertPair*)mso_sptCallout3Vertb, sizeof( mso_sptCallout3Vertb ) / sizeof( SvxMSDffVertPair ), 7616 (sal_uInt16*)mso_sptCallout3Segm1c, sizeof( mso_sptCallout3Segm1c ) >> 1, 7617 (SvxMSDffCalculationData*)mso_sptCalloutCalc, sizeof( mso_sptCalloutCalc ) / sizeof( SvxMSDffCalculationData ), 7618 (sal_Int32*)mso_sptCalloutDefault4, 7619 NULL, 0, 7620 21600, 21600, 7621 0x80000000, 0x80000000, 7622 NULL, 0, 7623 (SvxMSDffHandle*)mso_sptCalloutHandle3, sizeof( mso_sptCalloutHandle3 ) / sizeof( SvxMSDffHandle ) 7624 }; 7625 7626 static const SvxMSDffVertPair mso_sptStraightConnector1Vert[] = 7627 { 7628 { 0, 0 }, { 21600, 21600 } 7629 }; 7630 static const sal_uInt16 mso_sptStraightConnector1Segm[] = 7631 { 7632 0x4000, 0x0001, 0x8000 7633 }; 7634 static const mso_CustomShape msoStraightConnector1 = 7635 { 7636 (SvxMSDffVertPair*)mso_sptStraightConnector1Vert, sizeof( mso_sptStraightConnector1Vert ) / sizeof( SvxMSDffVertPair ), 7637 (sal_uInt16*)mso_sptStraightConnector1Segm, sizeof( mso_sptStraightConnector1Segm ) >> 1, 7638 (SvxMSDffCalculationData*)NULL, 0, 7639 (sal_Int32*)NULL, 7640 NULL, 0, 7641 21600, 21600, 7642 0x80000000, 0x80000000, 7643 NULL, 0, 7644 (SvxMSDffHandle*)NULL, 0 7645 }; 7646 7647 static const SvxMSDffVertPair mso_sptBentConnector2Vert[] = 7648 { 7649 { 0, 0 }, { 21600, 0 }, { 21600, 21600 } 7650 }; 7651 static const sal_uInt16 mso_sptBentConnector2Segm[] = 7652 { 7653 0x4000, 0x0002, 0x8000 7654 }; 7655 static const mso_CustomShape msoBentConnector2 = 7656 { 7657 (SvxMSDffVertPair*)mso_sptBentConnector2Vert, sizeof( mso_sptBentConnector2Vert ) / sizeof( SvxMSDffVertPair ), 7658 (sal_uInt16*)mso_sptBentConnector2Segm, sizeof( mso_sptBentConnector2Segm ) >> 1, 7659 (SvxMSDffCalculationData*)NULL, 0, 7660 (sal_Int32*)NULL, 7661 NULL, 0, 7662 21600, 21600, 7663 0x80000000, 0x80000000, 7664 NULL, 0, 7665 (SvxMSDffHandle*)NULL, 0 7666 }; 7667 7668 static const SvxMSDffVertPair mso_sptBentConnector3Vert[] = 7669 { 7670 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 21600 }, { 21600, 21600 } 7671 }; 7672 static const sal_uInt16 mso_sptBentConnector3Segm[] = 7673 { 7674 0x4000, 0x0003, 0x8000 7675 }; 7676 static const SvxMSDffCalculationData mso_sptBentConnector3Calc[] = 7677 { 7678 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } } 7679 }; 7680 static const sal_Int32 mso_sptBentConnector3Default[] = 7681 { 7682 1, 10800 7683 }; 7684 static const SvxMSDffHandle mso_sptBentConnector3Handle[] = 7685 { 7686 { MSDFF_HANDLE_FLAGS_RANGE, 7687 0x100, 10800, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff } 7688 }; 7689 static const mso_CustomShape msoBentConnector3 = 7690 { 7691 (SvxMSDffVertPair*)mso_sptBentConnector3Vert, sizeof( mso_sptBentConnector3Vert ) / sizeof( SvxMSDffVertPair ), 7692 (sal_uInt16*)mso_sptBentConnector3Segm, sizeof( mso_sptBentConnector3Segm ) >> 1, 7693 (SvxMSDffCalculationData*)mso_sptBentConnector3Calc, sizeof( mso_sptBentConnector3Calc ) / sizeof( SvxMSDffCalculationData ), 7694 (sal_Int32*)mso_sptBentConnector3Default, 7695 NULL, 0, 7696 21600, 21600, 7697 0x80000000, 0x80000000, 7698 NULL, 0, 7699 (SvxMSDffHandle*)mso_sptBentConnector3Handle, sizeof( mso_sptBentConnector3Handle ) / sizeof( SvxMSDffHandle ) 7700 }; 7701 7702 static const SvxMSDffVertPair mso_sptBentConnector4Vert[] = 7703 { 7704 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 1 MSO_I }, { 21600, 1 MSO_I }, { 21600, 21600 } 7705 }; 7706 static const sal_uInt16 mso_sptBentConnector4Segm[] = 7707 { 7708 0x4000, 0x0004, 0x8000 7709 }; 7710 static const SvxMSDffCalculationData mso_sptBentConnector4Calc[] = 7711 { 7712 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 7713 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, 7714 { 0x2000, { 0x400, 21600, 0 } }, 7715 { 0x2001, { 0x402, 1, 2 } }, 7716 { 0x2001, { 0x401, 1, 2 } } 7717 }; 7718 static const sal_Int32 mso_sptBentConnector4Default[] = 7719 { 7720 2, 10800, 10800 7721 }; 7722 static const SvxMSDffHandle mso_sptBentConnector4Handle[] = 7723 { 7724 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 7725 0x100, 4 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 4 + 3, 4 + 3 }, 7726 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL, 7727 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff } 7728 }; 7729 static const mso_CustomShape msoBentConnector4 = 7730 { 7731 (SvxMSDffVertPair*)mso_sptBentConnector4Vert, sizeof( mso_sptBentConnector4Vert ) / sizeof( SvxMSDffVertPair ), 7732 (sal_uInt16*)mso_sptBentConnector4Segm, sizeof( mso_sptBentConnector4Segm ) >> 1, 7733 (SvxMSDffCalculationData*)mso_sptBentConnector4Calc, sizeof( mso_sptBentConnector4Calc ) / sizeof( SvxMSDffCalculationData ), 7734 (sal_Int32*)mso_sptBentConnector4Default, 7735 NULL, 0, 7736 21600, 21600, 7737 0x80000000, 0x80000000, 7738 NULL, 0, 7739 (SvxMSDffHandle*)mso_sptBentConnector4Handle, sizeof( mso_sptBentConnector4Handle ) / sizeof( SvxMSDffHandle ) 7740 }; 7741 7742 static const SvxMSDffVertPair mso_sptBentConnector5Vert[] = 7743 { 7744 { 0, 0 }, { 0 MSO_I, 0 }, { 0 MSO_I, 4 MSO_I }, { 1 MSO_I, 4 MSO_I }, { 1 MSO_I, 21600 }, { 21600, 21600 } 7745 }; 7746 static const sal_uInt16 mso_sptBentConnector5Segm[] = 7747 { 7748 0x4000, 0x0005, 0x8000 7749 }; 7750 static const SvxMSDffCalculationData mso_sptBentConnector5Calc[] = 7751 { 7752 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 7753 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, 7754 { 0x6000, { 0x400, 0x401, 0 } }, 7755 { 0x2001, { 0x402, 1, 2 } }, 7756 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, 7757 { 0x2001, { 0x404, 1, 2 } }, 7758 { 0x4000, { 21600, 0x404, 0 } }, 7759 { 0x2001, { 0x406, 1, 2 } } 7760 }; 7761 static const sal_Int32 mso_sptBentConnector5Default[] = 7762 { 7763 3, 10800, 10800, 10800 7764 }; 7765 static const SvxMSDffHandle mso_sptBentConnector5Handle[] = 7766 { 7767 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 7768 0x100, 5 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 5 + 3, 5 + 3 }, 7769 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL, 7770 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff }, 7771 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 7772 0x102, 7 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 7 + 3, 7 + 3 } 7773 }; 7774 static const mso_CustomShape msoBentConnector5 = 7775 { 7776 (SvxMSDffVertPair*)mso_sptBentConnector5Vert, sizeof( mso_sptBentConnector5Vert ) / sizeof( SvxMSDffVertPair ), 7777 (sal_uInt16*)mso_sptBentConnector5Segm, sizeof( mso_sptBentConnector5Segm ) >> 1, 7778 (SvxMSDffCalculationData*)mso_sptBentConnector5Calc, sizeof( mso_sptBentConnector5Calc ) / sizeof( SvxMSDffCalculationData ), 7779 (sal_Int32*)mso_sptBentConnector5Default, 7780 NULL, 0, 7781 21600, 21600, 7782 0x80000000, 0x80000000, 7783 NULL, 0, 7784 (SvxMSDffHandle*)mso_sptBentConnector5Handle, sizeof( mso_sptBentConnector5Handle ) / sizeof( SvxMSDffHandle ) 7785 }; 7786 7787 static const SvxMSDffVertPair mso_sptCurvedConnector2Vert[] = 7788 { 7789 { 0, 0 }, { 10800, 0 }, { 21600, 10800 }, { 21600, 21600 } 7790 }; 7791 static const sal_uInt16 mso_sptCurvedConnector2Segm[] = 7792 { 7793 0x4000, 0x2001, 0x8000 7794 }; 7795 static const mso_CustomShape msoCurvedConnector2 = 7796 { 7797 (SvxMSDffVertPair*)mso_sptCurvedConnector2Vert, sizeof( mso_sptCurvedConnector2Vert ) / sizeof( SvxMSDffVertPair ), 7798 (sal_uInt16*)mso_sptCurvedConnector2Segm, sizeof( mso_sptCurvedConnector2Segm ) >> 1, 7799 (SvxMSDffCalculationData*)NULL, 0, 7800 (sal_Int32*)NULL, 7801 NULL, 0, 7802 21600, 21600, 7803 0x80000000, 0x80000000, 7804 NULL, 0, 7805 (SvxMSDffHandle*)NULL, 0 7806 }; 7807 7808 static const SvxMSDffVertPair mso_sptCurvedConnector3Vert[] = 7809 { 7810 { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 5400 }, { 0 MSO_I, 10800 }, { 0 MSO_I, 16200 }, { 3 MSO_I, 21600 }, { 21600, 21600 } 7811 }; 7812 static const sal_uInt16 mso_sptCurvedConnector3Segm[] = 7813 { 7814 0x4000, 0x2002, 0x8000 7815 }; 7816 static const SvxMSDffCalculationData mso_sptCurvedConnector3Calc[] = 7817 { 7818 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 7819 { 0x2001, { 0x400, 1, 2 } }, 7820 { 0x2000, { 0x400, 21600, 0 } }, 7821 { 0x2001, { 0x402, 1, 2 } } 7822 }; 7823 static const sal_Int32 mso_sptCurvedConnector3Default[] = 7824 { 7825 1, 10800 7826 }; 7827 static const SvxMSDffHandle mso_sptCurvedConnector3Handle[] = 7828 { 7829 { MSDFF_HANDLE_FLAGS_RANGE, 7830 0x100, 10800, 10800, 10800, 0x80000000, 0x7fffffff, 0x80000000, 0x7fffffff } 7831 }; 7832 static const mso_CustomShape msoCurvedConnector3 = 7833 { 7834 (SvxMSDffVertPair*)mso_sptCurvedConnector3Vert, sizeof( mso_sptCurvedConnector3Vert ) / sizeof( SvxMSDffVertPair ), 7835 (sal_uInt16*)mso_sptCurvedConnector3Segm, sizeof( mso_sptCurvedConnector3Segm ) >> 1, 7836 (SvxMSDffCalculationData*)mso_sptCurvedConnector3Calc, sizeof( mso_sptCurvedConnector3Calc ) / sizeof( SvxMSDffCalculationData ), 7837 (sal_Int32*)mso_sptCurvedConnector3Default, 7838 NULL, 0, 7839 21600, 21600, 7840 0x80000000, 0x80000000, 7841 NULL, 0, 7842 (SvxMSDffHandle*)mso_sptCurvedConnector3Handle, sizeof( mso_sptCurvedConnector3Handle ) / sizeof( SvxMSDffHandle ) 7843 }; 7844 7845 static const SvxMSDffVertPair mso_sptCurvedConnector4Vert[] = 7846 { 7847 { 0, 0 }, { 1 MSO_I, 0 }, { 0 MSO_I, 10 MSO_I }, { 0 MSO_I, 9 MSO_I }, 7848 { 0 MSO_I, 12 MSO_I }, { 5 MSO_I, 8 MSO_I }, { 3 MSO_I, 8 MSO_I }, 7849 { 7 MSO_I, 8 MSO_I }, { 21600, 14 MSO_I }, { 21600, 21600 } 7850 7851 }; 7852 static const sal_uInt16 mso_sptCurvedConnector4Segm[] = 7853 { 7854 0x4000, 0x2003, 0x8000 7855 }; 7856 static const SvxMSDffCalculationData mso_sptCurvedConnector4Calc[] = 7857 { 7858 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 7859 { 0x2001, { 0x400, 1, 2 } }, 7860 { 0x4000, { 21600, 0x400, 0 } }, 7861 { 0x2001, { 0x402, 1, 2 } }, 7862 { 0x6000, { 0x400, 0x403, 0 } }, 7863 { 0x2001, { 0x404, 1, 2 } }, 7864 { 0x2000, { 0x403, 21600, 0 } }, 7865 { 0x2001, { 0x406, 1, 2 } }, 7866 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, 7867 { 0x2001, { DFF_Prop_adjust2Value, 1, 2 } }, 7868 { 0x2001, { DFF_Prop_adjust2Value, 1, 4 } }, 7869 { 0x6000, { 0x408, 0x409, 0 } }, 7870 { 0x2001, { 0x40b, 1, 2 } }, 7871 { 0x2000, { 0x408, 21600, 0 } }, 7872 { 0x2001, { 0x40d, 1, 2 } } 7873 }; 7874 static const sal_Int32 mso_sptCurvedConnector4Default[] = 7875 { 7876 2, 10800, 10800 7877 }; 7878 static const SvxMSDffHandle mso_sptCurvedConnector4Handle[] = 7879 { 7880 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 7881 0x100, 9 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 9 + 3, 9 + 3 }, 7882 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL, 7883 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff } 7884 }; 7885 static const mso_CustomShape msoCurvedConnector4 = 7886 { 7887 (SvxMSDffVertPair*)mso_sptCurvedConnector4Vert, sizeof( mso_sptCurvedConnector4Vert ) / sizeof( SvxMSDffVertPair ), 7888 (sal_uInt16*)mso_sptCurvedConnector4Segm, sizeof( mso_sptCurvedConnector4Segm ) >> 1, 7889 (SvxMSDffCalculationData*)mso_sptCurvedConnector4Calc, sizeof( mso_sptCurvedConnector4Calc ) / sizeof( SvxMSDffCalculationData ), 7890 (sal_Int32*)mso_sptCurvedConnector4Default, 7891 NULL, 0, 7892 21600, 21600, 7893 0x80000000, 0x80000000, 7894 NULL, 0, 7895 (SvxMSDffHandle*)mso_sptCurvedConnector4Handle, sizeof( mso_sptCurvedConnector4Handle ) / sizeof( SvxMSDffHandle ) 7896 }; 7897 7898 static const SvxMSDffVertPair mso_sptCurvedConnector5Vert[] = 7899 { 7900 { 0, 0 }, 7901 { 21 MSO_I, 0 }, { 0 MSO_I, 12 MSO_I }, { 0 MSO_I, 11 MSO_I }, 7902 { 0 MSO_I, 14 MSO_I }, { 6 MSO_I, 4 MSO_I }, { 3 MSO_I, 4 MSO_I }, 7903 { 8 MSO_I, 4 MSO_I }, { 1 MSO_I, 18 MSO_I }, { 1 MSO_I, 16 MSO_I }, 7904 { 1 MSO_I, 20 MSO_I }, { 10 MSO_I, 21600 }, { 21600, 21600 } 7905 }; 7906 static const sal_uInt16 mso_sptCurvedConnector5Segm[] = 7907 { 7908 0x4000, 0x2004, 0x8000 7909 }; 7910 static const SvxMSDffCalculationData mso_sptCurvedConnector5Calc[] = 7911 { 7912 { 0x2000, { DFF_Prop_adjustValue, 0, 0 } }, 7913 { 0x2000, { DFF_Prop_adjust3Value, 0, 0 } }, 7914 { 0x6000, { 0x400, 0x401, 0 } }, 7915 { 0x2001, { 0x402, 1, 2 } }, 7916 { 0x2000, { DFF_Prop_adjust2Value, 0, 0 } }, 7917 { 0x6000, { 0x400, 0x403, 0 } }, 7918 { 0x2001, { 0x405, 1, 2 } }, 7919 { 0x6000, { 0x401, 0x403, 0 } }, 7920 { 0x2001, { 0x407, 1, 2 } }, 7921 { 0x2000, { 0x401, 21600, 0 } }, 7922 { 0x2001, { 0x409, 1, 2 } }, 7923 { 0x2001, { 0x404, 1, 2 } }, 7924 { 0x2001, { 0x40b, 1, 2 } }, 7925 { 0x6000, { 0x404, 0x40b, 0 } }, 7926 { 0x2001, { 0x40d, 1, 2 } }, 7927 { 0x2000, { 0x404, 21600, 0 } }, 7928 { 0x2001, { 0x40f, 1, 2 } }, 7929 { 0x6000, { 0x404, 0x410, 0 } }, 7930 { 0x2001, { 0x411, 1, 2 } }, 7931 { 0x2000, { 0x410, 21600, 0 } }, 7932 { 0x2001, { 0x413, 1, 2 } }, 7933 { 0x2001, { 0x400, 1, 2 } } 7934 }; 7935 static const sal_Int32 mso_sptCurvedConnector5Default[] = 7936 { 7937 3, 10800, 10800, 10800 7938 }; 7939 static const SvxMSDffHandle mso_sptCurvedConnector5Handle[] = 7940 { 7941 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 7942 0x100, 11 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 11 + 3, 11 + 3 }, 7943 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_X_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_X_MAX_IS_SPECIAL, 7944 3 + 3, 0x101, 10800, 10800, 3 + 3, 3 + 3, 0x80000000, 0x7fffffff }, 7945 { MSDFF_HANDLE_FLAGS_RANGE | MSDFF_HANDLE_FLAGS_RANGE_Y_MIN_IS_SPECIAL | MSDFF_HANDLE_FLAGS_RANGE_Y_MAX_IS_SPECIAL, 7946 0x102, 16 + 3, 10800, 10800, 0x80000000, 0x7fffffff, 16 + 3, 16 + 3 } 7947 }; 7948 static const mso_CustomShape msoCurvedConnector5 = 7949 { 7950 (SvxMSDffVertPair*)mso_sptCurvedConnector5Vert, sizeof( mso_sptCurvedConnector5Vert ) / sizeof( SvxMSDffVertPair ), 7951 (sal_uInt16*)mso_sptCurvedConnector5Segm, sizeof( mso_sptCurvedConnector5Segm ) >> 1, 7952 (SvxMSDffCalculationData*)mso_sptCurvedConnector5Calc, sizeof( mso_sptCurvedConnector5Calc ) / sizeof( SvxMSDffCalculationData ), 7953 (sal_Int32*)mso_sptCurvedConnector5Default, 7954 NULL, 0, 7955 21600, 21600, 7956 0x80000000, 0x80000000, 7957 NULL, 0, 7958 (SvxMSDffHandle*)mso_sptCurvedConnector5Handle, sizeof( mso_sptCurvedConnector5Handle ) / sizeof( SvxMSDffHandle ) 7959 }; 7960 7961 const mso_CustomShape* GetCustomShapeContent( MSO_SPT eSpType ) 7962 { 7963 const mso_CustomShape* pCustomShape = NULL; 7964 switch( eSpType ) 7965 { 7966 case mso_sptArc : pCustomShape = &msoArc; break; 7967 case mso_sptRectangle : pCustomShape = &msoRectangle; break; 7968 case mso_sptParallelogram : pCustomShape = &msoParallelogram; break; 7969 case mso_sptTrapezoid : pCustomShape = &msoTrapezoid; break; 7970 case mso_sptDiamond : pCustomShape = &msoDiamond; break; 7971 case mso_sptRoundRectangle : pCustomShape = &msoRoundRectangle; break; 7972 case mso_sptOctagon : pCustomShape = &msoOctagon; break; 7973 case mso_sptIsocelesTriangle : pCustomShape = &msoIsocelesTriangle; break; 7974 case mso_sptRightTriangle : pCustomShape = &msoRightTriangle; break; 7975 case mso_sptEllipse : pCustomShape = &msoEllipse; break; 7976 case mso_sptHexagon : pCustomShape = &msoHexagon; break; 7977 case mso_sptPlus : pCustomShape = &msoPlus; break; 7978 case mso_sptPentagon : pCustomShape = &msoPentagon; break; 7979 case mso_sptCan : pCustomShape = &msoCan; break; 7980 case mso_sptCube : pCustomShape = &msoCube; break; 7981 case mso_sptBalloon : pCustomShape = &msoBalloon; break; 7982 case mso_sptActionButtonBlank : pCustomShape = &msoActionButtonBlank; break; 7983 case mso_sptActionButtonHome : pCustomShape = &msoActionButtonHome; break; 7984 case mso_sptActionButtonHelp : pCustomShape = &msoActionButtonHelp; break; 7985 case mso_sptActionButtonInformation : pCustomShape = &msoActionButtonInformation; break; 7986 case mso_sptActionButtonBackPrevious : pCustomShape = &msoActionButtonBackPrevious; break; 7987 case mso_sptActionButtonForwardNext : pCustomShape = &msoActionButtonForwardNext; break; 7988 case mso_sptActionButtonBeginning : pCustomShape = &msoActionButtonBeginning; break; 7989 case mso_sptActionButtonEnd : pCustomShape = &msoActionButtonEnd; break; 7990 case mso_sptActionButtonReturn : pCustomShape = &msoActionButtonReturn; break; 7991 case mso_sptActionButtonDocument : pCustomShape = &msoActionButtonDocument; break; 7992 case mso_sptActionButtonSound : pCustomShape = &msoActionButtonSound; break; 7993 case mso_sptActionButtonMovie : pCustomShape = &msoActionButtonMovie; break; 7994 case mso_sptBevel : pCustomShape = &msoBevel; break; 7995 case mso_sptFoldedCorner : pCustomShape = &msoFoldedCorner; break; 7996 case mso_sptSmileyFace : pCustomShape = &msoSmileyFace; break; 7997 case mso_sptDonut : pCustomShape = &msoDonut; break; 7998 case mso_sptNoSmoking : pCustomShape = &msoNoSmoking; break; 7999 case mso_sptBlockArc : pCustomShape = &msoBlockArc; break; 8000 case mso_sptHeart : pCustomShape = &msoHeart; break; 8001 case mso_sptLightningBolt : pCustomShape = &msoLightningBold; break; 8002 case mso_sptSun : pCustomShape = &msoSun; break; 8003 case mso_sptMoon : pCustomShape = &msoMoon; break; 8004 case mso_sptBracketPair : pCustomShape = &msoBracketPair; break; 8005 case mso_sptBracePair : pCustomShape = &msoBracePair; break; 8006 case mso_sptPlaque : pCustomShape = &msoPlaque; break; 8007 case mso_sptLeftBracket : pCustomShape = &msoLeftBracket; break; 8008 case mso_sptRightBracket : pCustomShape = &msoRightBracket; break; 8009 case mso_sptLeftBrace : pCustomShape = &msoLeftBrace; break; 8010 case mso_sptRightBrace : pCustomShape = &msoRightBrace; break; 8011 case mso_sptArrow : pCustomShape = &msoArrow; break; 8012 case mso_sptUpArrow : pCustomShape = &msoUpArrow; break; 8013 case mso_sptDownArrow : pCustomShape = &msoDownArrow; break; 8014 case mso_sptLeftArrow : pCustomShape = &msoLeftArrow; break; 8015 case mso_sptLeftRightArrow : pCustomShape = &msoLeftRightArrow; break; 8016 case mso_sptUpDownArrow : pCustomShape = &msoUpDownArrow; break; 8017 case mso_sptQuadArrow : pCustomShape = &msoQuadArrow; break; 8018 case mso_sptLeftRightUpArrow : pCustomShape = &msoLeftRightUpArrow; break; 8019 case mso_sptBentArrow : pCustomShape = &msoBentArrow; break; 8020 case mso_sptUturnArrow : pCustomShape = &msoUturnArrow; break; 8021 case mso_sptLeftUpArrow : pCustomShape = &msoLeftUpArrow; break; 8022 case mso_sptBentUpArrow : pCustomShape = &msoBentUpArrow; break; 8023 case mso_sptCurvedRightArrow : pCustomShape = &msoCurvedRightArrow; break; 8024 case mso_sptCurvedLeftArrow : pCustomShape = &msoCurvedLeftArrow; break; 8025 case mso_sptCurvedUpArrow : pCustomShape = &msoCurvedUpArrow; break; 8026 case mso_sptCurvedDownArrow : pCustomShape = &msoCurvedDownArrow; break; 8027 case mso_sptStripedRightArrow : pCustomShape = &msoStripedRightArrow; break; 8028 case mso_sptNotchedRightArrow : pCustomShape = &msoNotchedRightArrow; break; 8029 case mso_sptHomePlate : pCustomShape = &msoHomePlate; break; 8030 case mso_sptChevron : pCustomShape = &msoChevron; break; 8031 case mso_sptRightArrowCallout : pCustomShape = &msoRightArrowCallout; break; 8032 case mso_sptLeftArrowCallout : pCustomShape = &msoLeftArrowCallout; break; 8033 case mso_sptUpArrowCallout : pCustomShape = &msoUpArrowCallout; break; 8034 case mso_sptDownArrowCallout : pCustomShape = &msoDownArrowCallout; break; 8035 case mso_sptLeftRightArrowCallout : pCustomShape = &msoLeftRightArrowCallout; break; 8036 case mso_sptUpDownArrowCallout : pCustomShape = &msoUpDownArrowCallout; break; 8037 case mso_sptQuadArrowCallout : pCustomShape = &msoQuadArrowCallout; break; 8038 case mso_sptCircularArrow : pCustomShape = &msoCircularArrow; break; 8039 case mso_sptIrregularSeal1 : pCustomShape = &msoIrregularSeal1; break; 8040 case mso_sptIrregularSeal2 : pCustomShape = &msoIrregularSeal2; break; 8041 case mso_sptSeal4 : pCustomShape = &msoSeal4; break; 8042 case mso_sptStar : pCustomShape = &msoStar; break; 8043 case mso_sptSeal8 : pCustomShape = &msoSeal8; break; 8044 case mso_sptSeal : 8045 case mso_sptSeal16 : pCustomShape = &msoSeal16; break; 8046 case mso_sptSeal24 : pCustomShape = &msoSeal24; break; 8047 case mso_sptSeal32 : pCustomShape = &msoSeal32; break; 8048 case mso_sptRibbon2 : pCustomShape = &msoRibbon2; break; 8049 case mso_sptRibbon : pCustomShape = &msoRibbon; break; 8050 case mso_sptEllipseRibbon2 : pCustomShape = &msoRibbon2; break; // SJ: TODO 8051 case mso_sptEllipseRibbon : pCustomShape = &msoRibbon; break; // SJ: TODO 8052 case mso_sptVerticalScroll : pCustomShape = &msoVerticalScroll; break; 8053 case mso_sptHorizontalScroll : pCustomShape = &msoHorizontalScroll; break; 8054 case mso_sptFlowChartProcess : pCustomShape = &msoFlowChartProcess; break; 8055 case mso_sptFlowChartAlternateProcess : pCustomShape = &msoFlowChartAlternateProcess; break; 8056 case mso_sptFlowChartDecision : pCustomShape = &msoFlowChartDecision; break; 8057 case mso_sptFlowChartInputOutput : pCustomShape = &msoFlowChartInputOutput; break; 8058 case mso_sptFlowChartPredefinedProcess :pCustomShape = &msoFlowChartPredefinedProcess; break; 8059 case mso_sptFlowChartInternalStorage : pCustomShape = &msoFlowChartInternalStorage; break; 8060 case mso_sptFlowChartDocument : pCustomShape = &msoFlowChartDocument; break; 8061 case mso_sptFlowChartMultidocument : pCustomShape = &msoFlowChartMultidocument; break; 8062 case mso_sptFlowChartTerminator : pCustomShape = &msoFlowChartTerminator; break; 8063 case mso_sptFlowChartPreparation : pCustomShape = &msoFlowChartPreparation; break; 8064 case mso_sptFlowChartManualInput : pCustomShape = &msoFlowChartManualInput; break; 8065 case mso_sptFlowChartManualOperation : pCustomShape = &msoFlowChartManualOperation; break; 8066 case mso_sptFlowChartConnector : pCustomShape = &msoFlowChartConnector; break; 8067 case mso_sptFlowChartOffpageConnector : pCustomShape = &msoFlowChartOffpageConnector; break; 8068 case mso_sptFlowChartPunchedCard : pCustomShape = &msoFlowChartPunchedCard; break; 8069 case mso_sptFlowChartPunchedTape : pCustomShape = &msoFlowChartPunchedTape; break; 8070 case mso_sptFlowChartSummingJunction : pCustomShape = &msoFlowChartSummingJunction; break; 8071 case mso_sptFlowChartOr : pCustomShape = &msoFlowChartOr; break; 8072 case mso_sptFlowChartCollate : pCustomShape = &msoFlowChartCollate; break; 8073 case mso_sptFlowChartSort : pCustomShape = &msoFlowChartSort; break; 8074 case mso_sptFlowChartExtract : pCustomShape = &msoFlowChartExtract; break; 8075 case mso_sptFlowChartMerge : pCustomShape = &msoFlowChartMerge; break; 8076 case mso_sptFlowChartOnlineStorage : pCustomShape = &msoFlowChartOnlineStorage; break; 8077 case mso_sptFlowChartDelay : pCustomShape = &msoFlowChartDelay; break; 8078 case mso_sptFlowChartMagneticTape : pCustomShape = &msoFlowChartMagneticTape; break; 8079 case mso_sptFlowChartMagneticDisk : pCustomShape = &msoFlowChartMagneticDisk; break; 8080 case mso_sptFlowChartMagneticDrum : pCustomShape = &msoFlowChartMagneticDrum; break; 8081 case mso_sptFlowChartDisplay : pCustomShape = &msoFlowChartDisplay; break; 8082 case mso_sptWedgeRectCallout : pCustomShape = &msoWedgeRectCallout; break; 8083 case mso_sptWedgeRRectCallout : pCustomShape = &msoWedgeRRectCallout; break; 8084 case mso_sptWedgeEllipseCallout : pCustomShape = &msoWedgeEllipseCallout; break; 8085 case mso_sptCloudCallout : pCustomShape = &msoCloudCallout; break; 8086 case mso_sptWave : pCustomShape = &msoWave; break; 8087 case mso_sptDoubleWave : pCustomShape = &msoDoubleWave; break; 8088 8089 // callout 8090 case mso_sptCallout1 : pCustomShape = &msoCallout1; break; 8091 case mso_sptCallout2 : pCustomShape = &msoCallout2; break; 8092 case mso_sptCallout3 : pCustomShape = &msoCallout3; break; 8093 case mso_sptAccentCallout1 : pCustomShape = &msoAccentCallout1; break; 8094 case mso_sptAccentCallout2 : pCustomShape = &msoAccentCallout2; break; 8095 case mso_sptAccentCallout3 : pCustomShape = &msoAccentCallout3; break; 8096 case mso_sptBorderCallout1 : pCustomShape = &msoBorderCallout1; break; 8097 case mso_sptBorderCallout2 : pCustomShape = &msoBorderCallout2; break; 8098 case mso_sptBorderCallout3 : pCustomShape = &msoBorderCallout3; break; 8099 case mso_sptAccentBorderCallout1 : pCustomShape = &msoAccentBorderCallout1; break; 8100 case mso_sptAccentBorderCallout2 : pCustomShape = &msoAccentBorderCallout2; break; 8101 case mso_sptAccentBorderCallout3 : pCustomShape = &msoAccentBorderCallout3; break; 8102 case mso_sptCallout90 : pCustomShape = &msoCallout90; break; 8103 case mso_sptAccentCallout90 : pCustomShape = &msoAccentCallout90; break; 8104 case mso_sptBorderCallout90 : pCustomShape = &msoBorderCallout90; break; 8105 case mso_sptAccentBorderCallout90 : pCustomShape = &msoAccentBorderCallout90; break; 8106 8107 // connectors 8108 case mso_sptStraightConnector1 : pCustomShape = &msoStraightConnector1; break; 8109 case mso_sptBentConnector2 : pCustomShape = &msoBentConnector2; break; 8110 case mso_sptBentConnector3 : pCustomShape = &msoBentConnector3; break; 8111 case mso_sptBentConnector4 : pCustomShape = &msoBentConnector4; break; 8112 case mso_sptBentConnector5 : pCustomShape = &msoBentConnector5; break; 8113 case mso_sptCurvedConnector2 : pCustomShape = &msoCurvedConnector2; break; 8114 case mso_sptCurvedConnector3 : pCustomShape = &msoCurvedConnector3; break; 8115 case mso_sptCurvedConnector4 : pCustomShape = &msoCurvedConnector4; break; 8116 case mso_sptCurvedConnector5 : pCustomShape = &msoCurvedConnector5; break; 8117 8118 // Dont know, simply mapping to TextSimple 8119 case mso_sptTextOnRing : 8120 case mso_sptTextOnCurve : 8121 case mso_sptTextRing : 8122 case mso_sptTextWave : 8123 case mso_sptTextCurve : 8124 case mso_sptTextHexagon : 8125 case mso_sptTextOctagon : 8126 case mso_sptTextBox : pCustomShape = &msoTextSimple; break; 8127 8128 // FontWork 8129 case mso_sptTextSimple : 8130 case mso_sptTextPlainText : pCustomShape = &msoTextPlainText; break; 8131 case mso_sptTextStop : pCustomShape = &msoTextStop; break; 8132 case mso_sptTextTriangle : pCustomShape = &msoTextTriangle; break; 8133 case mso_sptTextTriangleInverted : pCustomShape = &msoTextTriangleInverted; break; 8134 case mso_sptTextChevron : pCustomShape = &msoTextChevron; break; 8135 case mso_sptTextChevronInverted : pCustomShape = &msoTextChevronInverted; break; 8136 case mso_sptTextRingInside : pCustomShape = &msoTextRingOutside; break; // SJ: TODO->the orientation of the ellipse needs to be changed 8137 case mso_sptTextRingOutside : pCustomShape = &msoTextRingOutside; break; 8138 case mso_sptTextFadeRight : pCustomShape = &msoTextFadeRight; break; 8139 case mso_sptTextFadeLeft : pCustomShape = &msoTextFadeLeft; break; 8140 case mso_sptTextFadeUp : pCustomShape = &msoTextFadeUp; break; 8141 case mso_sptTextFadeDown : pCustomShape = &msoTextFadeDown; break; 8142 case mso_sptTextSlantUp : pCustomShape = &msoTextSlantUp; break; 8143 case mso_sptTextSlantDown : pCustomShape = &msoTextSlantDown; break; 8144 case mso_sptTextCascadeUp : pCustomShape = &msoTextCascadeUp; break; 8145 case mso_sptTextCascadeDown : pCustomShape = &msoTextCascadeDown; break; 8146 case mso_sptTextArchUpCurve : pCustomShape = &msoTextArchUpCurve; break; 8147 case mso_sptTextArchDownCurve : pCustomShape = &msoTextArchDownCurve; break; 8148 case mso_sptTextCircleCurve : pCustomShape = &msoTextCircleCurve; break; 8149 case mso_sptTextButtonCurve : pCustomShape = &msoTextButtonCurve; break; 8150 case mso_sptTextArchUpPour : pCustomShape = &msoTextArchUpPour; break; 8151 case mso_sptTextArchDownPour : pCustomShape = &msoTextArchDownPour; break; 8152 case mso_sptTextCirclePour : pCustomShape = &msoTextCirclePour; break; 8153 case mso_sptTextButtonPour : pCustomShape = &msoTextButtonPour; break; 8154 case mso_sptTextCurveUp : pCustomShape = &msoTextCurveUp; break; 8155 case mso_sptTextCurveDown : pCustomShape = &msoTextCurveDown; break; 8156 case mso_sptTextCanUp : pCustomShape = &msoTextCanUp; break; 8157 case mso_sptTextCanDown : pCustomShape = &msoTextCanDown; break; 8158 case mso_sptTextInflate : pCustomShape = &msoTextInflate; break; 8159 case mso_sptTextDeflate : pCustomShape = &msoTextDeflate; break; 8160 case mso_sptTextInflateBottom : pCustomShape = &msoTextInflateBottom; break; 8161 case mso_sptTextDeflateBottom : pCustomShape = &msoTextDeflateBottom; break; 8162 case mso_sptTextInflateTop : pCustomShape = &msoTextInflateTop; break; 8163 case mso_sptTextDeflateTop : pCustomShape = &msoTextDeflateTop; break; 8164 case mso_sptTextDeflateInflate : pCustomShape = &msoTextDeflateInflate; break; 8165 case mso_sptTextDeflateInflateDeflate : pCustomShape = &msoTextDeflateInflateDeflate; break; 8166 case mso_sptTextWave1 : pCustomShape = &msoTextWave1; break; 8167 case mso_sptTextWave2 : pCustomShape = &msoTextWave2; break; 8168 case mso_sptTextWave3 : pCustomShape = &msoTextWave3; break; 8169 case mso_sptTextWave4 : pCustomShape = &msoTextWave4; break; 8170 default : 8171 break; 8172 } 8173 return pCustomShape; 8174 } 8175