1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #ifndef INCLUDED_SLIDESHOW_SOURCE_INC_TRANSITIONFACTORY_HXX
21 #define INCLUDED_SLIDESHOW_SOURCE_INC_TRANSITIONFACTORY_HXX
23 #include <com/sun/star/animations/XTransitionFilter.hpp>
24 #include <com/sun/star/presentation/XTransitionFactory.hpp>
26 #include "animatableshape.hxx"
27 #include "rgbcolor.hxx"
29 #include "screenupdater.hxx"
30 #include "animationactivity.hxx"
31 #include "activitiesfactory.hxx"
32 #include "numberanimation.hxx"
33 #include "transitioninfo.hxx"
34 #include "soundplayer.hxx"
40 /* Definition of Transitionfactory class */
41 namespace TransitionFactory
43 /** Create a transition effect for shapes.
45 This method creates an AnimationActivity, which, when
46 run, performs the requested transition effect on the
50 Collection of activity parameters, see ActivitiesFactory
56 ShapeManager, to manage shape animation
61 @return the created activity, or NULL for no
64 AnimationActivitySharedPtr
createShapeTransition(
65 const ActivitiesFactory::CommonParameters
& rParms
,
66 const AnimatableShapeSharedPtr
& rShape
,
67 const ShapeManagerSharedPtr
& rShapeManager
,
68 const ::basegfx::B2DVector
& rSlideSize
,
69 css::uno::Reference
< css::animations::XTransitionFilter
> const& xTransition
);
72 /** Create a transition effect for slides.
74 This method creates a NumberAnimation, which,
75 when run, performs the requested transition effect
76 with the slide bitmaps.
78 @param rEnteringBitmap
79 Bitmap of the slide which 'enters' the screen.
82 Bitmap of the slide which 'leaves' the screen.
84 @param nTransitionType
85 Type of the transition (see XTransitionFilter)
87 @param nTransitionSubType
88 Subtype of the transition (see XTransitionFilter)
90 @param bTransitionDirection
91 Direction of the transition (see XTransitionFilter)
93 @param rTransitionFadeColor
94 Optional fade color for the transition
96 @return the created animation, or NULL for no
99 NumberAnimationSharedPtr
createSlideTransition(
100 const SlideSharedPtr
& rLeavingSlide
,
101 const SlideSharedPtr
& rEnteringSlide
,
102 const UnoViewContainer
& rViewContainer
,
103 ScreenUpdater
& rScreenUpdater
,
104 EventMultiplexer
& rEventMultiplexer
,
105 const css::uno::Reference
< css::presentation::XTransitionFactory
>&
107 sal_Int16 nTransitionType
,
108 sal_Int16 nTransitionSubType
,
109 bool bTransitionDirection
,
110 const RGBColor
& rTransitionFadeColor
,
111 const SoundPlayerSharedPtr
& rSoundPlayer
);
116 #endif // INCLUDED_SLIDESHOW_SOURCE_INC_TRANSITIONFACTORY_HXX
118 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */