bump product version to 5.0.4.1
[LibreOffice.git] / slideshow / source / inc / slideshowcontext.hxx
blobff2d0bb7c4c2f43d66deedb6146e5f7ff80d1eba
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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;
29 }}}}
32 namespace slideshow
34 namespace internal
36 class ShapeManager;
37 class EventQueue;
38 class ActivitiesQueue;
39 class UserEventQueue;
40 class EventMultiplexer;
41 class ScreenUpdater;
42 class UnoViewContainer;
43 class CursorManager;
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
55 @param rShapeManager
56 ShapeManager, which handles all shapes
58 @param rEventQueue
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
67 @param rScreenUpdater
68 Screen updater. Gets notified of necessary screen
69 updates.
71 @param rActivitiesQueue
72 Activities queue, where repeating activities are
73 to be scheduled.
75 @param rUserEventQueue
76 User event queue
78 @param rViewContainer
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 );
94 void dispose();
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: */