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 ::com::sun::star::uno::Reference
<
70 ::com::sun::star::animations::XTransitionFilter
> const& xTransition
);
73 /** Create a transition effect for slides.
75 This method creates a NumberAnimation, which,
76 when run, performs the requested transition effect
77 with the slide bitmaps.
79 @param rEnteringBitmap
80 Bitmap of the slide which 'enters' the screen.
83 Bitmap of the slide which 'leaves' the screen.
85 @param nTransitionType
86 Type of the transition (see XTransitionFilter)
88 @param nTransitionSubType
89 Subtype of the transition (see XTransitionFilter)
91 @param bTransitionDirection
92 Direction of the transition (see XTransitionFilter)
94 @param rTransitionFadeColor
95 Optional fade color for the transition
97 @return the created animation, or NULL for no
100 NumberAnimationSharedPtr
createSlideTransition(
101 const SlideSharedPtr
& rLeavingSlide
,
102 const SlideSharedPtr
& rEnteringSlide
,
103 const UnoViewContainer
& rViewContainer
,
104 ScreenUpdater
& rScreenUpdater
,
105 EventMultiplexer
& rEventMultiplexer
,
106 const com::sun::star::uno::Reference
<
107 com::sun::star::presentation::XTransitionFactory
>&
109 sal_Int16 nTransitionType
,
110 sal_Int16 nTransitionSubType
,
111 bool bTransitionDirection
,
112 const RGBColor
& rTransitionFadeColor
,
113 const SoundPlayerSharedPtr
& rSoundPlayer
);
118 #endif // INCLUDED_SLIDESHOW_SOURCE_INC_TRANSITIONFACTORY_HXX
120 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */