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

Generated by: LCOV version 1.10