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