23#include <com/sun/star/animations/TransitionType.hpp>
24#include <com/sun/star/animations/TransitionSubType.hpp>
54 sal_Int16 nType, sal_Int16 nSubType )
56 using namespace ::com::sun::star::animations::TransitionType;
57 using namespace ::com::sun::star::animations::TransitionSubType;
62 return std::make_shared<BarWipePolyPolygon>();
64 return std::make_shared<BarWipePolyPolygon>( 6 );
66 return std::make_shared<BoxWipe>( nSubType == LEFTCENTER ||
67 nSubType == TOPCENTER ||
68 nSubType == RIGHTCENTER||
69 nSubType == BOTTOMCENTER );
71 return std::make_shared<FourBoxWipe>( nSubType == CORNERSOUT );
73 return std::make_shared<BarnDoorWipe>();
75 return std::make_shared<BarWipePolyPolygon>();
77 return std::make_shared<VeeWipe>();
79 return std::make_shared<IrisWipe>();
81 return std::make_shared<EllipseWipe>(nSubType);
82 case CHECKERBOARDWIPE:
83 return std::make_shared<CheckerBoardWipe>();
85 return std::make_shared<RandomWipe>( 128,
true );
87 return std::make_shared<RandomWipe>( 16 * 16,
91 return std::make_shared<WaterfallWipe>(
94 nSubType == VERTICALRIGHT ||
95 nSubType == HORIZONTALLEFT );
97 return std::make_shared<ClockWipe>();
99 return std::make_shared<FanWipe>(
100 nSubType == CENTERTOP ||
101 nSubType == CENTERRIGHT );
121 return std::make_shared<PinWheelWipe>( blades );
124 return std::make_shared<SnakeWipe>(
128 nSubType == TOPLEFTDIAGONAL ||
129 nSubType == TOPRIGHTDIAGONAL ||
130 nSubType == BOTTOMRIGHTDIAGONAL ||
131 nSubType == BOTTOMLEFTDIAGONAL,
133 nSubType == TOPLEFTVERTICAL ||
134 nSubType == TOPRIGHTDIAGONAL ||
135 nSubType == BOTTOMLEFTDIAGONAL
137 case PARALLELSNAKESWIPE:
138 return std::make_shared<ParallelSnakesWipe>(
142 nSubType == DIAGONALBOTTOMLEFTOPPOSITE ||
143 nSubType == DIAGONALTOPLEFTOPPOSITE,
145 nSubType == VERTICALBOTTOMLEFTOPPOSITE ||
146 nSubType == HORIZONTALTOPLEFTOPPOSITE ||
147 nSubType == DIAGONALTOPLEFTOPPOSITE,
149 nSubType == VERTICALTOPLEFTOPPOSITE ||
150 nSubType == VERTICALBOTTOMLEFTOPPOSITE ||
151 nSubType == HORIZONTALTOPLEFTOPPOSITE ||
152 nSubType == HORIZONTALTOPRIGHTOPPOSITE ||
153 nSubType == DIAGONALBOTTOMLEFTOPPOSITE ||
154 nSubType == DIAGONALTOPLEFTOPPOSITE
157 return std::make_shared<SpiralWipe>(
161 nSubType == TOPLEFTCOUNTERCLOCKWISE ||
162 nSubType == TOPRIGHTCOUNTERCLOCKWISE ||
163 nSubType == BOTTOMRIGHTCOUNTERCLOCKWISE ||
164 nSubType == BOTTOMLEFTCOUNTERCLOCKWISE );
166 return std::make_shared<BoxSnakesWipe>(
170 nSubType == FOURBOXVERTICAL ||
171 nSubType == FOURBOXHORIZONTAL );
172 case SINGLESWEEPWIPE:
173 return std::make_shared<SweepWipe>(
175 nSubType == CLOCKWISETOP ||
176 nSubType == CLOCKWISERIGHT ||
177 nSubType == CLOCKWISEBOTTOM ||
178 nSubType == CLOCKWISELEFT,
184 nSubType == COUNTERCLOCKWISEBOTTOMLEFT ||
185 nSubType == COUNTERCLOCKWISETOPRIGHT
187 case DOUBLESWEEPWIPE:
188 return std::make_shared<SweepWipe>(
190 nSubType == PARALLELVERTICAL ||
191 nSubType == PARALLELDIAGONAL ||
192 nSubType == OPPOSITEVERTICAL ||
193 nSubType == OPPOSITEHORIZONTAL,
197 nSubType == OPPOSITEVERTICAL ||
198 nSubType == OPPOSITEHORIZONTAL,
202 return std::make_shared<FanWipe>(
208 nSubType == FANINVERTICAL ||
209 nSubType == FANINHORIZONTAL );
233 case MISCDIAGONALWIPE: {
236 return std::make_shared<BarnDoorWipe>(
true );
238 return std::make_shared<DoubleDiamondWipe>();
243 return std::make_shared<ZigZagWipe>(5);
245 return std::make_shared<BarnZigZagWipe>(5);
255 return std::make_shared<BarWipePolyPolygon>();
262 "createShapeClipPolyPolygonAnimation(): Transition type mismatch" );
#define ENSURE_OR_THROW(c, m)
ParametricPolyPolygonSharedPtr createClipPolyPolygon(sal_Int16 nTransitionType, sal_Int16 nTransitionSubType)
::std::shared_ptr< ParametricPolyPolygon > ParametricPolyPolygonSharedPtr