LCOV - code coverage report
Current view: top level - slideshow/source/engine/transitions - transitionfactorytab.cxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 0 8 0.0 %
Date: 2015-06-13 12:38:46 Functions: 0 2 0.0 %
Legend: Lines: hit not hit

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

Generated by: LCOV version 1.11