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