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_SLIDESHOWCONTEXT_HXX
21 #define INCLUDED_SLIDESHOW_SOURCE_INC_SLIDESHOWCONTEXT_HXX
23 #include <com/sun/star/uno/Reference.hxx>
24 #include <boost/shared_ptr.hpp>
26 namespace com
{ namespace sun
{ namespace star
{ namespace uno
28 class XComponentContext
;
38 class ActivitiesQueue
;
40 class EventMultiplexer
;
42 class UnoViewContainer
;
44 class SubsettableShapeManager
;
46 /** Common arguments for slideshow objects.
48 This struct combines a number of object references
49 ubiquituously needed throughout the slideshow.
51 struct SlideShowContext
53 /** Common context for node creation
56 ShapeManager, which handles all shapes
59 Event queue, where time-based events are to be
60 scheduled. A node must not schedule events there
61 before it's not resolved.
63 @param rEventMultiplexer
64 Event multiplexer. Clients can register there for
65 about any event that happens in the slideshow
68 Screen updater. Gets notified of necessary screen
71 @param rActivitiesQueue
72 Activities queue, where repeating activities are
75 @param rUserEventQueue
79 Holds all views added to slideshow
81 @param rComponentContext
82 To create UNO services from
84 SlideShowContext( boost::shared_ptr
<SubsettableShapeManager
>& rSubsettableShapeManager
,
85 EventQueue
& rEventQueue
,
86 EventMultiplexer
& rEventMultiplexer
,
87 ScreenUpdater
& rScreenUpdater
,
88 ActivitiesQueue
& rActivitiesQueue
,
89 UserEventQueue
& rUserEventQueue
,
90 CursorManager
& rCursorManager
,
91 const UnoViewContainer
& rViewContainer
,
92 const ::com::sun::star::uno::Reference
<
93 ::com::sun::star::uno::XComponentContext
>& rComponentContext
);
96 boost::shared_ptr
<SubsettableShapeManager
>& mpSubsettableShapeManager
;
97 EventQueue
& mrEventQueue
;
98 EventMultiplexer
& mrEventMultiplexer
;
99 ScreenUpdater
& mrScreenUpdater
;
100 ActivitiesQueue
& mrActivitiesQueue
;
101 UserEventQueue
& mrUserEventQueue
;
102 CursorManager
& mrCursorManager
;
103 const UnoViewContainer
& mrViewContainer
;
104 ::com::sun::star::uno::Reference
<
105 ::com::sun::star::uno::XComponentContext
> mxComponentContext
;
110 #endif // INCLUDED_SLIDESHOW_SOURCE_INC_SLIDESHOWCONTEXT_HXX
112 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */