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_slideshow.hxx" 26 27 #include <boost/current_function.hpp> 28 #include <basegfx/numeric/ftools.hxx> 29 #include <com/sun/star/animations/TransitionType.hpp> 30 #include <com/sun/star/animations/TransitionSubType.hpp> 31 32 #include "transitionfactory.hxx" 33 #include "tools.hxx" 34 35 #include <algorithm> 36 37 using namespace ::com::sun::star; 38 39 namespace slideshow { 40 namespace internal { 41 42 namespace { 43 44 static const TransitionInfo lcl_transitionInfo[] = 45 { 46 { 47 0, 48 0, 49 TransitionInfo::TRANSITION_INVALID, 50 0.0, 51 0.0, 52 0.0, 53 TransitionInfo::REVERSEMETHOD_IGNORE, 54 false, 55 false 56 }, 57 { 58 // mapped to BarWipePolyPolygon: 59 animations::TransitionType::BARWIPE, 60 animations::TransitionSubType::LEFTTORIGHT, // (1) 61 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 62 0.0, // no rotation 63 1.0, // no scaling 64 1.0, // no scaling 65 TransitionInfo::REVERSEMETHOD_FLIP_X, 66 false, // 'out' by subtraction 67 false // scale isotrophically to target size 68 }, 69 { 70 // mapped to BarWipePolyPolygon: 71 animations::TransitionType::BARWIPE, 72 animations::TransitionSubType::TOPTOBOTTOM, // (2) 73 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 74 90.0, // rotation 75 1.0, // no scaling 76 1.0, // no scaling 77 TransitionInfo::REVERSEMETHOD_FLIP_Y, 78 false, // 'out' by subtraction 79 false // scale isotrophically to target size 80 }, 81 82 { 83 // mapped to BarWipePolyPolygon(nBars=5): 84 animations::TransitionType::BLINDSWIPE, 85 animations::TransitionSubType::VERTICAL, 86 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 87 0.0, // no rotation 88 1.0, // no scaling 89 1.0, // no scaling 90 TransitionInfo::REVERSEMETHOD_FLIP_Y, 91 true, // 'out' by parameter sweep inversion 92 false // scale isotrophically to target size 93 }, 94 { 95 // mapped to BarWipePolyPolygon(nBars=5): 96 animations::TransitionType::BLINDSWIPE, 97 animations::TransitionSubType::HORIZONTAL, 98 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 99 90.0, // rotation 100 1.0, // no scaling 101 1.0, // no scaling 102 TransitionInfo::REVERSEMETHOD_FLIP_X, 103 true, // 'out' by parameter sweep inversion 104 false // scale isotrophically to target size 105 }, 106 107 { 108 // mapped to BoxWipe: 109 animations::TransitionType::BOXWIPE, 110 animations::TransitionSubType::TOPLEFT, // (3) 111 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 112 0.0, // no rotation 113 1.0, // no scaling 114 1.0, // no scaling 115 TransitionInfo::REVERSEMETHOD_IGNORE, // possible via bottomRight 116 true, // 'out' by parameter sweep inversion 117 false // scale isotrophically to target size 118 }, 119 { 120 // mapped to BoxWipe: 121 animations::TransitionType::BOXWIPE, 122 animations::TransitionSubType::TOPRIGHT, // (4) 123 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 124 90.0, // rotation 125 1.0, // no scaling 126 1.0, // no scaling 127 TransitionInfo::REVERSEMETHOD_IGNORE, // possible via bottomLeft 128 true, // 'out' by parameter sweep inversion 129 false // scale isotrophically to target size 130 }, 131 { 132 // mapped to BoxWipe: 133 animations::TransitionType::BOXWIPE, 134 animations::TransitionSubType::BOTTOMRIGHT, // (5) 135 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 136 180.0, // rotation 137 1.0, // no scaling 138 1.0, // no scaling 139 TransitionInfo::REVERSEMETHOD_IGNORE, // possible via topLeft 140 true, // 'out' by parameter sweep inversion 141 false // scale isotrophically to target size 142 }, 143 { 144 // mapped to BoxWipe: 145 animations::TransitionType::BOXWIPE, 146 animations::TransitionSubType::BOTTOMLEFT, // (6) 147 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 148 -90.0, // rotation 149 1.0, // no scaling 150 1.0, // no scaling 151 TransitionInfo::REVERSEMETHOD_IGNORE, // possible via topRight 152 true, // 'out' by parameter sweep inversion 153 false // scale isotrophically to target size 154 }, 155 { 156 // mapped to BoxWipe: 157 animations::TransitionType::BOXWIPE, 158 animations::TransitionSubType::TOPCENTER, // (23) 159 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 160 0.0, // no rotation 161 1.0, // no scaling 162 1.0, // no scaling 163 TransitionInfo::REVERSEMETHOD_FLIP_Y, 164 true, // 'out' by parameter sweep inversion 165 false // scale isotrophically to target size 166 }, 167 { 168 // mapped to BoxWipe: 169 animations::TransitionType::BOXWIPE, 170 animations::TransitionSubType::RIGHTCENTER, // (24) 171 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 172 90.0, // rotation 173 1.0, // no scaling 174 1.0, // no scaling 175 TransitionInfo::REVERSEMETHOD_FLIP_X, 176 true, // 'out' by parameter sweep inversion 177 false // scale isotrophically to target size 178 }, 179 { 180 // mapped to BoxWipe: 181 animations::TransitionType::BOXWIPE, 182 animations::TransitionSubType::BOTTOMCENTER, // (25) 183 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 184 180.0, // rotation 185 1.0, // no scaling 186 1.0, // no scaling 187 TransitionInfo::REVERSEMETHOD_FLIP_Y, 188 true, // 'out' by parameter sweep inversion 189 false // scale isotrophically to target size 190 }, 191 { 192 // mapped to BoxWipe: 193 animations::TransitionType::BOXWIPE, 194 animations::TransitionSubType::LEFTCENTER, // (26) 195 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 196 -90.0, // rotation 197 1.0, // no scaling 198 1.0, // no scaling 199 TransitionInfo::REVERSEMETHOD_FLIP_X, 200 true, // 'out' by parameter sweep inversion 201 false // scale isotrophically to target size 202 }, 203 204 { 205 // mapped to FourBoxWipe: 206 animations::TransitionType::FOURBOXWIPE, 207 animations::TransitionSubType::CORNERSIN, // (7) 208 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 209 0.0, // no rotation 210 1.0, // no scaling 211 1.0, // no scaling 212 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 213 true, // 'out' by parameter sweep inversion 214 false // scale isotrophically to target size 215 }, 216 { 217 // mapped to FourBoxWipe: 218 animations::TransitionType::FOURBOXWIPE, 219 animations::TransitionSubType::CORNERSOUT, // (8) 220 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 221 0.0, // no rotation 222 1.0, // no scaling 223 1.0, // no scaling 224 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 225 true, // 'out' by parameter sweep inversion 226 false // scale isotrophically to target size 227 }, 228 229 { 230 // mapped to BarnDoorWipe: 231 animations::TransitionType::BARNDOORWIPE, 232 animations::TransitionSubType::VERTICAL, // (21) 233 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 234 0.0, // no rotation 235 1.0, // no scaling 236 1.0, // no scaling 237 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 238 true, // 'out' by parameter sweep inversion 239 false // scale isotrophically to target size 240 }, 241 { 242 // mapped to BarnDoorWipe: 243 animations::TransitionType::BARNDOORWIPE, 244 animations::TransitionSubType::HORIZONTAL, // (22) 245 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 246 90.0, // rotation 247 1.0, // no scaling 248 1.0, // no scaling 249 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 250 true, // 'out' by parameter sweep inversion 251 false // scale isotrophically to target size 252 }, 253 { 254 // mapped to BarnDoorWipe: 255 animations::TransitionType::BARNDOORWIPE, 256 animations::TransitionSubType::DIAGONALBOTTOMLEFT, // (45) 257 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 258 45.0, // rotation 259 M_SQRT2, // scaling 260 M_SQRT2, // scaling 261 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 262 true, // 'out' by parameter sweep inversion 263 false // scale isotrophically to target size 264 }, 265 { 266 // mapped to BarnDoorWipe: 267 animations::TransitionType::BARNDOORWIPE, 268 animations::TransitionSubType::DIAGONALTOPLEFT, // (46) 269 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 270 -45.0, // rotation 271 M_SQRT2, // scaling 272 M_SQRT2, // scaling 273 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 274 true, // 'out' by parameter sweep inversion 275 false // scale isotrophically to target size 276 }, 277 278 { 279 // mapped to BarWipePolyPolygon: 280 animations::TransitionType::DIAGONALWIPE, 281 animations::TransitionSubType::TOPLEFT, // (41) 282 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 283 45.0, // rotation 284 M_SQRT2, // scaling 285 M_SQRT2, // scaling 286 TransitionInfo::REVERSEMETHOD_IGNORE, 287 true, // 'out' by parameter sweep inversion 288 false // scale isotrophically to target size 289 }, 290 { 291 // mapped to BarWipePolyPolygon: 292 animations::TransitionType::DIAGONALWIPE, 293 animations::TransitionSubType::TOPRIGHT, // (42) 294 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 295 135.0, // rotation 296 M_SQRT2, // scaling 297 M_SQRT2, // scaling 298 TransitionInfo::REVERSEMETHOD_IGNORE, 299 true, // 'out' by parameter sweep inversion 300 false // scale isotrophically to target size 301 }, 302 303 304 { 305 animations::TransitionType::BOWTIEWIPE, 306 animations::TransitionSubType::VERTICAL, 307 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 308 // TODO(F2): Setup parameters 309 0.0, // no rotation 310 1.0, // no scaling 311 1.0, // no scaling 312 TransitionInfo::REVERSEMETHOD_IGNORE, 313 true, // 'out' by parameter sweep inversion 314 false // scale isotrophically to target size 315 }, 316 { 317 animations::TransitionType::BOWTIEWIPE, 318 animations::TransitionSubType::HORIZONTAL, 319 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 320 // TODO(F2): Setup parameters 321 0.0, // no rotation 322 1.0, // no scaling 323 1.0, // no scaling 324 TransitionInfo::REVERSEMETHOD_IGNORE, 325 true, // 'out' by parameter sweep inversion 326 false // scale isotrophically to target size 327 }, 328 329 { 330 // mapped to BarnDoorWipe (doubled=true): 331 animations::TransitionType::MISCDIAGONALWIPE, 332 animations::TransitionSubType::DOUBLEBARNDOOR, // (47) 333 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 334 45.0, // rotation 335 M_SQRT2, // scaling 336 M_SQRT2, // scaling 337 TransitionInfo::REVERSEMETHOD_IGNORE, 338 true, // 'out' by parameter sweep inversion 339 false // scale isotrophically to target size 340 }, 341 { 342 // mapped to DoubleDiamondWipe: 343 animations::TransitionType::MISCDIAGONALWIPE, 344 animations::TransitionSubType::DOUBLEDIAMOND, // (48) 345 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 346 0.0, // no rotation 347 1.0, // no scaling 348 1.0, // no scaling 349 TransitionInfo::REVERSEMETHOD_IGNORE, 350 true, // 'out' by parameter sweep inversion 351 false // scale isotrophically to target size 352 }, 353 354 { 355 // mapped to VeeWipe: 356 animations::TransitionType::VEEWIPE, 357 animations::TransitionSubType::DOWN, // (61) 358 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 359 0.0, // no rotation 360 1.0, // no scaling 361 1.0, // no scaling 362 TransitionInfo::REVERSEMETHOD_FLIP_Y, 363 true, // 'out' by parameter sweep inversion 364 false // scale isotrophically to target size 365 }, 366 { 367 // mapped to VeeWipe: 368 animations::TransitionType::VEEWIPE, 369 animations::TransitionSubType::LEFT, // (62) 370 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 371 90.0, // rotation 372 1.0, // no scaling 373 1.0, // no scaling 374 TransitionInfo::REVERSEMETHOD_FLIP_X, 375 true, // 'out' by parameter sweep inversion 376 false // scale isotrophically to target size 377 }, 378 { 379 animations::TransitionType::VEEWIPE, 380 animations::TransitionSubType::UP, // (63) 381 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 382 180.0, // rotation 383 1.0, // no scaling 384 1.0, // no scaling 385 TransitionInfo::REVERSEMETHOD_FLIP_Y, 386 true, // 'out' by parameter sweep inversion 387 false // scale isotrophically to target size 388 }, 389 { 390 animations::TransitionType::VEEWIPE, 391 animations::TransitionSubType::RIGHT, 392 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 393 -90.0, // rotation 394 1.0, // no scaling 395 1.0, // no scaling 396 TransitionInfo::REVERSEMETHOD_FLIP_X, 397 true, // 'out' by parameter sweep inversion 398 false // scale isotrophically to target size 399 }, 400 401 402 { 403 animations::TransitionType::BARNVEEWIPE, 404 animations::TransitionSubType::TOP, 405 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 406 // TODO(F2): Setup parameters 407 0.0, // no rotation 408 1.0, // no scaling 409 1.0, // no scaling 410 TransitionInfo::REVERSEMETHOD_IGNORE, 411 true, // 'out' by parameter sweep inversion 412 false // scale isotrophically to target size 413 }, 414 { 415 animations::TransitionType::BARNVEEWIPE, 416 animations::TransitionSubType::LEFT, 417 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 418 // TODO(F2): Setup parameters 419 0.0, // no rotation 420 1.0, // no scaling 421 1.0, // no scaling 422 TransitionInfo::REVERSEMETHOD_IGNORE, 423 true, // 'out' by parameter sweep inversion 424 false // scale isotrophically to target size 425 }, 426 { 427 animations::TransitionType::BARNVEEWIPE, 428 animations::TransitionSubType::UP, 429 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 430 // TODO(F2): Setup parameters 431 0.0, // no rotation 432 1.0, // no scaling 433 1.0, // no scaling 434 TransitionInfo::REVERSEMETHOD_IGNORE, 435 true, // 'out' by parameter sweep inversion 436 false // scale isotrophically to target size 437 }, 438 { 439 animations::TransitionType::BARNVEEWIPE, 440 animations::TransitionSubType::RIGHT, 441 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 442 // TODO(F2): Setup parameters 443 0.0, // no rotation 444 1.0, // no scaling 445 1.0, // no scaling 446 TransitionInfo::REVERSEMETHOD_IGNORE, 447 true, // 'out' by parameter sweep inversion 448 false // scale isotrophically to target size 449 }, 450 451 { 452 // mapped to ZigZagWipe: 453 animations::TransitionType::ZIGZAGWIPE, 454 animations::TransitionSubType::LEFTTORIGHT, // (71) 455 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 456 0.0, // no rotation 457 1.0, // no scaling 458 1.0, // no scaling 459 TransitionInfo::REVERSEMETHOD_FLIP_X, 460 true, // 'out' by parameter sweep inversion 461 false // scale isotrophically to target size 462 }, 463 { 464 // mapped to ZigZagWipe: 465 animations::TransitionType::ZIGZAGWIPE, 466 animations::TransitionSubType::TOPTOBOTTOM, // (72) 467 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 468 90.0, // rotation 469 1.0, // no scaling 470 1.0, // no scaling 471 TransitionInfo::REVERSEMETHOD_FLIP_Y, 472 true, // 'out' by parameter sweep inversion 473 false // scale isotrophically to target size 474 }, 475 { 476 // mapped to BarnZigZagWipe: 477 animations::TransitionType::BARNZIGZAGWIPE, 478 animations::TransitionSubType::VERTICAL, // (73) 479 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 480 0.0, // no rotation 481 1.0, // no scaling 482 1.0, // no scaling 483 TransitionInfo::REVERSEMETHOD_IGNORE, 484 true, // 'out' by parameter sweep inversion 485 false // scale isotrophically to target size 486 }, 487 { 488 // mapped to BarnZigZagWipe: 489 animations::TransitionType::BARNZIGZAGWIPE, 490 animations::TransitionSubType::HORIZONTAL, // (74) 491 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 492 90.0, // rotation 493 1.0, // no scaling 494 1.0, // no scaling 495 TransitionInfo::REVERSEMETHOD_IGNORE, 496 true, // 'out' by parameter sweep inversion 497 false // scale isotrophically to target size 498 }, 499 500 { 501 // mapped to IrisWipe: 502 animations::TransitionType::IRISWIPE, 503 animations::TransitionSubType::RECTANGLE, // (101) 504 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 505 0.0, // no rotation 506 1.0, // no scaling 507 1.0, // no scaling 508 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 509 true, // 'out' by parameter sweep inversion 510 false // scale isotrophically to target size 511 }, 512 { 513 // mapped to IrisWipe: 514 animations::TransitionType::IRISWIPE, 515 animations::TransitionSubType::DIAMOND, // (102) 516 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 517 45.0, // rotation 518 M_SQRT2, // scaling 519 M_SQRT2, // scaling 520 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 521 true, // 'out' by parameter sweep inversion 522 false // scale isotrophically to target size 523 }, 524 525 526 { 527 // mapped to FigureWipe(triangle): 528 animations::TransitionType::TRIANGLEWIPE, 529 animations::TransitionSubType::UP, // (103) 530 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 531 0.0, // no rotation 532 1.0, // no scaling 533 1.0, // no scaling 534 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 535 true, // 'out' by parameter sweep inversion 536 false // scale isotrophically to target size 537 }, 538 { 539 // mapped to FigureWipe(triangle): 540 animations::TransitionType::TRIANGLEWIPE, 541 animations::TransitionSubType::RIGHT, // (104) 542 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 543 90.0, // rotation 544 1.0, // no scaling 545 1.0, // no scaling 546 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 547 true, // 'out' by parameter sweep inversion 548 false // scale isotrophically to target size 549 }, 550 { 551 // mapped to FigureWipe(triangle): 552 animations::TransitionType::TRIANGLEWIPE, 553 animations::TransitionSubType::DOWN, // (105) 554 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 555 180.0, // rotation 556 1.0, // no scaling 557 1.0, // no scaling 558 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 559 true, // 'out' by parameter sweep inversion 560 false // scale isotrophically to target size 561 }, 562 { 563 // mapped to FigureWipe(triangle): 564 animations::TransitionType::TRIANGLEWIPE, 565 animations::TransitionSubType::LEFT, // (106) 566 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 567 270.0, // rotation 568 1.0, // no scaling 569 1.0, // no scaling 570 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 571 true, // 'out' by parameter sweep inversion 572 false // scale isotrophically to target size 573 }, 574 575 { 576 // mapped to FigureWipe(arrowHead): 577 animations::TransitionType::ARROWHEADWIPE, 578 animations::TransitionSubType::UP, // (107) 579 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 580 0.0, // no rotation 581 1.0, // no scaling 582 1.0, // no scaling 583 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 584 true, // 'out' by parameter sweep inversion 585 false // scale isotrophically to target size 586 }, 587 { 588 // mapped to FigureWipe(arrowHead): 589 animations::TransitionType::ARROWHEADWIPE, 590 animations::TransitionSubType::RIGHT, // (108) 591 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 592 90.0, // rotation 593 1.0, // no scaling 594 1.0, // no scaling 595 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 596 true, // 'out' by parameter sweep inversion 597 false // scale isotrophically to target size 598 }, 599 { 600 // mapped to FigureWipe(arrowHead): 601 animations::TransitionType::ARROWHEADWIPE, 602 animations::TransitionSubType::DOWN, // (109) 603 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 604 180.0, // rotation 605 1.0, // no scaling 606 1.0, // no scaling 607 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 608 true, // 'out' by parameter sweep inversion 609 false // scale isotrophically to target size 610 }, 611 { 612 // mapped to FigureWipe(arrowHead): 613 animations::TransitionType::ARROWHEADWIPE, 614 animations::TransitionSubType::LEFT, // (110) 615 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 616 270.0, // rotation 617 1.0, // no scaling 618 1.0, // no scaling 619 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 620 true, // 'out' by parameter sweep inversion 621 false // scale isotrophically to target size 622 }, 623 624 { 625 // mapped to FigureWipe(pentagon): 626 animations::TransitionType::PENTAGONWIPE, 627 animations::TransitionSubType::UP, // (111) 628 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 629 0.0, // no rotation 630 1.0, // no scaling 631 1.0, // no scaling 632 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 633 true, // 'out' by parameter sweep inversion 634 false // scale isotrophically to target size 635 }, 636 { 637 // mapped to FigureWipe(pentagon): 638 animations::TransitionType::PENTAGONWIPE, 639 animations::TransitionSubType::DOWN, // (112) 640 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 641 180.0, // rotation 642 1.0, // no scaling 643 1.0, // no scaling 644 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 645 true, // 'out' by parameter sweep inversion 646 false // scale isotrophically to target size 647 }, 648 649 { 650 // mapped to FigureWipe(hexagon): 651 animations::TransitionType::HEXAGONWIPE, 652 animations::TransitionSubType::HORIZONTAL, // (113) 653 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 654 0.0, // no rotation 655 1.0, // no scaling 656 1.0, // no scaling 657 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 658 true, // 'out' by parameter sweep inversion 659 false // scale isotrophically to target size 660 }, 661 { 662 // mapped to FigureWipe(hexagon): 663 animations::TransitionType::HEXAGONWIPE, 664 animations::TransitionSubType::VERTICAL, // (114) 665 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 666 90.0, // rotation 667 1.0, // no scaling 668 1.0, // no scaling 669 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 670 true, // 'out' by parameter sweep inversion 671 false // scale isotrophically to target size 672 }, 673 674 { 675 // mapped to EllipseWipe: 676 animations::TransitionType::ELLIPSEWIPE, 677 animations::TransitionSubType::CIRCLE, 678 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 679 0.0, // no rotation 680 1.0, // no scaling 681 1.0, // no scaling 682 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 683 true, // 'out' by parameter sweep inversion 684 true // scale isotrophically to target size 685 }, 686 { 687 // mapped to EllipseWipe: 688 animations::TransitionType::ELLIPSEWIPE, 689 animations::TransitionSubType::HORIZONTAL, 690 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 691 0.0, // no rotation 692 1.0, // no scaling 693 1.0, // no scaling 694 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 695 true, // 'out' by parameter sweep inversion 696 false // scale isotrophically to target size 697 }, 698 { 699 // mapped to EllipseWipe: 700 animations::TransitionType::ELLIPSEWIPE, 701 animations::TransitionSubType::VERTICAL, 702 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 703 90.0, // rotation 704 1.0, // no scaling 705 1.0, // no scaling 706 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 707 true, // 'out' by parameter sweep inversion 708 false // scale isotrophically to target size 709 }, 710 711 712 { 713 animations::TransitionType::EYEWIPE, 714 animations::TransitionSubType::HORIZONTAL, 715 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 716 // TODO(F2): Setup parameters 717 0.0, // no rotation 718 1.0, // no scaling 719 1.0, // no scaling 720 TransitionInfo::REVERSEMETHOD_IGNORE, 721 true, // 'out' by parameter sweep inversion 722 false // scale isotrophically to target size 723 }, 724 { 725 animations::TransitionType::EYEWIPE, 726 animations::TransitionSubType::VERTICAL, 727 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 728 // TODO(F2): Setup parameters 729 0.0, // no rotation 730 1.0, // no scaling 731 1.0, // no scaling 732 TransitionInfo::REVERSEMETHOD_IGNORE, 733 true, // 'out' by parameter sweep inversion 734 false // scale isotrophically to target size 735 }, 736 { 737 animations::TransitionType::ROUNDRECTWIPE, 738 animations::TransitionSubType::HORIZONTAL, 739 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 740 // TODO(F2): Setup parameters 741 0.0, // no rotation 742 1.0, // no scaling 743 1.0, // no scaling 744 TransitionInfo::REVERSEMETHOD_IGNORE, 745 true, // 'out' by parameter sweep inversion 746 false // scale isotrophically to target size 747 }, 748 { 749 animations::TransitionType::ROUNDRECTWIPE, 750 animations::TransitionSubType::VERTICAL, 751 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 752 // TODO(F2): Setup parameters 753 0.0, // no rotation 754 1.0, // no scaling 755 1.0, // no scaling 756 TransitionInfo::REVERSEMETHOD_IGNORE, 757 true, // 'out' by parameter sweep inversion 758 false // scale isotrophically to target size 759 }, 760 761 { 762 // mapped to FigureWipe(star, points=4): 763 animations::TransitionType::STARWIPE, 764 animations::TransitionSubType::FOURPOINT, // (127) 765 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 766 0.0, // no rotation 767 1.0, // no scaling 768 1.0, // no scaling 769 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 770 true, // 'out' by parameter sweep inversion 771 false // scale isotrophically to target size 772 }, 773 { 774 // mapped to FigureWipe(star, points=5): 775 animations::TransitionType::STARWIPE, 776 animations::TransitionSubType::FIVEPOINT, // (128) 777 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 778 0.0, // no rotation 779 1.0, // no scaling 780 1.0, // no scaling 781 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 782 true, // 'out' by parameter sweep inversion 783 false // scale isotrophically to target size 784 }, 785 { 786 // mapped to FigureWipe(star, points=6): 787 animations::TransitionType::STARWIPE, 788 animations::TransitionSubType::SIXPOINT, // (129) 789 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 790 0.0, // no rotation 791 1.0, // no scaling 792 1.0, // no scaling 793 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 794 true, // 'out' by parameter sweep inversion 795 false // scale isotrophically to target size 796 }, 797 798 { 799 animations::TransitionType::MISCSHAPEWIPE, 800 animations::TransitionSubType::HEART, 801 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 802 // TODO(F2): Setup parameters 803 0.0, // no rotation 804 1.0, // no scaling 805 1.0, // no scaling 806 TransitionInfo::REVERSEMETHOD_IGNORE, 807 true, // 'out' by parameter sweep inversion 808 false // scale isotrophically to target size 809 }, 810 { 811 animations::TransitionType::MISCSHAPEWIPE, 812 animations::TransitionSubType::KEYHOLE, 813 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 814 // TODO(F2): Setup parameters 815 0.0, // no rotation 816 1.0, // no scaling 817 1.0, // no scaling 818 TransitionInfo::REVERSEMETHOD_IGNORE, 819 true, // 'out' by parameter sweep inversion 820 false // scale isotrophically to target size 821 }, 822 823 { 824 // mapped to ClockWipe: 825 animations::TransitionType::CLOCKWIPE, 826 animations::TransitionSubType::CLOCKWISETWELVE, // (201) 827 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 828 0.0, // no rotation 829 1.0, // no scaling 830 1.0, // no scaling 831 TransitionInfo::REVERSEMETHOD_FLIP_X, 832 true, // 'out' by parameter sweep inversion 833 false // scale isotrophically to target size 834 }, 835 { 836 // mapped to ClockWipe: 837 animations::TransitionType::CLOCKWIPE, 838 animations::TransitionSubType::CLOCKWISETHREE, // (202) 839 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 840 90.0, // rotation 841 1.0, // no scaling 842 1.0, // no scaling 843 TransitionInfo::REVERSEMETHOD_ROTATE_180, 844 true, // 'out' by parameter sweep inversion 845 false // scale isotrophically to target size 846 }, 847 { 848 // mapped to ClockWipe: 849 animations::TransitionType::CLOCKWIPE, 850 animations::TransitionSubType::CLOCKWISESIX, // (203) 851 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 852 180.0, // rotation 853 1.0, // no scaling 854 1.0, // no scaling 855 TransitionInfo::REVERSEMETHOD_ROTATE_180, 856 true, // 'out' by parameter sweep inversion 857 false // scale isotrophically to target size 858 }, 859 { 860 // mapped to ClockWipe: 861 animations::TransitionType::CLOCKWIPE, 862 animations::TransitionSubType::CLOCKWISENINE, // (204) 863 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 864 270.0, // rotation 865 1.0, // no scaling 866 1.0, // no scaling 867 TransitionInfo::REVERSEMETHOD_ROTATE_180, 868 true, // 'out' by parameter sweep inversion 869 false // scale isotrophically to target size 870 }, 871 872 { 873 // mapped to PinWheelWipe: 874 animations::TransitionType::PINWHEELWIPE, 875 animations::TransitionSubType::ONEBLADE, 876 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 877 0.0, // no rotation 878 1.0, // no scaling 879 1.0, // no scaling 880 TransitionInfo::REVERSEMETHOD_FLIP_X, 881 true, // 'out' by parameter sweep inversion 882 true // scale isotrophically to target size, like ppt 883 }, 884 { 885 // mapped to PinWheelWipe: 886 animations::TransitionType::PINWHEELWIPE, 887 animations::TransitionSubType::TWOBLADEVERTICAL, // (205) 888 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 889 0.0, // no rotation 890 1.0, // no scaling 891 1.0, // no scaling 892 TransitionInfo::REVERSEMETHOD_FLIP_X, 893 true, // 'out' by parameter sweep inversion 894 true // scale isotrophically to target size, like ppt 895 }, 896 { 897 // mapped to PinWheelWipe: 898 animations::TransitionType::PINWHEELWIPE, 899 animations::TransitionSubType::TWOBLADEHORIZONTAL, // (206) 900 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 901 -90.0, // rotation 902 1.0, // no scaling 903 1.0, // no scaling 904 TransitionInfo::REVERSEMETHOD_FLIP_Y, 905 true, // 'out' by parameter sweep inversion 906 true // scale isotrophically to target size, like ppt 907 }, 908 { 909 // mapped to PinWheelWipe: 910 animations::TransitionType::PINWHEELWIPE, 911 animations::TransitionSubType::THREEBLADE, 912 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 913 0.0, // no rotation 914 1.0, // no scaling 915 1.0, // no scaling 916 TransitionInfo::REVERSEMETHOD_FLIP_X, 917 true, // 'out' by parameter sweep inversion 918 true // scale isotrophically to target size, like ppt 919 }, 920 { 921 // mapped to PinWheelWipe: 922 animations::TransitionType::PINWHEELWIPE, 923 animations::TransitionSubType::FOURBLADE, // (207) 924 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 925 0.0, // no rotation 926 1.0, // no scaling 927 1.0, // no scaling 928 TransitionInfo::REVERSEMETHOD_FLIP_X, 929 true, // 'out' by parameter sweep inversion 930 true // scale isotrophically to target size, like ppt 931 }, 932 { 933 // mapped to PinWheelWipe: 934 animations::TransitionType::PINWHEELWIPE, 935 animations::TransitionSubType::EIGHTBLADE, 936 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 937 0.0, // no rotation 938 1.0, // no scaling 939 1.0, // no scaling 940 TransitionInfo::REVERSEMETHOD_FLIP_X, 941 true, // 'out' by parameter sweep inversion 942 true // scale isotrophically to target size, like ppt 943 }, 944 945 { 946 // mapped to SweepWipe (center=true, single=true): 947 animations::TransitionType::SINGLESWEEPWIPE, 948 animations::TransitionSubType::CLOCKWISETOP, // (221) 949 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 950 0.0, // no rotation 951 1.0, // no scaling 952 1.0, // no scaling 953 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 954 true, // 'out' by parameter sweep inversion 955 false // scale isotrophically to target size 956 }, 957 { 958 // mapped to SweepWipe (center=true, single=true): 959 animations::TransitionType::SINGLESWEEPWIPE, 960 animations::TransitionSubType::CLOCKWISERIGHT, // (222) 961 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 962 90.0, // rotation 963 1.0, // no scaling 964 1.0, // no scaling 965 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 966 true, // 'out' by parameter sweep inversion 967 false // scale isotrophically to target size 968 }, 969 { 970 // mapped to SweepWipe (center=true, single=true): 971 animations::TransitionType::SINGLESWEEPWIPE, 972 animations::TransitionSubType::CLOCKWISEBOTTOM, // (223) 973 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 974 180.0, // rotation 975 1.0, // no scaling 976 1.0, // no scaling 977 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 978 true, // 'out' by parameter sweep inversion 979 false // scale isotrophically to target size 980 }, 981 { 982 // mapped to SweepWipe (center=true, single=true): 983 animations::TransitionType::SINGLESWEEPWIPE, 984 animations::TransitionSubType::CLOCKWISELEFT, // (224) 985 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 986 270.0, // rotation 987 1.0, // no scaling 988 1.0, // no scaling 989 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 990 true, // 'out' by parameter sweep inversion 991 false // scale isotrophically to target size 992 }, 993 { 994 // mapped to SweepWipe (center=false, single=true): 995 animations::TransitionType::SINGLESWEEPWIPE, 996 animations::TransitionSubType::CLOCKWISETOPLEFT, // (241) 997 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 998 0.0, // no rotation 999 1.0, // no scaling 1000 1.0, // no scaling 1001 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1002 true, // 'out' by parameter sweep inversion 1003 false // scale isotrophically to target size 1004 }, 1005 { 1006 // mapped to SweepWipe (center=false, single=true, flipOnYAxis=true): 1007 animations::TransitionType::SINGLESWEEPWIPE, 1008 animations::TransitionSubType::COUNTERCLOCKWISEBOTTOMLEFT, // (242) 1009 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1010 180.0, // rotation 1011 1.0, // no scaling 1012 1.0, // no scaling 1013 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1014 true, // 'out' by parameter sweep inversion 1015 false // scale isotrophically to target size 1016 }, 1017 { 1018 // mapped to SweepWipe (center=false, single=true): 1019 animations::TransitionType::SINGLESWEEPWIPE, 1020 animations::TransitionSubType::CLOCKWISEBOTTOMRIGHT, // (243) 1021 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1022 180.0, // rotation 1023 1.0, // no scaling 1024 1.0, // no scaling 1025 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1026 true, // 'out' by parameter sweep inversion 1027 false // scale isotrophically to target size 1028 }, 1029 { 1030 // mapped to SweepWipe (center=false, single=true, flipOnYAxis=true): 1031 animations::TransitionType::SINGLESWEEPWIPE, 1032 animations::TransitionSubType::COUNTERCLOCKWISETOPRIGHT, // (244) 1033 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1034 0.0, // no rotation 1035 1.0, // no scaling 1036 1.0, // no scaling 1037 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1038 true, // 'out' by parameter sweep inversion 1039 false // scale isotrophically to target size 1040 }, 1041 1042 { 1043 // mapped to FanWipe(center=true): 1044 animations::TransitionType::FANWIPE, 1045 animations::TransitionSubType::CENTERTOP, // (211) 1046 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1047 0.0, // no rotation 1048 1.0, // no scaling 1049 1.0, // no scaling 1050 TransitionInfo::REVERSEMETHOD_FLIP_Y, 1051 true, // 'out' by parameter sweep inversion 1052 false // scale isotrophically to target size 1053 }, 1054 { 1055 // mapped to FanWipe(center=true): 1056 animations::TransitionType::FANWIPE, 1057 animations::TransitionSubType::CENTERRIGHT, // (212) 1058 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1059 90.0, // rotation 1060 1.0, // no scaling 1061 1.0, // no scaling 1062 TransitionInfo::REVERSEMETHOD_FLIP_X, 1063 true, // 'out' by parameter sweep inversion 1064 false // scale isotrophically to target size 1065 }, 1066 { 1067 // mapped to FanWipe: 1068 animations::TransitionType::FANWIPE, 1069 animations::TransitionSubType::TOP, // (231) 1070 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1071 180.0, // rotation 1072 1.0, // no scaling 1073 1.0, // no scaling 1074 TransitionInfo::REVERSEMETHOD_FLIP_Y, 1075 true, // 'out' by parameter sweep inversion 1076 false // scale isotrophically to target size 1077 }, 1078 { 1079 // mapped to FanWipe: 1080 animations::TransitionType::FANWIPE, 1081 animations::TransitionSubType::RIGHT, // (232) 1082 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1083 -90.0, // rotation 1084 1.0, // no scaling 1085 1.0, // no scaling 1086 TransitionInfo::REVERSEMETHOD_FLIP_X, 1087 true, // 'out' by parameter sweep inversion 1088 false // scale isotrophically to target size 1089 }, 1090 { 1091 // mapped to FanWipe: 1092 animations::TransitionType::FANWIPE, 1093 animations::TransitionSubType::BOTTOM, // (233) 1094 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1095 0.0, // no rotation 1096 1.0, // no scaling 1097 1.0, // no scaling 1098 TransitionInfo::REVERSEMETHOD_FLIP_Y, 1099 true, // 'out' by parameter sweep inversion 1100 false // scale isotrophically to target size 1101 }, 1102 { 1103 // mapped to FanWipe: 1104 animations::TransitionType::FANWIPE, 1105 animations::TransitionSubType::LEFT, // (234) 1106 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1107 90.0, // rotation 1108 1.0, // no scaling 1109 1.0, // no scaling 1110 TransitionInfo::REVERSEMETHOD_FLIP_X, 1111 true, // 'out' by parameter sweep inversion 1112 false // scale isotrophically to target size 1113 }, 1114 1115 { 1116 // mapped to FanWipe(center=true, single=false, fanIn=false): 1117 animations::TransitionType::DOUBLEFANWIPE, 1118 animations::TransitionSubType::FANOUTVERTICAL, // (213) 1119 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1120 0.0, // no rotation 1121 1.0, // no scaling 1122 1.0, // no scaling 1123 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1124 true, // 'out' by parameter sweep inversion 1125 false // scale isotrophically to target size 1126 }, 1127 { 1128 // mapped to FanWipe(center=true, single=false, fanIn=false): 1129 animations::TransitionType::DOUBLEFANWIPE, 1130 animations::TransitionSubType::FANOUTHORIZONTAL, // (214) 1131 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1132 90.0, // rotation 1133 1.0, // no scaling 1134 1.0, // no scaling 1135 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1136 true, // 'out' by parameter sweep inversion 1137 false // scale isotrophically to target size 1138 }, 1139 { 1140 // mapped to FanWipe(center=true, single=false, fanIn=true): 1141 animations::TransitionType::DOUBLEFANWIPE, 1142 animations::TransitionSubType::FANINVERTICAL, // (235) 1143 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1144 0.0, // no rotation 1145 1.0, // no scaling 1146 1.0, // no scaling 1147 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1148 true, // 'out' by parameter sweep inversion 1149 false // scale isotrophically to target size 1150 }, 1151 { 1152 // mapped to FanWipe(center=true, single=false, fanIn=true): 1153 animations::TransitionType::DOUBLEFANWIPE, 1154 animations::TransitionSubType::FANINHORIZONTAL, // (236) 1155 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1156 90.0, // rotation 1157 1.0, // no scaling 1158 1.0, // no scaling 1159 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1160 true, // 'out' by parameter sweep inversion 1161 false // scale isotrophically to target size 1162 }, 1163 1164 { 1165 // mapped to SweepWipe (center=true, single=false): 1166 animations::TransitionType::DOUBLESWEEPWIPE, 1167 animations::TransitionSubType::PARALLELVERTICAL, // (225) 1168 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1169 0.0, // no rotation 1170 1.0, // no scaling 1171 1.0, // no scaling 1172 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1173 true, // 'out' by parameter sweep inversion 1174 false // scale isotrophically to target size 1175 }, 1176 { 1177 // mapped to SweepWipe (center=true, single=false): 1178 animations::TransitionType::DOUBLESWEEPWIPE, 1179 animations::TransitionSubType::PARALLELDIAGONAL, // (226) 1180 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1181 -90.0, // rotation 1182 1.0, // no scaling 1183 1.0, // no scaling 1184 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1185 true, // 'out' by parameter sweep inversion 1186 false // scale isotrophically to target size 1187 }, 1188 { 1189 // mapped to SweepWipe (center=true, single=false, 1190 // oppositeVertical=true): 1191 animations::TransitionType::DOUBLESWEEPWIPE, 1192 animations::TransitionSubType::OPPOSITEVERTICAL, // (227) 1193 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1194 0.0, // no rotation 1195 1.0, // no scaling 1196 1.0, // no scaling 1197 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1198 true, // 'out' by parameter sweep inversion 1199 false // scale isotrophically to target size 1200 }, 1201 { 1202 // mapped to SweepWipe (center=true, single=false, 1203 // oppositeVertical=true): 1204 animations::TransitionType::DOUBLESWEEPWIPE, 1205 animations::TransitionSubType::OPPOSITEHORIZONTAL, 1206 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1207 -90.0, // rotation 1208 1.0, // no scaling 1209 1.0, // no scaling 1210 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1211 true, // 'out' by parameter sweep inversion 1212 false // scale isotrophically to target size 1213 }, 1214 { 1215 // mapped to SweepWipe (center=false, single=false): 1216 animations::TransitionType::DOUBLESWEEPWIPE, 1217 animations::TransitionSubType::PARALLELDIAGONALTOPLEFT, 1218 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1219 0.0, // no rotation 1220 1.0, // no scaling 1221 1.0, // no scaling 1222 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1223 true, // 'out' by parameter sweep inversion 1224 false // scale isotrophically to target size 1225 }, 1226 { 1227 // mapped to SweepWipe (center=false, single=false): 1228 animations::TransitionType::DOUBLESWEEPWIPE, 1229 animations::TransitionSubType::PARALLELDIAGONALBOTTOMLEFT, 1230 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1231 -90.0, // rotation 1232 1.0, // no scaling 1233 1.0, // no scaling 1234 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1235 true, // 'out' by parameter sweep inversion 1236 false // scale isotrophically to target size 1237 }, 1238 1239 { 1240 animations::TransitionType::SALOONDOORWIPE, 1241 animations::TransitionSubType::TOP, // (251) 1242 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1243 // TODO(F2): Setup parameters 1244 0.0, // no rotation 1245 1.0, // no scaling 1246 1.0, // no scaling 1247 TransitionInfo::REVERSEMETHOD_FLIP_Y, 1248 true, // 'out' by parameter sweep inversion 1249 false // scale isotrophically to target size 1250 }, 1251 { 1252 animations::TransitionType::SALOONDOORWIPE, 1253 animations::TransitionSubType::LEFT, // (252) 1254 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1255 // TODO(F2): Setup parameters 1256 0.0, // no rotation 1257 1.0, // no scaling 1258 1.0, // no scaling 1259 TransitionInfo::REVERSEMETHOD_FLIP_X, 1260 true, // 'out' by parameter sweep inversion 1261 false // scale isotrophically to target size 1262 }, 1263 { 1264 animations::TransitionType::SALOONDOORWIPE, 1265 animations::TransitionSubType::BOTTOM, // (253) 1266 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1267 // TODO(F2): Setup parameters 1268 0.0, // no rotation 1269 1.0, // no scaling 1270 1.0, // no scaling 1271 TransitionInfo::REVERSEMETHOD_FLIP_Y, 1272 true, // 'out' by parameter sweep inversion 1273 false // scale isotrophically to target size 1274 }, 1275 { 1276 animations::TransitionType::SALOONDOORWIPE, 1277 animations::TransitionSubType::RIGHT, // (254) 1278 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1279 // TODO(F2): Setup parameters 1280 0.0, // no rotation 1281 1.0, // no scaling 1282 1.0, // no scaling 1283 TransitionInfo::REVERSEMETHOD_FLIP_X, 1284 true, // 'out' by parameter sweep inversion 1285 false // scale isotrophically to target size 1286 }, 1287 { 1288 animations::TransitionType::WINDSHIELDWIPE, 1289 animations::TransitionSubType::RIGHT, 1290 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1291 // TODO(F2): Setup parameters 1292 0.0, // no rotation 1293 1.0, // no scaling 1294 1.0, // no scaling 1295 TransitionInfo::REVERSEMETHOD_FLIP_X, 1296 true, // 'out' by parameter sweep inversion 1297 false // scale isotrophically to target size 1298 }, 1299 { 1300 animations::TransitionType::WINDSHIELDWIPE, 1301 animations::TransitionSubType::UP, 1302 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1303 // TODO(F2): Setup parameters 1304 0.0, // no rotation 1305 1.0, // no scaling 1306 1.0, // no scaling 1307 TransitionInfo::REVERSEMETHOD_FLIP_Y, 1308 true, // 'out' by parameter sweep inversion 1309 false // scale isotrophically to target size 1310 }, 1311 { 1312 animations::TransitionType::WINDSHIELDWIPE, 1313 animations::TransitionSubType::VERTICAL, 1314 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1315 // TODO(F2): Setup parameters 1316 0.0, // no rotation 1317 1.0, // no scaling 1318 1.0, // no scaling 1319 TransitionInfo::REVERSEMETHOD_IGNORE, 1320 true, // 'out' by parameter sweep inversion 1321 false // scale isotrophically to target size 1322 }, 1323 { 1324 animations::TransitionType::WINDSHIELDWIPE, 1325 animations::TransitionSubType::HORIZONTAL, 1326 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1327 // TODO(F2): Setup parameters 1328 0.0, // no rotation 1329 1.0, // no scaling 1330 1.0, // no scaling 1331 TransitionInfo::REVERSEMETHOD_IGNORE, 1332 true, // 'out' by parameter sweep inversion 1333 false // scale isotrophically to target size 1334 }, 1335 1336 { 1337 // mapped to SnakeWipe: 1338 animations::TransitionType::SNAKEWIPE, 1339 animations::TransitionSubType::TOPLEFTHORIZONTAL, // (301) 1340 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1341 0.0, // no rotation 1342 1.0, // no scaling 1343 1.0, // no scaling 1344 TransitionInfo::REVERSEMETHOD_ROTATE_180, 1345 true, // 'out' by parameter sweep inversion 1346 false // scale isotrophically to target size 1347 }, 1348 { 1349 // mapped to SnakeWipe(flipOnYAxis=true): 1350 animations::TransitionType::SNAKEWIPE, 1351 animations::TransitionSubType::TOPLEFTVERTICAL, // (302) 1352 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1353 -90.0, // rotation 1354 1.0, // no scaling 1355 1.0, // no scaling 1356 TransitionInfo::REVERSEMETHOD_ROTATE_180, 1357 true, // 'out' by parameter sweep inversion 1358 false // scale isotrophically to target size 1359 }, 1360 { 1361 // mapped to SnakeWipe(diagonal=true): 1362 animations::TransitionType::SNAKEWIPE, 1363 animations::TransitionSubType::TOPLEFTDIAGONAL, // (303) 1364 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1365 0.0, // no rotation 1366 1.0, // no scaling 1367 1.0, // no scaling 1368 TransitionInfo::REVERSEMETHOD_ROTATE_180, 1369 true, // 'out' by parameter sweep inversion 1370 false // scale isotrophically to target size 1371 }, 1372 { 1373 // mapped to SnakeWipe(diagonal=true, flipOnYAxis=true): 1374 animations::TransitionType::SNAKEWIPE, 1375 animations::TransitionSubType::TOPRIGHTDIAGONAL, // (304) 1376 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1377 0.0, // no rotation 1378 1.0, // no scaling 1379 1.0, // no scaling 1380 TransitionInfo::REVERSEMETHOD_ROTATE_180, 1381 true, // 'out' by parameter sweep inversion 1382 false // scale isotrophically to target size 1383 }, 1384 { 1385 // mapped to SnakeWipe(diagonal=true): 1386 animations::TransitionType::SNAKEWIPE, 1387 animations::TransitionSubType::BOTTOMRIGHTDIAGONAL, // (305) 1388 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1389 180.0, // rotation 1390 1.0, // no scaling 1391 1.0, // no scaling 1392 TransitionInfo::REVERSEMETHOD_ROTATE_180, 1393 true, // 'out' by parameter sweep inversion 1394 false // scale isotrophically to target size 1395 }, 1396 { 1397 // mapped to SnakeWipe(diagonal=true, flipOnYAxis=true): 1398 animations::TransitionType::SNAKEWIPE, 1399 animations::TransitionSubType::BOTTOMLEFTDIAGONAL, // (306) 1400 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1401 180.0, // rotation 1402 1.0, // no scaling 1403 1.0, // no scaling 1404 TransitionInfo::REVERSEMETHOD_ROTATE_180, 1405 true, // 'out' by parameter sweep inversion 1406 false // scale isotrophically to target size 1407 }, 1408 1409 { 1410 // mapped to SpiralWipe: 1411 animations::TransitionType::SPIRALWIPE, 1412 animations::TransitionSubType::TOPLEFTCLOCKWISE, // (310) 1413 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1414 0.0, // no rotation 1415 1.0, // no scaling 1416 1.0, // no scaling 1417 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1418 true, // 'out' by parameter sweep inversion 1419 false // scale isotrophically to target size 1420 }, 1421 { 1422 // mapped to SpiralWipe: 1423 animations::TransitionType::SPIRALWIPE, 1424 animations::TransitionSubType::TOPRIGHTCLOCKWISE, // (311) 1425 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1426 90.0, // rotation 1427 1.0, // no scaling 1428 1.0, // no scaling 1429 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1430 true, // 'out' by parameter sweep inversion 1431 false // scale isotrophically to target size 1432 }, 1433 { 1434 // mapped to SpiralWipe: 1435 animations::TransitionType::SPIRALWIPE, 1436 animations::TransitionSubType::BOTTOMRIGHTCLOCKWISE, // (312) 1437 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1438 180.0, // rotation 1439 1.0, // no scaling 1440 1.0, // no scaling 1441 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1442 true, // 'out' by parameter sweep inversion 1443 false // scale isotrophically to target size 1444 }, 1445 { 1446 // mapped to SpiralWipe: 1447 animations::TransitionType::SPIRALWIPE, 1448 animations::TransitionSubType::BOTTOMLEFTCLOCKWISE, // (313) 1449 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1450 270.0, // rotation 1451 1.0, // no scaling 1452 1.0, // no scaling 1453 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1454 true, // 'out' by parameter sweep inversion 1455 false // scale isotrophically to target size 1456 }, 1457 { 1458 // mapped to SpiralWipe(flipOnYAxis=true): 1459 animations::TransitionType::SPIRALWIPE, 1460 animations::TransitionSubType::TOPLEFTCOUNTERCLOCKWISE, // (314) 1461 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1462 90.0, // rotation 1463 1.0, // no scaling 1464 1.0, // no scaling 1465 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1466 true, // 'out' by parameter sweep inversion 1467 false // scale isotrophically to target size 1468 }, 1469 { 1470 // mapped to SpiralWipe(flipOnYAxis=true): 1471 animations::TransitionType::SPIRALWIPE, 1472 animations::TransitionSubType::TOPRIGHTCOUNTERCLOCKWISE, // (315) 1473 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1474 180.0, // rotation 1475 1.0, // no scaling 1476 1.0, // no scaling 1477 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1478 true, // 'out' by parameter sweep inversion 1479 false // scale isotrophically to target size 1480 }, 1481 { 1482 // mapped to SpiralWipe(flipOnYAxis=true): 1483 animations::TransitionType::SPIRALWIPE, 1484 animations::TransitionSubType::BOTTOMRIGHTCOUNTERCLOCKWISE, // (316) 1485 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1486 270.0, // rotation 1487 1.0, // no scaling 1488 1.0, // no scaling 1489 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1490 true, // 'out' by parameter sweep inversion 1491 false // scale isotrophically to target size 1492 }, 1493 { 1494 // mapped to SpiralWipe(flipOnYAxis=true): 1495 animations::TransitionType::SPIRALWIPE, 1496 animations::TransitionSubType::BOTTOMLEFTCOUNTERCLOCKWISE, // (317) 1497 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1498 0.0, // no rotation 1499 1.0, // no scaling 1500 1.0, // no scaling 1501 TransitionInfo::REVERSEMETHOD_SUBTRACT_AND_INVERT, 1502 true, // 'out' by parameter sweep inversion 1503 false // scale isotrophically to target size 1504 }, 1505 1506 { 1507 // mapped to ParallelSnakesWipe: 1508 animations::TransitionType::PARALLELSNAKESWIPE, 1509 animations::TransitionSubType::VERTICALTOPSAME, 1510 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1511 0.0, // no rotation 1512 1.0, // no scaling 1513 1.0, // no scaling 1514 TransitionInfo::REVERSEMETHOD_IGNORE, 1515 true, // 'out' by parameter sweep inversion 1516 false // scale isotrophically to target size 1517 }, 1518 { 1519 // mapped to ParallelSnakesWipe: 1520 animations::TransitionType::PARALLELSNAKESWIPE, 1521 animations::TransitionSubType::VERTICALBOTTOMSAME, 1522 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1523 180.0, // rotation 1524 1.0, // no scaling 1525 1.0, // no scaling 1526 TransitionInfo::REVERSEMETHOD_IGNORE, 1527 true, // 'out' by parameter sweep inversion 1528 false // scale isotrophically to target size 1529 }, 1530 { 1531 // mapped to ParallelSnakesWipe (opposite=true): 1532 animations::TransitionType::PARALLELSNAKESWIPE, 1533 animations::TransitionSubType::VERTICALTOPLEFTOPPOSITE, 1534 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1535 0.0, // no rotation 1536 1.0, // no scaling 1537 1.0, // no scaling 1538 TransitionInfo::REVERSEMETHOD_IGNORE, 1539 true, // 'out' by parameter sweep inversion 1540 false // scale isotrophically to target size 1541 }, 1542 { 1543 // mapped to ParallelSnakesWipe (flipOnYAxis=true, opposite=true): 1544 animations::TransitionType::PARALLELSNAKESWIPE, 1545 animations::TransitionSubType::VERTICALBOTTOMLEFTOPPOSITE, 1546 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1547 0.0, // no rotation 1548 1.0, // no scaling 1549 1.0, // no scaling 1550 TransitionInfo::REVERSEMETHOD_IGNORE, 1551 true, // 'out' by parameter sweep inversion 1552 false // scale isotrophically to target size 1553 }, 1554 { 1555 // mapped to ParallelSnakesWipe: 1556 animations::TransitionType::PARALLELSNAKESWIPE, 1557 animations::TransitionSubType::HORIZONTALLEFTSAME, 1558 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1559 -90.0, // rotation 1560 1.0, // no scaling 1561 1.0, // no scaling 1562 TransitionInfo::REVERSEMETHOD_IGNORE, 1563 true, // 'out' by parameter sweep inversion 1564 false // scale isotrophically to target size 1565 }, 1566 { 1567 // mapped to ParallelSnakesWipe: 1568 animations::TransitionType::PARALLELSNAKESWIPE, 1569 animations::TransitionSubType::HORIZONTALRIGHTSAME, 1570 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1571 90.0, // rotation 1572 1.0, // no scaling 1573 1.0, // no scaling 1574 TransitionInfo::REVERSEMETHOD_IGNORE, 1575 true, // 'out' by parameter sweep inversion 1576 false // scale isotrophically to target size 1577 }, 1578 { 1579 // mapped to ParallelSnakesWipe (flipOnYAxis=true, opposite=true): 1580 animations::TransitionType::PARALLELSNAKESWIPE, 1581 animations::TransitionSubType::HORIZONTALTOPLEFTOPPOSITE, 1582 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1583 -90.0, // rotation 1584 1.0, // no scaling 1585 1.0, // no scaling 1586 TransitionInfo::REVERSEMETHOD_IGNORE, 1587 true, // 'out' by parameter sweep inversion 1588 false // scale isotrophically to target size 1589 }, 1590 { 1591 // mapped to ParallelSnakesWipe (opposite=true): 1592 animations::TransitionType::PARALLELSNAKESWIPE, 1593 animations::TransitionSubType::HORIZONTALTOPRIGHTOPPOSITE, 1594 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1595 -90.0, // rotation 1596 1.0, // no scaling 1597 1.0, // no scaling 1598 TransitionInfo::REVERSEMETHOD_IGNORE, 1599 true, // 'out' by parameter sweep inversion 1600 false // scale isotrophically to target size 1601 }, 1602 { 1603 // mapped to ParallelSnakesWipe (diagonal=true, opposite=true): 1604 animations::TransitionType::PARALLELSNAKESWIPE, 1605 animations::TransitionSubType::DIAGONALBOTTOMLEFTOPPOSITE, 1606 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1607 0.0, // no rotation 1608 1.0, // no scaling 1609 1.0, // no scaling 1610 TransitionInfo::REVERSEMETHOD_IGNORE, 1611 true, // 'out' by parameter sweep inversion 1612 false // scale isotrophically to target size 1613 }, 1614 { 1615 // mapped to ParallelSnakesWipe (diagonal=true, opposite=true, 1616 // flipOnYAxis=true): 1617 animations::TransitionType::PARALLELSNAKESWIPE, 1618 animations::TransitionSubType::DIAGONALTOPLEFTOPPOSITE, 1619 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1620 0.0, // no rotation 1621 1.0, // no scaling 1622 1.0, // no scaling 1623 TransitionInfo::REVERSEMETHOD_IGNORE, 1624 true, // 'out' by parameter sweep inversion 1625 false // scale isotrophically to target size 1626 }, 1627 1628 { 1629 // mapped to BoxSnakesWipe: 1630 animations::TransitionType::BOXSNAKESWIPE, 1631 animations::TransitionSubType::TWOBOXTOP, // (340) 1632 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1633 90.0, // rotation 1634 1.0, // no scaling 1635 1.0, // no scaling 1636 TransitionInfo::REVERSEMETHOD_IGNORE, 1637 true, // 'out' by parameter sweep inversion 1638 false // scale isotrophically to target size 1639 }, 1640 { 1641 // mapped to BoxSnakesWipe: 1642 animations::TransitionType::BOXSNAKESWIPE, 1643 animations::TransitionSubType::TWOBOXBOTTOM, // (341) 1644 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1645 -90.0, // rotation 1646 1.0, // no scaling 1647 1.0, // no scaling 1648 TransitionInfo::REVERSEMETHOD_IGNORE, 1649 true, // 'out' by parameter sweep inversion 1650 false // scale isotrophically to target size 1651 }, 1652 { 1653 // mapped to BoxSnakesWipe: 1654 animations::TransitionType::BOXSNAKESWIPE, 1655 animations::TransitionSubType::TWOBOXLEFT, // (342) 1656 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1657 0.0, // no rotation 1658 1.0, // no scaling 1659 1.0, // no scaling 1660 TransitionInfo::REVERSEMETHOD_IGNORE, 1661 true, // 'out' by parameter sweep inversion 1662 false // scale isotrophically to target size 1663 }, 1664 { 1665 // mapped to BoxSnakesWipe: 1666 animations::TransitionType::BOXSNAKESWIPE, 1667 animations::TransitionSubType::TWOBOXRIGHT, // (343) 1668 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1669 180.0, // rotation 1670 1.0, // no scaling 1671 1.0, // no scaling 1672 TransitionInfo::REVERSEMETHOD_IGNORE, 1673 true, // 'out' by parameter sweep inversion 1674 false // scale isotrophically to target size 1675 }, 1676 { 1677 // mapped to BoxSnakesWipe(fourBox=true): 1678 animations::TransitionType::BOXSNAKESWIPE, 1679 animations::TransitionSubType::FOURBOXVERTICAL, // (344) 1680 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1681 90.0, // rotation 1682 1.0, // no scaling 1683 1.0, // no scaling 1684 TransitionInfo::REVERSEMETHOD_IGNORE, 1685 true, // 'out' by parameter sweep inversion 1686 false // scale isotrophically to target size 1687 }, 1688 { 1689 // mapped to BoxSnakesWipe(fourBox=true): 1690 animations::TransitionType::BOXSNAKESWIPE, 1691 animations::TransitionSubType::FOURBOXHORIZONTAL, // (345) 1692 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1693 0.0, // no rotation 1694 1.0, // no scaling 1695 1.0, // no scaling 1696 TransitionInfo::REVERSEMETHOD_IGNORE, 1697 true, // 'out' by parameter sweep inversion 1698 false // scale isotrophically to target size 1699 }, 1700 1701 { 1702 // mapped to WaterfallWipe: 1703 animations::TransitionType::WATERFALLWIPE, 1704 animations::TransitionSubType::VERTICALLEFT, // (350) 1705 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1706 0.0, // no rotation 1707 1.0, // no scaling 1708 1.0, // no scaling 1709 TransitionInfo::REVERSEMETHOD_ROTATE_180, 1710 true, // 'out' by parameter sweep inversion 1711 false // scale isotrophically to target size 1712 }, 1713 { 1714 // mapped to WaterfallWipe (flipOnYAxis=true): 1715 animations::TransitionType::WATERFALLWIPE, 1716 animations::TransitionSubType::VERTICALRIGHT, // (351) 1717 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1718 0.0, // no rotation 1719 1.0, // no scaling 1720 1.0, // no scaling 1721 TransitionInfo::REVERSEMETHOD_ROTATE_180, 1722 true, // 'out' by parameter sweep inversion 1723 false // scale isotrophically to target size 1724 }, 1725 { 1726 // mapped to WaterfallWipe (flipOnYAxis=true): 1727 animations::TransitionType::WATERFALLWIPE, 1728 animations::TransitionSubType::HORIZONTALLEFT, // (352) 1729 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1730 -90.0, // rotation 1731 1.0, // no scaling 1732 1.0, // no scaling 1733 TransitionInfo::REVERSEMETHOD_ROTATE_180, 1734 true, // 'out' by parameter sweep inversion 1735 false // scale isotrophically to target size 1736 }, 1737 { 1738 // mapped to WaterfallWipe, flipOnYAxis=false: 1739 animations::TransitionType::WATERFALLWIPE, 1740 animations::TransitionSubType::HORIZONTALRIGHT, // (353) 1741 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 1742 90.0, // rotation 1743 1.0, // no scaling 1744 1.0, // no scaling 1745 TransitionInfo::REVERSEMETHOD_ROTATE_180, 1746 true, // 'out' by parameter sweep inversion 1747 false // scale isotrophically to target size 1748 }, 1749 1750 { 1751 animations::TransitionType::PUSHWIPE, 1752 animations::TransitionSubType::FROMLEFT, 1753 TransitionInfo::TRANSITION_SPECIAL, 1754 // TODO(F2): Setup parameters 1755 0.0, // no rotation 1756 1.0, // no scaling 1757 1.0, // no scaling 1758 TransitionInfo::REVERSEMETHOD_IGNORE, 1759 true, // 'out' by parameter sweep inversion 1760 false // scale isotrophically to target size 1761 }, 1762 { 1763 animations::TransitionType::PUSHWIPE, 1764 animations::TransitionSubType::FROMTOP, 1765 TransitionInfo::TRANSITION_SPECIAL, 1766 // TODO(F2): Setup parameters 1767 0.0, // no rotation 1768 1.0, // no scaling 1769 1.0, // no scaling 1770 TransitionInfo::REVERSEMETHOD_IGNORE, 1771 true, // 'out' by parameter sweep inversion 1772 false // scale isotrophically to target size 1773 }, 1774 { 1775 animations::TransitionType::PUSHWIPE, 1776 animations::TransitionSubType::FROMRIGHT, 1777 TransitionInfo::TRANSITION_SPECIAL, 1778 // TODO(F2): Setup parameters 1779 0.0, // no rotation 1780 1.0, // no scaling 1781 1.0, // no scaling 1782 TransitionInfo::REVERSEMETHOD_IGNORE, 1783 true, // 'out' by parameter sweep inversion 1784 false // scale isotrophically to target size 1785 }, 1786 { 1787 animations::TransitionType::PUSHWIPE, 1788 animations::TransitionSubType::FROMBOTTOM, 1789 TransitionInfo::TRANSITION_SPECIAL, 1790 // TODO(F2): Setup parameters 1791 0.0, // no rotation 1792 1.0, // no scaling 1793 1.0, // no scaling 1794 TransitionInfo::REVERSEMETHOD_IGNORE, 1795 true, // 'out' by parameter sweep inversion 1796 false // scale isotrophically to target size 1797 }, 1798 { 1799 animations::TransitionType::PUSHWIPE, 1800 animations::TransitionSubType::FROMBOTTOMRIGHT, 1801 TransitionInfo::TRANSITION_SPECIAL, 1802 // TODO(F2): Setup parameters 1803 0.0, // no rotation 1804 1.0, // no scaling 1805 1.0, // no scaling 1806 TransitionInfo::REVERSEMETHOD_IGNORE, 1807 true, // 'out' by parameter sweep inversion 1808 false // scale isotrophically to target size 1809 }, 1810 { 1811 animations::TransitionType::PUSHWIPE, 1812 animations::TransitionSubType::FROMBOTTOMLEFT, 1813 TransitionInfo::TRANSITION_SPECIAL, 1814 // TODO(F2): Setup parameters 1815 0.0, // no rotation 1816 1.0, // no scaling 1817 1.0, // no scaling 1818 TransitionInfo::REVERSEMETHOD_IGNORE, 1819 true, // 'out' by parameter sweep inversion 1820 false // scale isotrophically to target size 1821 }, 1822 { 1823 animations::TransitionType::PUSHWIPE, 1824 animations::TransitionSubType::FROMTOPRIGHT, 1825 TransitionInfo::TRANSITION_SPECIAL, 1826 // TODO(F2): Setup parameters 1827 0.0, // no rotation 1828 1.0, // no scaling 1829 1.0, // no scaling 1830 TransitionInfo::REVERSEMETHOD_IGNORE, 1831 true, // 'out' by parameter sweep inversion 1832 false // scale isotrophically to target size 1833 }, 1834 { 1835 animations::TransitionType::PUSHWIPE, 1836 animations::TransitionSubType::FROMTOPLEFT, 1837 TransitionInfo::TRANSITION_SPECIAL, 1838 // TODO(F2): Setup parameters 1839 0.0, // no rotation 1840 1.0, // no scaling 1841 1.0, // no scaling 1842 TransitionInfo::REVERSEMETHOD_IGNORE, 1843 true, // 'out' by parameter sweep inversion 1844 false // scale isotrophically to target size 1845 }, 1846 { 1847 animations::TransitionType::PUSHWIPE, 1848 animations::TransitionSubType::COMBHORIZONTAL, 1849 TransitionInfo::TRANSITION_SPECIAL, 1850 // TODO(F2): Setup parameters 1851 0.0, // no rotation 1852 1.0, // no scaling 1853 1.0, // no scaling 1854 TransitionInfo::REVERSEMETHOD_FLIP_X, 1855 true, // 'out' by parameter sweep inversion 1856 false // scale isotrophically to target size 1857 }, 1858 { 1859 animations::TransitionType::PUSHWIPE, 1860 animations::TransitionSubType::COMBVERTICAL, 1861 TransitionInfo::TRANSITION_SPECIAL, 1862 // TODO(F2): Setup parameters 1863 0.0, // no rotation 1864 1.0, // no scaling 1865 1.0, // no scaling 1866 TransitionInfo::REVERSEMETHOD_FLIP_X, 1867 true, // 'out' by parameter sweep inversion 1868 false // scale isotrophically to target size 1869 }, 1870 { 1871 animations::TransitionType::SLIDEWIPE, 1872 animations::TransitionSubType::FROMLEFT, 1873 TransitionInfo::TRANSITION_SPECIAL, 1874 // TODO(F2): Setup parameters 1875 0.0, // no rotation 1876 1.0, // no scaling 1877 1.0, // no scaling 1878 TransitionInfo::REVERSEMETHOD_IGNORE, // special code for this transition 1879 true, // 'out' by parameter sweep inversion 1880 false // scale isotrophically to target size 1881 }, 1882 { 1883 animations::TransitionType::SLIDEWIPE, 1884 animations::TransitionSubType::FROMTOP, 1885 TransitionInfo::TRANSITION_SPECIAL, 1886 // TODO(F2): Setup parameters 1887 0.0, // no rotation 1888 1.0, // no scaling 1889 1.0, // no scaling 1890 TransitionInfo::REVERSEMETHOD_IGNORE, // special code for this transition 1891 true, // 'out' by parameter sweep inversion 1892 false // scale isotrophically to target size 1893 }, 1894 { 1895 animations::TransitionType::SLIDEWIPE, 1896 animations::TransitionSubType::FROMRIGHT, 1897 TransitionInfo::TRANSITION_SPECIAL, 1898 // TODO(F2): Setup parameters 1899 0.0, // no rotation 1900 1.0, // no scaling 1901 1.0, // no scaling 1902 TransitionInfo::REVERSEMETHOD_IGNORE, // special code for this transition 1903 true, // 'out' by parameter sweep inversion 1904 false // scale isotrophically to target size 1905 }, 1906 { 1907 animations::TransitionType::SLIDEWIPE, 1908 animations::TransitionSubType::FROMBOTTOM, 1909 TransitionInfo::TRANSITION_SPECIAL, 1910 // TODO(F2): Setup parameters 1911 0.0, // no rotation 1912 1.0, // no scaling 1913 1.0, // no scaling 1914 TransitionInfo::REVERSEMETHOD_IGNORE, // special code for this transition 1915 true, // 'out' by parameter sweep inversion 1916 false // scale isotrophically to target size 1917 }, 1918 { 1919 animations::TransitionType::SLIDEWIPE, 1920 animations::TransitionSubType::FROMBOTTOMRIGHT, 1921 TransitionInfo::TRANSITION_SPECIAL, 1922 // TODO(F2): Setup parameters 1923 0.0, // no rotation 1924 1.0, // no scaling 1925 1.0, // no scaling 1926 TransitionInfo::REVERSEMETHOD_IGNORE, // special code for this transition 1927 true, // 'out' by parameter sweep inversion 1928 false // scale isotrophically to target size 1929 }, 1930 { 1931 animations::TransitionType::SLIDEWIPE, 1932 animations::TransitionSubType::FROMTOPRIGHT, 1933 TransitionInfo::TRANSITION_SPECIAL, 1934 // TODO(F2): Setup parameters 1935 0.0, // no rotation 1936 1.0, // no scaling 1937 1.0, // no scaling 1938 TransitionInfo::REVERSEMETHOD_IGNORE, // special code for this transition 1939 true, // 'out' by parameter sweep inversion 1940 false // scale isotrophically to target size 1941 }, 1942 { 1943 animations::TransitionType::SLIDEWIPE, 1944 animations::TransitionSubType::FROMTOPLEFT, 1945 TransitionInfo::TRANSITION_SPECIAL, 1946 // TODO(F2): Setup parameters 1947 0.0, // no rotation 1948 1.0, // no scaling 1949 1.0, // no scaling 1950 TransitionInfo::REVERSEMETHOD_IGNORE, // special code for this transition 1951 true, // 'out' by parameter sweep inversion 1952 false // scale isotrophically to target size 1953 }, 1954 { 1955 animations::TransitionType::SLIDEWIPE, 1956 animations::TransitionSubType::FROMBOTTOMLEFT, 1957 TransitionInfo::TRANSITION_SPECIAL, 1958 // TODO(F2): Setup parameters 1959 0.0, // no rotation 1960 1.0, // no scaling 1961 1.0, // no scaling 1962 TransitionInfo::REVERSEMETHOD_IGNORE, // special code for this transition 1963 true, // 'out' by parameter sweep inversion 1964 false // scale isotrophically to target size 1965 }, 1966 { 1967 animations::TransitionType::FADE, 1968 animations::TransitionSubType::CROSSFADE, 1969 TransitionInfo::TRANSITION_SPECIAL, 1970 // TODO(F2): Setup parameters 1971 0.0, // no rotation 1972 1.0, // no scaling 1973 1.0, // no scaling 1974 TransitionInfo::REVERSEMETHOD_IGNORE, 1975 true, // 'out' by parameter sweep inversion 1976 false // scale isotrophically to target size 1977 }, 1978 { 1979 animations::TransitionType::FADE, 1980 animations::TransitionSubType::FADETOCOLOR, 1981 TransitionInfo::TRANSITION_SPECIAL, 1982 // TODO(F2): Setup parameters 1983 0.0, // no rotation 1984 1.0, // no scaling 1985 1.0, // no scaling 1986 TransitionInfo::REVERSEMETHOD_IGNORE, 1987 true, // 'out' by parameter sweep inversion 1988 false // scale isotrophically to target size 1989 }, 1990 { 1991 animations::TransitionType::FADE, 1992 animations::TransitionSubType::FADEFROMCOLOR, 1993 TransitionInfo::TRANSITION_SPECIAL, 1994 // TODO(F2): Setup parameters 1995 0.0, // no rotation 1996 1.0, // no scaling 1997 1.0, // no scaling 1998 TransitionInfo::REVERSEMETHOD_IGNORE, 1999 true, // 'out' by parameter sweep inversion 2000 false // scale isotrophically to target size 2001 }, 2002 { 2003 animations::TransitionType::FADE, 2004 animations::TransitionSubType::FADEOVERCOLOR, 2005 TransitionInfo::TRANSITION_SPECIAL, 2006 // TODO(F2): Setup parameters 2007 0.0, // no rotation 2008 1.0, // no scaling 2009 1.0, // no scaling 2010 TransitionInfo::REVERSEMETHOD_IGNORE, 2011 true, // 'out' by parameter sweep inversion 2012 false // scale isotrophically to target size 2013 }, 2014 2015 { 2016 // mapped to RandomWipe: 2017 animations::TransitionType::RANDOMBARWIPE, 2018 animations::TransitionSubType::VERTICAL, 2019 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 2020 90.0, // rotation 2021 1.0, // no scaling 2022 1.0, // no scaling 2023 TransitionInfo::REVERSEMETHOD_IGNORE, 2024 true, // 'out' by parameter sweep inversion 2025 false // scale isotrophically to target size 2026 }, 2027 { 2028 // mapped to RandomWipe: 2029 animations::TransitionType::RANDOMBARWIPE, 2030 animations::TransitionSubType::HORIZONTAL, 2031 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 2032 0.0, // no rotation 2033 1.0, // no scaling 2034 1.0, // no scaling 2035 TransitionInfo::REVERSEMETHOD_IGNORE, 2036 true, // 'out' by parameter sweep inversion 2037 false // scale isotrophically to target size 2038 }, 2039 2040 { 2041 // mapped to CheckerBoard: 2042 animations::TransitionType::CHECKERBOARDWIPE, 2043 animations::TransitionSubType::DOWN, 2044 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 2045 90.0, // rotation 2046 1.0, // no scaling 2047 1.0, // no scaling 2048 TransitionInfo::REVERSEMETHOD_FLIP_Y, 2049 true, // 'out' by parameter sweep inversion 2050 false // scale isotrophically to target size 2051 }, 2052 { 2053 // mapped to CheckerBoard: 2054 animations::TransitionType::CHECKERBOARDWIPE, 2055 animations::TransitionSubType::ACROSS, // (default) 2056 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 2057 0.0, // no rotation 2058 1.0, // no scaling 2059 1.0, // no scaling 2060 TransitionInfo::REVERSEMETHOD_FLIP_X, 2061 true, // 'out' by parameter sweep inversion 2062 false // scale isotrophically to target size 2063 }, 2064 2065 { 2066 // mapped to RandomWipe: 2067 animations::TransitionType::DISSOLVE, 2068 animations::TransitionSubType::DEFAULT, 2069 TransitionInfo::TRANSITION_CLIP_POLYPOLYGON, 2070 0.0, // no rotation 2071 1.0, // no scaling 2072 1.0, // no scaling 2073 TransitionInfo::REVERSEMETHOD_IGNORE, 2074 true, // 'out' by parameter sweep inversion 2075 true // scale isotrophically to target size 2076 }, 2077 2078 ///////////////////////////////////////////////////////// 2079 // NOTE: This entry MUST be the last, to keep 2080 // createSlideTransition() from infinite recursion. Because 2081 // getRandomTransitionInfo() below will exclude the last entry of 2082 // the table from the random number generation. 2083 ///////////////////////////////////////////////////////// 2084 { 2085 // specially handled 2086 animations::TransitionType::RANDOM, 2087 animations::TransitionSubType::DEFAULT, 2088 TransitionInfo::TRANSITION_SPECIAL, 2089 0.0, // no rotation 2090 1.0, // no scaling 2091 1.0, // no scaling 2092 TransitionInfo::REVERSEMETHOD_IGNORE, 2093 true, // 'out' by parameter sweep inversion 2094 true // scale isotrophically to target size 2095 } 2096 ///////////////////////////////////////////////////////// 2097 // NOTE: DON'T add after this entry! See comment above! 2098 ///////////////////////////////////////////////////////// 2099 }; 2100 2101 } // anon namespace 2102 2103 const TransitionInfo* TransitionFactory::getTransitionInfo( 2104 sal_Int16 nTransitionType, sal_Int16 nTransitionSubType ) 2105 { 2106 static const ::std::size_t lcl_tableSize( 2107 sizeof(lcl_transitionInfo)/sizeof(TransitionInfo) ); 2108 static const TransitionInfo* pTableEnd = lcl_transitionInfo+lcl_tableSize; 2109 2110 const TransitionInfo* pRes = ::std::find_if( 2111 lcl_transitionInfo, pTableEnd, 2112 TransitionInfo::Comparator( nTransitionType, 2113 nTransitionSubType ) ); 2114 if (pRes != pTableEnd) 2115 return pRes; 2116 else 2117 return NULL; 2118 } 2119 2120 const TransitionInfo* TransitionFactory::getRandomTransitionInfo() 2121 { 2122 return lcl_transitionInfo + getRandomOrdinal( 2123 sizeof(lcl_transitionInfo) / sizeof(TransitionInfo) 2124 - 1 /* exclude random transition at end of table */ ); 2125 } 2126 2127 } // namespace internal 2128 } // namespace presentation 2129