sw a11y: clang-format SidebarWinAccessible code
[LibreOffice.git] / slideshow / source / inc / slideshowcontext.hxx
blobd0f8bbf432eafbd0126fa579c6b18456f8f53b9c
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 <memory>
26 namespace com::sun::star::uno { class XComponentContext; }
27 namespace box2d::utils { class box2DWorld;
28 typedef ::std::shared_ptr< box2DWorld > Box2DWorldSharedPtr; }
32 namespace slideshow::internal
34 class ShapeManager;
35 class EventQueue;
36 class ActivitiesQueue;
37 class UserEventQueue;
38 class EventMultiplexer;
39 class ScreenUpdater;
40 class UnoViewContainer;
41 class CursorManager;
42 class MediaFileManager;
43 class SubsettableShapeManager;
44 typedef ::std::shared_ptr< SubsettableShapeManager > SubsettableShapeManagerSharedPtr;
46 /** Common arguments for slideshow objects.
48 This struct combines a number of object references
49 ubiquitously 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 rMediaFileManager
76 To handle media file with package urls.
78 @param rUserEventQueue
79 User event queue
81 @param rViewContainer
82 Holds all views added to slideshow
84 @param rComponentContext
85 To create UNO services from
87 SlideShowContext( SubsettableShapeManagerSharedPtr& rSubsettableShapeManager,
88 EventQueue& rEventQueue,
89 EventMultiplexer& rEventMultiplexer,
90 ScreenUpdater& rScreenUpdater,
91 ActivitiesQueue& rActivitiesQueue,
92 UserEventQueue& rUserEventQueue,
93 CursorManager& rCursorManager,
94 MediaFileManager& rMediaFileManager,
95 const UnoViewContainer& rViewContainer,
96 css::uno::Reference< css::uno::XComponentContext> xComponentContext,
97 box2d::utils::Box2DWorldSharedPtr& rBox2DWorldPtr );
98 void dispose();
100 std::shared_ptr<SubsettableShapeManager>& mpSubsettableShapeManager;
101 EventQueue& mrEventQueue;
102 EventMultiplexer& mrEventMultiplexer;
103 ScreenUpdater& mrScreenUpdater;
104 ActivitiesQueue& mrActivitiesQueue;
105 UserEventQueue& mrUserEventQueue;
106 CursorManager& mrCursorManager;
107 MediaFileManager& mrMediaFileManager;
108 const UnoViewContainer& mrViewContainer;
109 css::uno::Reference< css::uno::XComponentContext> mxComponentContext;
110 box2d::utils::Box2DWorldSharedPtr& mpBox2DWorld;
111 OUString maFallbackDir;
116 #endif // INCLUDED_SLIDESHOW_SOURCE_INC_SLIDESHOWCONTEXT_HXX
118 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */