1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef INCLUDED_SLIDESHOW_INTRINSICANIMATIONACTIVITY_HXX
29 #define INCLUDED_SLIDESHOW_INTRINSICANIMATIONACTIVITY_HXX
30 
31 #include "wakeupevent.hxx"
32 #include "activity.hxx"
33 #include "slideshowcontext.hxx"
34 #include "drawshape.hxx"
35 #include "tools.hxx"
36 
37 /* Definition of IntrinsicAnimationActivity class */
38 
39 namespace slideshow
40 {
41     namespace internal
42     {
43         /** Create an IntrinsicAnimationActivity.
44 
45         	This is an Activity interface implementation for intrinsic
46         	shape animations. Intrinsic shape animations are
47         	animations directly within a shape, e.g. drawing layer
48         	animations, or GIF animations.
49 
50             @param rContext
51             Common slideshow objects
52 
53             @param rDrawShape
54             Shape to control the intrinsic animation for
55 
56             @param rWakeupEvent
57             Externally generated wakeup event, to set this
58             activity to sleep during inter-frame intervals. Must
59             come frome the outside, since wakeup event and this
60             object have mutual references to each other.
61 
62             @param rTimeouts
63             Vector of timeout values, to wait before the next
64             frame is shown.
65         */
66         ActivitySharedPtr createIntrinsicAnimationActivity(
67             const SlideShowContext& 		rContext,
68             const DrawShapeSharedPtr&		rDrawShape,
69             const WakeupEventSharedPtr&		rWakeupEvent,
70             const ::std::vector<double>&	rTimeouts,
71             ::std::size_t                   nNumLoops,
72             CycleMode                       eCycleMode );
73     }
74 }
75 
76 #endif /* INCLUDED_SLIDESHOW_INTRINSICANIMATIONACTIVITY_HXX */
77