Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
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/.
8 : *
9 : * This file incorporates work covered by the following license notice:
10 : *
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 .
18 : */
19 :
20 : #ifndef INCLUDED_SD_SOURCE_UI_SLIDESHOW_SLIDESHOWIMPL_HXX
21 : #define INCLUDED_SD_SOURCE_UI_SLIDESHOW_SLIDESHOWIMPL_HXX
22 :
23 : #include "sal/config.h"
24 : #include "com/sun/star/uno/XComponentContext.hpp"
25 : #include "cppuhelper/compbase1.hxx"
26 : #include "cppuhelper/compbase2.hxx"
27 : #include "cppuhelper/basemutex.hxx"
28 : #include "cppuhelper/propertysetmixin.hxx"
29 : #include <com/sun/star/awt/XActivateListener.hpp>
30 : #include <com/sun/star/presentation/XSlideShow.hpp>
31 : #include <com/sun/star/presentation/XSlideShowView.hpp>
32 : #include <com/sun/star/presentation/XSlideShowListener.hpp>
33 : #include <com/sun/star/presentation/XSlideShowController.hpp>
34 : #include "com/sun/star/presentation/XShapeEventListener.hpp"
35 : #include <com/sun/star/awt/WindowEvent.hpp>
36 : #include <com/sun/star/awt/XWindowListener.hpp>
37 : #include <com/sun/star/awt/XWindow.hpp>
38 : #include <com/sun/star/awt/XWindowPeer.hpp>
39 : #include <com/sun/star/util/XModifyListener.hpp>
40 : #include <com/sun/star/awt/XPaintListener.hpp>
41 : #include <com/sun/star/awt/XPointer.hpp>
42 : #include <com/sun/star/drawing/XDrawPagesSupplier.hpp>
43 : #include <com/sun/star/animations/XAnimationNodeSupplier.hpp>
44 : #include <com/sun/star/presentation/ClickAction.hpp>
45 : #include <com/sun/star/media/XManager.hpp>
46 : #include <com/sun/star/media/XPlayer.hpp>
47 :
48 : #include <toolkit/helper/vclunohelper.hxx>
49 :
50 : #include <basegfx/matrix/b2dhommatrix.hxx>
51 : #include <basegfx/tools/canvastools.hxx>
52 : #include <vcl/help.hxx>
53 : #include <unotools/pathoptions.hxx>
54 : #include <unotools/saveopt.hxx>
55 : #include <sfx2/bindings.hxx>
56 : #include <sfx2/dispatch.hxx>
57 : #include <sfx2/viewfrm.hxx>
58 : #include <basic/sbstar.hxx>
59 : #include <svx/svdpagv.hxx>
60 : #include <svx/fmshell.hxx>
61 :
62 : #include <svx/svxids.hrc>
63 : #include "sdmod.hxx"
64 : #include "cusshow.hxx"
65 : #include "ViewShellBase.hxx"
66 : #include "PresentationViewShell.hxx"
67 : #include "ViewShell.hxx"
68 : #include "drawview.hxx"
69 : #include "drawdoc.hxx"
70 :
71 : #include "showwindow.hxx"
72 :
73 : #include "optsitem.hxx"
74 : #include "FrameView.hxx"
75 : #include "DrawDocShell.hxx"
76 :
77 : #include "app.hrc"
78 :
79 : #include "slideshow.hxx"
80 :
81 : class SfxViewFrame;
82 : class SfxRequest;
83 :
84 : namespace sd
85 : {
86 : class SlideShowView;
87 : class AnimationSlideController;
88 : class PaneHider;
89 :
90 0 : struct PresentationSettingsEx : public PresentationSettings
91 : {
92 : bool mbRehearseTimings;
93 : bool mbPreview;
94 : vcl::Window* mpParentWindow;
95 : css::uno::Reference< css::drawing::XDrawPage > mxStartPage;
96 : css::uno::Reference< css::animations::XAnimationNode > mxAnimationNode;
97 :
98 : PresentationSettingsEx( const PresentationSettingsEx& );
99 : PresentationSettingsEx( PresentationSettings& );
100 :
101 : void SetArguments( const css::uno::Sequence< css::beans::PropertyValue >& rArguments ) throw (css::lang::IllegalArgumentException);
102 :
103 : void SetPropertyValue( const OUString& rProperty, const css::uno::Any& rValue ) throw (css::lang::IllegalArgumentException);
104 : };
105 :
106 0 : struct WrappedShapeEventImpl
107 : {
108 : css::presentation::ClickAction meClickAction;
109 : sal_Int32 mnVerb;
110 : OUString maStrBookmark;
111 0 : WrappedShapeEventImpl() : meClickAction( css::presentation::ClickAction_NONE ), mnVerb( 0 ) {};
112 : };
113 :
114 : typedef boost::shared_ptr< WrappedShapeEventImpl > WrappedShapeEventImplPtr;
115 : typedef std::map< css::uno::Reference< css::drawing::XShape >, WrappedShapeEventImplPtr > WrappedShapeEventImplMap;
116 :
117 : class SlideShowListenerProxy : private ::cppu::BaseMutex,
118 : public ::cppu::WeakImplHelper2< css::presentation::XSlideShowListener, css::presentation::XShapeEventListener >
119 : {
120 : public:
121 : SlideShowListenerProxy( const rtl::Reference< SlideshowImpl >& xController, const css::uno::Reference< css::presentation::XSlideShow >& xSlideShow );
122 : virtual ~SlideShowListenerProxy();
123 :
124 : void addAsSlideShowListener();
125 : void removeAsSlideShowListener();
126 :
127 : void addSlideShowListener( const css::uno::Reference< css::presentation::XSlideShowListener >& Listener );
128 : void removeSlideShowListener( const css::uno::Reference< css::presentation::XSlideShowListener >& Listener );
129 :
130 : void addShapeEventListener( const css::uno::Reference< css::drawing::XShape >& xShape );
131 : void removeShapeEventListener( const css::uno::Reference< css::drawing::XShape >& xShape );
132 :
133 : // css::animations::XAnimationListener
134 : virtual void SAL_CALL beginEvent( const css::uno::Reference< css::animations::XAnimationNode >& Node ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
135 : virtual void SAL_CALL endEvent( const css::uno::Reference< css::animations::XAnimationNode >& Node ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
136 : virtual void SAL_CALL repeat( const css::uno::Reference< css::animations::XAnimationNode >& Node, ::sal_Int32 Repeat ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
137 :
138 : // css::presentation::XSlideShowListener:
139 : virtual void SAL_CALL paused() throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
140 : virtual void SAL_CALL resumed() throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
141 : virtual void SAL_CALL slideTransitionStarted() throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
142 : virtual void SAL_CALL slideTransitionEnded() throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
143 : virtual void SAL_CALL slideAnimationsEnded() throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
144 : virtual void SAL_CALL slideEnded(sal_Bool bReverse) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
145 : virtual void SAL_CALL hyperLinkClicked(const OUString & hyperLink) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
146 :
147 : // css::lang::XEventListener:
148 : virtual void SAL_CALL disposing(const css::lang::EventObject & Source) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
149 :
150 : // css::presentation::XShapeEventListener:
151 : virtual void SAL_CALL click(const css::uno::Reference< css::drawing::XShape > & xShape, const css::awt::MouseEvent & aOriginalEvent) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
152 :
153 : ::cppu::OInterfaceContainerHelper maListeners;
154 :
155 : rtl::Reference< SlideshowImpl > mxController;
156 : css::uno::Reference< css::presentation::XSlideShow > mxSlideShow;
157 : };
158 :
159 : typedef ::cppu::WeakComponentImplHelper2< css::presentation::XSlideShowController, css::container::XIndexAccess > SlideshowImplBase;
160 :
161 : class SlideshowImpl : private ::cppu::BaseMutex, public SlideshowImplBase
162 : {
163 : friend class SlideShow;
164 : friend class SlideShowView;
165 :
166 : public:
167 : explicit SlideshowImpl( const css::uno::Reference< css::presentation::XPresentation2 >& xPresentation, ViewShell* pViewSh, ::sd::View* pView, SdDrawDocument* pDoc, vcl::Window* pParentWindow);
168 :
169 : // css::presentation::XSlideShowController:
170 : virtual sal_Bool SAL_CALL getAlwaysOnTop() throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
171 : virtual void SAL_CALL setAlwaysOnTop( sal_Bool _alwaysontop ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
172 : virtual sal_Bool SAL_CALL getMouseVisible() throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
173 : virtual void SAL_CALL setMouseVisible( sal_Bool _mousevisible ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
174 : virtual sal_Bool SAL_CALL getUsePen() throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
175 : virtual void SAL_CALL setUsePen( sal_Bool _usepen ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
176 : virtual ::sal_Int32 SAL_CALL getPenColor() throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
177 : virtual void SAL_CALL setPenColor( ::sal_Int32 _pencolor ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
178 : virtual void SAL_CALL setUseEraser( bool _usepen ) throw (css::uno::RuntimeException);
179 : virtual double SAL_CALL getPenWidth() throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
180 : virtual void SAL_CALL setPenWidth( double dStrokeWidth ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
181 : virtual void SAL_CALL setEraseAllInk( bool bEraseAllInk ) throw (css::uno::RuntimeException);
182 : virtual void SAL_CALL setEraseInk( sal_Int32 nEraseInkSize ) throw (css::uno::RuntimeException);
183 : virtual void SAL_CALL setPenMode( bool bSwitchPenMode) throw (css::uno::RuntimeException);
184 : virtual void SAL_CALL setEraserMode( bool bSwitchEraserMode ) throw (css::uno::RuntimeException);
185 : virtual void SAL_CALL setPointerMode( bool bSwitchPointerMode) throw (css::uno::RuntimeException);
186 : virtual void SAL_CALL setPointerPosition( const ::com::sun::star::geometry::RealPoint2D& pos ) throw (css::uno::RuntimeException);
187 : virtual sal_Bool SAL_CALL isRunning( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
188 : virtual ::sal_Int32 SAL_CALL getSlideCount( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
189 : virtual css::uno::Reference< css::drawing::XDrawPage > SAL_CALL getSlideByIndex( ::sal_Int32 Index ) throw (css::lang::IndexOutOfBoundsException, css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
190 : virtual void SAL_CALL addSlideShowListener( const css::uno::Reference< css::presentation::XSlideShowListener >& Listener ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
191 : virtual void SAL_CALL removeSlideShowListener( const css::uno::Reference< css::presentation::XSlideShowListener >& Listener ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
192 : virtual void SAL_CALL gotoNextEffect( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
193 : virtual void SAL_CALL gotoPreviousEffect( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
194 : virtual void SAL_CALL gotoFirstSlide( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
195 : virtual void SAL_CALL gotoNextSlide( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
196 : virtual void SAL_CALL gotoPreviousSlide( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
197 : virtual void SAL_CALL gotoLastSlide( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
198 : virtual void SAL_CALL gotoBookmark( const OUString& Bookmark ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
199 : virtual void SAL_CALL gotoSlide( const css::uno::Reference< css::drawing::XDrawPage >& Page ) throw (css::lang::IllegalArgumentException, css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
200 : virtual void SAL_CALL gotoSlideIndex( ::sal_Int32 Index ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
201 : virtual void SAL_CALL stopSound( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
202 : virtual void SAL_CALL pause( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
203 : virtual void SAL_CALL resume( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
204 : virtual sal_Bool SAL_CALL isPaused( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
205 : virtual void SAL_CALL blankScreen( ::sal_Int32 Color ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
206 : virtual void SAL_CALL activate( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
207 : virtual void SAL_CALL deactivate( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
208 : virtual sal_Bool SAL_CALL isActive( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
209 : virtual css::uno::Reference< css::drawing::XDrawPage > SAL_CALL getCurrentSlide( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
210 : virtual ::sal_Int32 SAL_CALL getCurrentSlideIndex( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
211 : virtual ::sal_Int32 SAL_CALL getNextSlideIndex( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
212 : virtual sal_Bool SAL_CALL isEndless( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
213 : virtual sal_Bool SAL_CALL isFullScreen( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
214 : virtual css::uno::Reference< css::presentation::XSlideShow > SAL_CALL getSlideShow( ) throw (css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
215 :
216 : // XIndexAccess
217 : virtual ::sal_Int32 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
218 : virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
219 : virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
220 : virtual sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
221 :
222 : // will be called from the SlideShowListenerProxy when this event is fired from the XSlideShow
223 : void slideEnded(const bool bReverse);
224 : void hyperLinkClicked(const OUString & hyperLink) throw (css::uno::RuntimeException);
225 : void click(const css::uno::Reference< css::drawing::XShape > & xShape, const css::awt::MouseEvent & aOriginalEvent);
226 :
227 : /// ends the presentation async
228 : void endPresentation();
229 :
230 0 : ViewShell* getViewShell() const { return mpViewShell; }
231 :
232 : void paint( const Rectangle& rRect );
233 : bool keyInput(const KeyEvent& rKEvt);
234 : void mouseButtonUp(const MouseEvent& rMEvt);
235 :
236 : private:
237 : SlideshowImpl(SlideshowImpl &); // not defined
238 : void operator =(SlideshowImpl &); // not defined
239 :
240 : virtual ~SlideshowImpl();
241 :
242 : // overload WeakComponentImplHelperBase::disposing()
243 : // This function is called upon disposing the component,
244 : // if your component needs special work when it becomes
245 : // disposed, do it here.
246 : virtual void SAL_CALL disposing() SAL_OVERRIDE;
247 :
248 : // internal
249 : bool startShow( PresentationSettingsEx* pPresSettings );
250 : bool startPreview(
251 : const css::uno::Reference< css::drawing::XDrawPage >& xDrawPage,
252 : const css::uno::Reference< css::animations::XAnimationNode >& xAnimationNode,
253 : vcl::Window* pParent );
254 :
255 : ShowWindow* getShowWindow() const { return mpShowWindow; }
256 :
257 : /** forces an async call to update in the main thread */
258 : void startUpdateTimer();
259 :
260 : double update();
261 :
262 : void createSlideList( bool bAll, const OUString& rPresSlide );
263 :
264 : void displayCurrentSlide (const bool bSkipAllMainSequenceEffects = false);
265 :
266 : void displaySlideNumber( sal_Int32 nSlide );
267 : void displaySlideIndex( sal_Int32 nIndex );
268 : sal_Int32 getCurrentSlideNumber();
269 : sal_Int32 getFirstSlideNumber();
270 : sal_Int32 getLastSlideNumber();
271 0 : inline bool isInputFreezed() const { return mbInputFreeze; }
272 :
273 : void jumpToBookmark( const OUString& sBookmark );
274 :
275 : void hideChildWindows();
276 : void showChildWindows();
277 :
278 : void resize( const Size& rSize );
279 :
280 : void setActiveXToolbarsVisible( bool bVisible );
281 :
282 : DECL_LINK(updateHdl, void *);
283 : DECL_LINK( PostYieldListener, void* );
284 : DECL_LINK(ReadyForNextInputHdl, void *);
285 : DECL_LINK( endPresentationHdl, void* );
286 : DECL_LINK( ContextMenuSelectHdl, Menu * );
287 : DECL_LINK( ContextMenuHdl, void* );
288 : DECL_LINK(deactivateHdl, void *);
289 : DECL_LINK( EventListenerHdl, VclSimpleEvent* );
290 :
291 : // helper
292 : void receiveRequest(SfxRequest& rReq);
293 :
294 : /** called only by the slideshow view when the first paint event occurs.
295 : This actually starts the slideshow. */
296 : void onFirstPaint();
297 :
298 0 : long getRestoreSlide() const { return mnRestoreSlide; }
299 :
300 : private:
301 : bool startShowImpl(
302 : const css::uno::Sequence< css::beans::PropertyValue >& aProperties );
303 :
304 : SfxViewFrame* getViewFrame() const;
305 : SfxDispatcher* getDispatcher() const;
306 : SfxBindings* getBindings() const;
307 :
308 : sal_Int32 getSlideNumberForBookmark( const OUString& rStrBookmark );
309 :
310 : void removeShapeEvents();
311 : void registerShapeEvents( sal_Int32 nSlideNumber );
312 : void registerShapeEvents( css::uno::Reference< css::drawing::XShapes >& xShapes ) throw (css::uno::Exception);
313 :
314 : css::uno::Reference< css::presentation::XSlideShow > createSlideShow() const;
315 :
316 : void setAutoSaveState( bool bOn );
317 : void gotoPreviousSlide (const bool bSkipAllMainSequenceEffects);
318 :
319 : /** Called by PostYieldListener and updateHdl handlers this method is
320 : responsible to call the slideshow update() method and, depending on
321 : its return value, wait for a certain amount of time before another
322 : call to update() is scheduled.
323 : */
324 : sal_Int32 updateSlideShow (void);
325 :
326 : css::uno::Reference< css::presentation::XSlideShow > mxShow;
327 : rtl::Reference<sd::SlideShowView> mxView;
328 : css::uno::Reference< css::frame::XModel > mxModel;
329 :
330 : Timer maUpdateTimer;
331 : Timer maInputFreezeTimer;
332 : Timer maDeactivateTimer;
333 :
334 : ::sd::View* mpView;
335 : ViewShell* mpViewShell;
336 : DrawDocShell* mpDocSh;
337 : SdDrawDocument* mpDoc;
338 :
339 : SfxItemSet* mpNewAttr;
340 : vcl::Window* mpParentWindow;
341 : ShowWindow* mpShowWindow;
342 : PushButton* mpTimeButton;
343 :
344 : boost::shared_ptr< AnimationSlideController > mpSlideController;
345 :
346 : long mnRestoreSlide;
347 : Point maSlideOrigin;
348 : Point maPopupMousePos;
349 : Size maSlideSize;
350 : Size maPresSize;
351 : AnimationMode meAnimationMode;
352 : OUString maCharBuffer;
353 : Pointer maOldPointer;
354 : Pointer maPencil;
355 : std::vector< ::sd::Window* > maDrawModeWindows;
356 : ::sd::Window* mpOldActiveWindow;
357 : Link maStarBASICGlobalErrorHdl;
358 : unsigned long mnChildMask;
359 : bool mbGridVisible;
360 : bool mbBordVisible;
361 : bool mbSlideBorderVisible;
362 : bool mbSetOnlineSpelling;
363 : bool mbDisposed;
364 : bool mbAutoSaveWasOn;
365 : bool mbRehearseTimings;
366 : bool mbDesignMode;
367 : bool mbIsPaused;
368 : bool mbWasPaused; // used to cache pause state during context menu
369 : bool mbInputFreeze;
370 : bool mbActive;
371 :
372 : PresentationSettings maPresSettings;
373 : sal_Int32 mnUserPaintColor;
374 :
375 : bool mbUsePen;
376 : double mdUserPaintStrokeWidth;
377 :
378 : /// used in updateHdl to prevent recursive calls
379 : sal_Int32 mnEntryCounter;
380 :
381 : sal_Int32 mnLastSlideNumber;
382 : WrappedShapeEventImplMap maShapeEventMap;
383 :
384 : OUString msOnClick;
385 : OUString msBookmark;
386 : OUString msVerb;
387 :
388 : css::uno::Reference< css::drawing::XDrawPage > mxPreviewDrawPage;
389 : css::uno::Reference< css::animations::XAnimationNode > mxPreviewAnimationNode;
390 :
391 : css::uno::Reference< css::media::XPlayer > mxPlayer;
392 :
393 : ::std::unique_ptr<PaneHider> mpPaneHider;
394 :
395 : ImplSVEvent * mnEndShowEvent;
396 : ImplSVEvent * mnContextMenuEvent;
397 :
398 : css::uno::Reference< css::presentation::XPresentation2 > mxPresentation;
399 : ::rtl::Reference< SlideShowListenerProxy > mxListenerProxy;
400 : };
401 :
402 : } // namespace ::sd
403 :
404 : #endif
405 :
406 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|