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