summaryrefslogtreecommitdiff
path: root/slideshow/source/inc
diff options
context:
space:
mode:
Diffstat (limited to 'slideshow/source/inc')
-rw-r--r--slideshow/source/inc/activitiesfactory.hxx336
-rw-r--r--slideshow/source/inc/activitiesqueue.hxx133
-rw-r--r--slideshow/source/inc/activity.hxx103
-rw-r--r--slideshow/source/inc/animatableshape.hxx91
-rw-r--r--slideshow/source/inc/animatedsprite.hxx189
-rw-r--r--slideshow/source/inc/animation.hxx100
-rw-r--r--slideshow/source/inc/animationactivity.hxx78
-rw-r--r--slideshow/source/inc/animationeventhandler.hxx74
-rw-r--r--slideshow/source/inc/animationfactory.hxx160
-rw-r--r--slideshow/source/inc/animationfunction.hxx74
-rw-r--r--slideshow/source/inc/animationnode.hxx165
-rw-r--r--slideshow/source/inc/animationnodefactory.hxx81
-rw-r--r--slideshow/source/inc/attributableshape.hxx231
-rw-r--r--slideshow/source/inc/attributemap.hxx83
-rw-r--r--slideshow/source/inc/boolanimation.hxx80
-rw-r--r--slideshow/source/inc/coloranimation.hxx80
-rw-r--r--slideshow/source/inc/cursormanager.hxx75
-rw-r--r--slideshow/source/inc/delayevent.hxx159
-rw-r--r--slideshow/source/inc/disposable.hxx68
-rw-r--r--slideshow/source/inc/doctreenode.hxx144
-rw-r--r--slideshow/source/inc/doctreenodesupplier.hxx154
-rw-r--r--slideshow/source/inc/enumanimation.hxx82
-rw-r--r--slideshow/source/inc/event.hxx94
-rw-r--r--slideshow/source/inc/eventhandler.hxx70
-rw-r--r--slideshow/source/inc/eventmultiplexer.hxx663
-rw-r--r--slideshow/source/inc/eventqueue.hxx159
-rw-r--r--slideshow/source/inc/expressionnode.hxx69
-rw-r--r--slideshow/source/inc/expressionnodefactory.hxx85
-rw-r--r--slideshow/source/inc/externalmediashape.hxx94
-rw-r--r--slideshow/source/inc/framerate.hxx56
-rw-r--r--slideshow/source/inc/hslcolor.hxx110
-rw-r--r--slideshow/source/inc/hslcoloranimation.hxx80
-rw-r--r--slideshow/source/inc/hyperlinkarea.hxx107
-rw-r--r--slideshow/source/inc/hyperlinkhandler.hxx71
-rw-r--r--slideshow/source/inc/interruptabledelayevent.hxx153
-rw-r--r--slideshow/source/inc/intrinsicanimationeventhandler.hxx63
-rw-r--r--slideshow/source/inc/listenercontainer.hxx317
-rw-r--r--slideshow/source/inc/listenercontainerimpl.hxx227
-rw-r--r--slideshow/source/inc/mouseeventhandler.hxx156
-rw-r--r--slideshow/source/inc/numberanimation.hxx82
-rw-r--r--slideshow/source/inc/pairanimation.hxx81
-rw-r--r--slideshow/source/inc/pauseeventhandler.hxx71
-rw-r--r--slideshow/source/inc/rgbcolor.hxx103
-rw-r--r--slideshow/source/inc/screenupdater.hxx142
-rw-r--r--slideshow/source/inc/shape.hxx276
-rw-r--r--slideshow/source/inc/shapeattributelayer.hxx559
-rw-r--r--slideshow/source/inc/shapeattributelayerholder.hxx113
-rw-r--r--slideshow/source/inc/shapecursoreventhandler.hxx70
-rw-r--r--slideshow/source/inc/shapeimporter.hxx160
-rw-r--r--slideshow/source/inc/shapelistenereventhandler.hxx78
-rw-r--r--slideshow/source/inc/shapemanager.hxx128
-rw-r--r--slideshow/source/inc/shapemaps.hxx64
-rw-r--r--slideshow/source/inc/shapesubset.hxx153
-rw-r--r--slideshow/source/inc/slide.hxx225
-rw-r--r--slideshow/source/inc/slidebitmap.hxx98
-rw-r--r--slideshow/source/inc/slideshowcontext.hxx121
-rw-r--r--slideshow/source/inc/slideshowexceptions.hxx56
-rw-r--r--slideshow/source/inc/slideview.hxx64
-rw-r--r--slideshow/source/inc/smilfunctionparser.hxx170
-rw-r--r--slideshow/source/inc/soundplayer.hxx121
-rw-r--r--slideshow/source/inc/state.hxx76
-rw-r--r--slideshow/source/inc/stringanimation.hxx80
-rw-r--r--slideshow/source/inc/subsettableshapemanager.hxx129
-rw-r--r--slideshow/source/inc/tools.hxx411
-rw-r--r--slideshow/source/inc/transitionfactory.hxx151
-rw-r--r--slideshow/source/inc/transitioninfo.hxx163
-rw-r--r--slideshow/source/inc/unoview.hxx88
-rw-r--r--slideshow/source/inc/unoviewcontainer.hxx113
-rw-r--r--slideshow/source/inc/usereventqueue.hxx329
-rw-r--r--slideshow/source/inc/userpainteventhandler.hxx68
-rw-r--r--slideshow/source/inc/view.hxx98
-rw-r--r--slideshow/source/inc/vieweventhandler.hxx102
-rw-r--r--slideshow/source/inc/viewlayer.hxx178
-rw-r--r--slideshow/source/inc/viewrepainthandler.hxx76
-rw-r--r--slideshow/source/inc/viewupdate.hxx79
-rw-r--r--slideshow/source/inc/wakeupevent.hxx96
76 files changed, 0 insertions, 10486 deletions
diff --git a/slideshow/source/inc/activitiesfactory.hxx b/slideshow/source/inc/activitiesfactory.hxx
deleted file mode 100644
index c32e57720..000000000
--- a/slideshow/source/inc/activitiesfactory.hxx
+++ /dev/null
@@ -1,336 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ACTIVITIESFACTORY_HXX
-#define INCLUDED_SLIDESHOW_ACTIVITIESFACTORY_HXX
-
-#include <com/sun/star/animations/XAnimate.hpp>
-#include <com/sun/star/animations/XAnimateColor.hpp>
-
-#include "animationactivity.hxx"
-#include "activitiesqueue.hxx"
-#include "event.hxx"
-#include "eventqueue.hxx"
-#include "shape.hxx"
-#include "numberanimation.hxx"
-#include "enumanimation.hxx"
-#include "coloranimation.hxx"
-#include "hslcoloranimation.hxx"
-#include "stringanimation.hxx"
-#include "boolanimation.hxx"
-#include "pairanimation.hxx"
-
-#include <boost/optional.hpp>
-#include <boost/utility.hpp>
-
-/* Definition of ActivitiesFactory class */
-
-namespace slideshow {
-namespace internal {
-
-class ActivitiesFactory : private ::boost::noncopyable
-{
-public:
- /// Collection of common factory parameters
- struct CommonParameters
- {
- CommonParameters(
- const EventSharedPtr& rEndEvent,
- EventQueue& rEventQueue,
- ActivitiesQueue& rActivitiesQueue,
- double nMinDuration,
- sal_uInt32 nMinNumberOfFrames,
- bool bAutoReverse,
- ::boost::optional<double> const& aRepeats,
- double nAcceleration,
- double nDeceleration,
- const ShapeSharedPtr& rShape,
- const ::basegfx::B2DVector& rSlideBounds )
- : mpEndEvent( rEndEvent ),
- mrEventQueue( rEventQueue ),
- mrActivitiesQueue( rActivitiesQueue ),
- mnMinDuration( nMinDuration ),
- mnMinNumberOfFrames( nMinNumberOfFrames ),
- maRepeats( aRepeats ),
- mnAcceleration( nAcceleration ),
- mnDeceleration( nDeceleration ),
- mpShape( rShape ),
- maSlideBounds( rSlideBounds ),
- mbAutoReverse( bAutoReverse ) {}
-
- /// End event to fire when animation is over
- EventSharedPtr mpEndEvent;
-
- /// Event queue to insert the end event into.
- EventQueue& mrEventQueue;
- /// Event queue to insert the end event into.
- ActivitiesQueue& mrActivitiesQueue;
-
- /** Simple duration of the activity
-
- Specifies the minimal simple duration of the
- activity (minimal, because mnMinNumberOfFrames
- might prolongue the activity). According to SMIL,
- this might also be indefinite, which for our
- framework does not make much sense, though
- (wouldn't have a clue, then, how to scale the
- animation over time).
- */
- double mnMinDuration;
-
- /** Minimal number of frames for this activity.
-
- This specifies the minimal number of frames this
- activity will display per simple duration. If less
- than this number are displayed until mnMinDuration
- is over, the activity will be prolongued until
- mnMinNumberOfFrames are rendered.
- */
- sal_uInt32 mnMinNumberOfFrames;
-
- /** Number of repeats for the simple duration
-
- This specified the number of repeats. The
- mnMinDuration times maRepeats yields the total
- duration of this activity. If this value is
- unspecified, the activity will repeat
- indefinitely.
- */
- ::boost::optional<double> const maRepeats;
-
- /// Fraction of simple time to accelerate animation
- double mnAcceleration;
-
- /// Fraction of simple time to decelerate animation
- double mnDeceleration;
-
- /// Shape, to get bounds from
- ShapeSharedPtr mpShape;
-
- /// LayerManager, to get page size from
- ::basegfx::B2DVector maSlideBounds;
-
- /// When true, activity is played reversed after mnDuration.
- bool mbAutoReverse;
- };
-
- /** Create an activity from an XAnimate node.
-
- This method creates an animated activity from the
- given XAnimate node, extracting all necessary
- animation parameters from that. Note that due to the
- animator parameter, the animation values must be
- convertible to a double value.
-
- @param rParms
- Factory parameter structure
-
- @param rAnimator
- Animator sub-object
-
- @param xNode
- The SMIL animation node to animate
- */
- static AnimationActivitySharedPtr createAnimateActivity(
- const CommonParameters& rParms,
- const NumberAnimationSharedPtr& rAnimator,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimate >& xNode );
-
- /** Create an activity from an XAnimate node.
-
- This method creates an animated activity from the
- given XAnimate node, extracting all necessary
- animation parameters from that. Note that due to the
- animator parameter, the animation values must be
- convertible to a double value.
-
- @param rParms
- Factory parameter structure
-
- @param rAnimator
- Animator sub-object
-
- @param xNode
- The SMIL animation node to animate
- */
- static AnimationActivitySharedPtr createAnimateActivity(
- const CommonParameters& rParms,
- const EnumAnimationSharedPtr& rAnimator,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimate >& xNode );
-
- /** Create an activity from an XAnimate node.
-
- This method creates an animated activity from the
- given XAnimate node, extracting all necessary
- animation parameters from that. Note that due to the
- animator parameter, the animation values must be
- convertible to a color value.
-
- @param rParms
- Factory parameter structure
-
- @param rAnimator
- Animator sub-object
-
- @param xNode
- The SMIL animation node to animate
- */
- static AnimationActivitySharedPtr createAnimateActivity(
- const CommonParameters& rParms,
- const ColorAnimationSharedPtr& rAnimator,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimate >& xNode );
-
- /** Create an activity from an XAnimate node.
-
- This method creates an animated activity from the
- given XAnimate node, extracting all necessary
- animation parameters from that. Note that due to the
- animator parameter, the animation values must be
- convertible to a color value.
-
- @param rParms
- Factory parameter structure
-
- @param rAnimator
- Animator sub-object
-
- @param xNode
- The SMIL animation node to animate
- */
- static AnimationActivitySharedPtr createAnimateActivity(
- const CommonParameters& rParms,
- const HSLColorAnimationSharedPtr& rAnimator,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimateColor >& xNode );
-
- /** Create an activity from an XAnimate node.
-
- This method creates an animated activity from the
- given XAnimate node, extracting all necessary
- animation parameters from that. Note that due to the
- animator parameter, the animation values must be
- convertible to a pair of double values.
-
- @param rParms
- Factory parameter structure
-
- @param rAnimator
- Animator sub-object
-
- @param xNode
- The SMIL animation node to animate
- */
- static AnimationActivitySharedPtr createAnimateActivity(
- const CommonParameters& rParms,
- const PairAnimationSharedPtr& rAnimator,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimate >& xNode );
-
- /** Create an activity from an XAnimate node.
-
- This method creates an animated activity from the
- given XAnimate node, extracting all necessary
- animation parameters from that. Note that due to the
- animator parameter, the animation values must be
- convertible to a string.
-
- @param rParms
- Factory parameter structure
-
- @param rAnimator
- Animator sub-object
-
- @param xNode
- The SMIL animation node to animate
- */
- static AnimationActivitySharedPtr createAnimateActivity(
- const CommonParameters& rParms,
- const StringAnimationSharedPtr& rAnimator,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimate >& xNode );
-
- /** Create an activity from an XAnimate node.
-
- This method creates an animated activity from the
- given XAnimate node, extracting all necessary
- animation parameters from that. Note that due to the
- animator parameter, the animation values must be
- convertible to a bool value.
-
- @param rParms
- Factory parameter structure
-
- @param rAnimator
- Animator sub-object
-
- @param xNode
- The SMIL animation node to animate
- */
- static AnimationActivitySharedPtr createAnimateActivity(
- const CommonParameters& rParms,
- const BoolAnimationSharedPtr& rAnimator,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimate >& xNode );
-
- /** Create a simple activity for the given animator
-
- This method is suited to create activities for custom
- animations, which need a simple double value and lasts
- a given timespan. This activity always generates values
- from the [0,1] range.
-
- @param rParms
- Factory parameter structure
-
- @param rAnimator
- Animator sub-object
-
- @param bDirectionForward
- If true, the activity goes 'forward', i.e. from 0 to
- 1. With false, the direction is reversed.
- */
- static AnimationActivitySharedPtr createSimpleActivity(
- const CommonParameters& rParms,
- const NumberAnimationSharedPtr& rAnimator,
- bool bDirectionForward );
-
-private:
- // default: constructor/destructor disabed
- ActivitiesFactory();
- ~ActivitiesFactory();
-};
-
-} // namespace internal
-} // namespace presentation
-
-#endif /* INCLUDED_SLIDESHOW_ACTIVITIESFACTORY_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/activitiesqueue.hxx b/slideshow/source/inc/activitiesqueue.hxx
deleted file mode 100644
index fe434e5c2..000000000
--- a/slideshow/source/inc/activitiesqueue.hxx
+++ /dev/null
@@ -1,133 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ACTIVITIESQUEUE_HXX
-#define INCLUDED_SLIDESHOW_ACTIVITIESQUEUE_HXX
-
-#include <deque>
-
-#include "activity.hxx"
-#include "unoviewcontainer.hxx"
-
-#include <canvas/elapsedtime.hxx>
-
-#include <boost/shared_ptr.hpp>
-#include <boost/utility.hpp> // for boost::noncopyable
-
-
-/* Definition of ActivitiesQueue class */
-
-namespace slideshow
-{
- namespace internal
- {
- /** This class handles the XSprite updates needed for
- animations, such as moves, scales etc. You can add
- activity objects to this class, which are called in a
- round-robin fashion.
- */
- class ActivitiesQueue : private ::boost::noncopyable
- {
- public:
- /** Create an ActivitiesQueue.
-
- @param pPresTimer
- Pointer to global presentation timer. Used for
- adjusting and holding global presentation time.
- */
- ActivitiesQueue(
- const ::boost::shared_ptr< ::canvas::tools::ElapsedTime >& pPresTimer );
- ~ActivitiesQueue();
-
- /** Add the given activity to the queue.
- */
- bool addActivity( const ActivitySharedPtr& pActivity );
-
- /** Process the activities queue.
-
- This method performs the smallest atomic processing
- possible on the queue (typically, this means one
- activity get processed).
- */
- void process();
-
- /** Call all dequeued activities' dequeued() method
- */
- void processDequeued();
-
- /** Query state of the queue
-
- @return false, if queue is empty, true otherwise
- */
- bool isEmpty() const;
-
- /** Remove all pending activities from the queue.
- */
- void clear();
-
- /** Gets the queue's timer object.
- */
- ::boost::shared_ptr< ::canvas::tools::ElapsedTime > const &
- getTimer() const { return mpTimer; }
-
- /** returns number of all activities, waiting, reinserted and dequeued
- */
- std::size_t size() const
- {
- return maCurrentActivitiesWaiting.size() + maCurrentActivitiesReinsert.size() + maDequeuedActivities.size();
- }
-
- private:
- ::boost::shared_ptr< ::canvas::tools::ElapsedTime > mpTimer;
-
- typedef ::std::deque< ActivitySharedPtr > ActivityQueue;
-
- ActivityQueue maCurrentActivitiesWaiting; // currently running
- // activities, that still
- // await processing for this
- // round
-
- ActivityQueue maCurrentActivitiesReinsert; // currently running
- // activities, that are
- // already processed for
- // this round, and wants
- // to be reinserted next
- // round
-
- ActivityQueue maDequeuedActivities; // This list collects all activities which did not request
- // a reinsertion. After the screen update has been
- // performed, those are notified via dequeued(). This
- // facilitates cleanup actions taking place _after_ the
- // current frame has been displayed.
- };
-
- }
-}
-#endif /* INCLUDED_SLIDESHOW_ACTIVITIESQUEUE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/activity.hxx b/slideshow/source/inc/activity.hxx
deleted file mode 100644
index 07df027a4..000000000
--- a/slideshow/source/inc/activity.hxx
+++ /dev/null
@@ -1,103 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ACTIVITY_HXX
-#define INCLUDED_SLIDESHOW_ACTIVITY_HXX
-
-#include <sal/types.h>
-
-#include <boost/shared_ptr.hpp>
-
-#include "disposable.hxx"
-
-
-/* Definition of Activity interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- class Activity : public Disposable
- {
- public:
- /** Perform the activity associated with this interface's
- implementation.
-
- @return true, if activity continues, or false, if activity has
- ended.
- */
- virtual bool perform() = 0;
-
- /** Calculates whether the activity lags time.
-
- If this method returns a time lag greater than 0.0,
- the ActivitiesQueue will adjust the global slideshow
- time, by subtracting the given amount of lag.
-
- @return time lag or 0.0. Value must be greater or
- equal than zero.
- */
- virtual double calcTimeLag() const = 0;
-
- /** Query whether this activity is still continuing
-
- @return true, if this activity still
- continues. Returns false, if activity has ended. It is
- required that operator() returns false, when
- isActive() returns false. Furthermore, it is required
- that the inactive state is persistent; an activity
- that has become inactive (i.e. isActive() once
- returned false) must stay in that state eternally.
- */
- virtual bool isActive() const = 0;
-
- /** Notifies the Activity that it has now left the
- ActivitiesQueue
-
- Use this method to react on the queue removal
- event. For animated shapes, this is e.g. used to
- switch back to the non-sprite presentation mode of the
- shape.
- */
- virtual void dequeued() = 0;
-
- /** Forces this activity deactivate and get to its end state
- (if possible), but does _not_ dispose.
- */
- virtual void end() = 0;
- };
-
- typedef ::boost::shared_ptr< Activity > ActivitySharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ACTIVITY_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/animatableshape.hxx b/slideshow/source/inc/animatableshape.hxx
deleted file mode 100644
index 1c84d289a..000000000
--- a/slideshow/source/inc/animatableshape.hxx
+++ /dev/null
@@ -1,91 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ANIMATABLESHAPE_HXX
-#define INCLUDED_SLIDESHOW_ANIMATABLESHAPE_HXX
-
-#include <boost/shared_ptr.hpp>
-
-#include "shape.hxx"
-
-
-namespace slideshow
-{
- namespace internal
- {
- /** Represents an animatable shape.
-
- This interface adds animation handling methods to a
- shape. It allows transparent switching between
- sprite-based viewing and static painting, depending on
- whether animations are currently running.
- */
- class AnimatableShape : public Shape
- {
- public:
- // Animation methods
- //------------------------------------------------------------------
-
- /** Notify the Shape that an animation starts now
-
- This method enters animation mode on all registered
- views.
-
- @attention This method is supposed to be called only
- from the LayerManager, since it might involve shifting
- shapes between different layers (and removing this
- shape from the background layer in the first place)
- */
- virtual void enterAnimationMode() = 0;
-
- /** Notify the Shape that it is no longer animated
-
- This methods requests the Shape to end animation mode
- on all registered views, if called more or equal the
- times enterAnimationMode() was called. That is, the
- Shape only leaves animation mode, if all requested
- enterAnimationMode() call sites have issued their
- matching leaveAnimationMode().
-
- @attention This method is supposed to be called only
- from the LayerManager, since it might involve shifting
- shapes between different layers (and adding this
- shape to the background layer again)
- */
- virtual void leaveAnimationMode() = 0;
-
- };
-
- typedef ::boost::shared_ptr< AnimatableShape > AnimatableShapeSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ANIMATABLESHAPE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/animatedsprite.hxx b/slideshow/source/inc/animatedsprite.hxx
deleted file mode 100644
index aae92dd5c..000000000
--- a/slideshow/source/inc/animatedsprite.hxx
+++ /dev/null
@@ -1,189 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ANIMATEDSPRITE_HXX
-#define INCLUDED_SLIDESHOW_ANIMATEDSPRITE_HXX
-
-#include <cppcanvas/customsprite.hxx>
-
-#include <basegfx/matrix/b2dhommatrix.hxx>
-#include <basegfx/vector/b2dsize.hxx>
-#include <basegfx/point/b2dpoint.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-
-#include "viewlayer.hxx"
-
-#include <boost/optional.hpp>
-#include <boost/shared_ptr.hpp>
-#include <boost/noncopyable.hpp>
-
-
-/* Definition of AnimatedSprite class */
-
-namespace slideshow
-{
- namespace internal
- {
- /** This class provides the sprite for animated shapes.
-
- Besides encapsulating the Canvas sprite for animated
- shapes, this class also handles dynamic sprite resizing
- and all the gory details of offset calculations and
- rounding prevention.
- */
- class AnimatedSprite : private boost::noncopyable
- {
- public:
- /** Create a new AnimatedSprite, for the given metafile
- shape.
-
- @param rViewLayer
- The destination view layer, on which the animation should appear
-
- @param rSpriteSizePixel
- The overall size of the sprite in device coordinate
- space, sufficient to display all transformations,
- shape changes and clips.
-
- @param nSpritePrio
- Priority of the sprite. Must remain static over the
- lifetime of this object
- */
- AnimatedSprite( const ViewLayerSharedPtr& rViewLayer,
- const ::basegfx::B2DSize& rSpriteSizePixel,
- double nSpritePrio );
-
- /** Resize the sprite.
-
- @param rSpriteSizePixel
- The new size in pixel
-
- @return true, if the resize was successful. If false
- is returned, the sprite might be invalid.
- */
- bool resize( const ::basegfx::B2DSize& rSpriteSizePixel );
-
- /** Set an offset for the content output in pixel
-
- This method offsets the output on the sprite content
- canvas by the specified amount of device pixel (for
- subsequent render operations).
- */
- void setPixelOffset( const ::basegfx::B2DSize& rPixelOffset );
-
- /// Retrieve current pixel offset for content output.
- ::basegfx::B2DSize getPixelOffset() const;
-
- /// Show the sprite
- void show();
-
- /// Hide the sprite
- void hide();
-
- /** Query the content canvas for the current sprite.
-
- Note that this method must be called
- <em>everytime</em> something is rendered to the
- sprite, because XCustomSprite does not guarantee the
- validity of the canvas after a render operation.
-
- Furthermore, the view transformation on the returned
- canvas is already correctly setup, matching the
- associated destination canvas.
- */
- ::cppcanvas::CanvasSharedPtr getContentCanvas() const;
-
- /** Move the sprite in device pixel space.
-
- If the sprite is not yet created, this method has no
- effect.
- */
- void movePixel( const ::basegfx::B2DPoint& rNewPos );
-
- /** Set the alpha value of the sprite.
-
- If the sprite is not yet created, this method has no
- effect.
- */
- void setAlpha( double rAlpha );
-
- /** Set a sprite clip in user coordinate space.
-
- If the sprite is not yet created, this method has no
- effect.
- */
- void clip( const ::basegfx::B2DPolyPolygon& rClip );
-
- /** Clears a sprite clip
-
- If the sprite is not yet created, this method has no
- effect.
- */
- void clip();
-
- /** Set a sprite transformation.
-
- If the sprite is not yet created, this method has no
- effect.
- */
- void transform( const ::basegfx::B2DHomMatrix& rTransform );
-
- /** Set the sprite priority.
-
- The sprite priority determines the ordering of the
- sprites on screen, i.e. which sprite lies before which.
-
- @param rPrio
- The new sprite prio. Must be in the range [0,1]
- */
- void setPriority( double rPrio );
-
- private:
- ViewLayerSharedPtr mpViewLayer;
-
- ::cppcanvas::CustomSpriteSharedPtr mpSprite;
- ::basegfx::B2DSize maEffectiveSpriteSizePixel;
- ::basegfx::B2DSize maContentPixelOffset;
-
- double mnSpritePrio;
- double mnAlpha;
- ::boost::optional< ::basegfx::B2DPoint > maPosPixel;
- ::boost::optional< ::basegfx::B2DPolyPolygon > maClip;
- ::boost::optional< ::basegfx::B2DHomMatrix > maTransform;
-
- bool mbSpriteVisible;
- };
-
- typedef ::boost::shared_ptr< AnimatedSprite > AnimatedSpriteSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ANIMATEDSPRITE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/animation.hxx b/slideshow/source/inc/animation.hxx
deleted file mode 100644
index fe5e20112..000000000
--- a/slideshow/source/inc/animation.hxx
+++ /dev/null
@@ -1,100 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ANIMATION_HXX
-#define INCLUDED_SLIDESHOW_ANIMATION_HXX
-
-#include <animatableshape.hxx>
-#include <shapeattributelayer.hxx>
-
-
-/* Definition of Animation interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Interface defining a generic animation.
-
- This interface is used by objects implementing the
- Activity interface to drive the animation effect. Objects
- implementing this interface will receive time-varying
- animation values, which they can forward to the
- appropriate attributes. The type of these animation values
- is given in derived interfaces.
-
- @see NumberAnimation
- @see ColorAnimation
- @see PairAnimation
- */
- class Animation
- {
- public:
- virtual ~Animation() {}
-
- /** Notify that the animation going active soon.
-
- Implementers should preload any buffers, and create
- any expensive objects at this time.
-
- @param rShape
- Shape to apply this animation to.
-
- @param rAttrLayer
- Attribute layer to play the animation on.
- */
- virtual void prefetch( const AnimatableShapeSharedPtr& rShape,
- const ShapeAttributeLayerSharedPtr& rAttrLayer ) = 0;
-
- /** Notify that the animation is about to begin.
-
- Implementers are free to start accompanying effects,
- such as sounds, and the animation timer now.
-
- @param rShape
- Shape to apply this animation to.
-
- @param rAttrLayer
- Attribute layer to play the animation on.
- */
- virtual void start( const AnimatableShapeSharedPtr& rShape,
- const ShapeAttributeLayerSharedPtr& rAttrLayer ) = 0;
-
- /** Notify that the animation is about to end.
- */
- virtual void end() = 0;
- };
-
- typedef ::boost::shared_ptr< Animation > AnimationSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ANIMATION_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/animationactivity.hxx b/slideshow/source/inc/animationactivity.hxx
deleted file mode 100644
index f364e29f5..000000000
--- a/slideshow/source/inc/animationactivity.hxx
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ANIMATIONACTIVITY_HXX
-#define INCLUDED_SLIDESHOW_ANIMATIONACTIVITY_HXX
-
-#include "activity.hxx"
-#include "animatableshape.hxx"
-#include "shapeattributelayer.hxx"
-
-
-/* Definition of AnimationActivity interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Extends the Activity interface with animation-specific functions
- */
- class AnimationActivity : public Activity
- {
- public:
- /** Sets targets (shape and attributeLayer)
-
- Since attribute layers can only be generated when the
- animation starts, the Activity owner must be able to
- pass it into the Activity after initial creation. The
- same applies to the actual shape the animation must
- run for, since e.g. subsetted shapes are generated
- close before the animation starts, too (this is not
- necessary in and out of itself, but for performance
- reasons. Otherwise, character iterations produce tons
- of subset shapes).
-
- @param rShape
- Shape to play the animation on.
-
- @param rAttrLayer
- Attribute layer to change the animated values on.
- */
- virtual void setTargets( const AnimatableShapeSharedPtr& rShape,
- const ShapeAttributeLayerSharedPtr& rAttrLayer ) = 0;
- };
-
- typedef ::boost::shared_ptr< AnimationActivity > AnimationActivitySharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ANIMATIONACTIVITY_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/animationeventhandler.hxx b/slideshow/source/inc/animationeventhandler.hxx
deleted file mode 100644
index af11d0800..000000000
--- a/slideshow/source/inc/animationeventhandler.hxx
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ANIMATIONEVENTHANDLER_HXX
-#define INCLUDED_SLIDESHOW_ANIMATIONEVENTHANDLER_HXX
-
-#include <boost/shared_ptr.hpp>
-#include "animationnode.hxx"
-
-
-/* Definition of AnimationEventHandler interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Interface for handling animation events.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle animation state change events.
- */
- class AnimationEventHandler
- {
- public:
- virtual ~AnimationEventHandler() {}
-
- /** Handle the event.
-
- @param rNode
- Animation node which caused this event to fire
-
- @return true, if this handler has successfully
- processed the animation event. When this method
- returns false, possibly other, less prioritized
- handlers are called, too.
- */
- virtual bool handleAnimationEvent( const AnimationNodeSharedPtr& rNode ) = 0;
- };
-
- typedef ::boost::shared_ptr< AnimationEventHandler > AnimationEventHandlerSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ANIMATIONEVENTHANDLER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/animationfactory.hxx b/slideshow/source/inc/animationfactory.hxx
deleted file mode 100644
index 16bdb3382..000000000
--- a/slideshow/source/inc/animationfactory.hxx
+++ /dev/null
@@ -1,160 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ANIMATIONFACTORY_HXX
-#define INCLUDED_SLIDESHOW_ANIMATIONFACTORY_HXX
-
-
-#include "numberanimation.hxx"
-#include "enumanimation.hxx"
-#include "coloranimation.hxx"
-#include "stringanimation.hxx"
-#include "boolanimation.hxx"
-#include "pairanimation.hxx"
-
-#include "shape.hxx"
-#include "shapeattributelayer.hxx"
-#include "shapemanager.hxx"
-
-#include <boost/noncopyable.hpp>
-
-
-namespace rtl
-{
- class OUString;
-}
-
-
-/* Definition of AnimationFactory class */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Factory for Animation objects
-
- Given a SMIL XAnimate node, this factory generates the
- appropriate Animation object from that, which will modify
- the attribute as specified.
- */
- class AnimationFactory : private boost::noncopyable
- {
- public:
- /** Classifies the attribute name.
-
- This enum maps names to appropriate factory methods.
- */
- enum AttributeClass
- {
- /// Unknown, prolly invalid name
- CLASS_UNKNOWN_PROPERTY,
- /// Use createNumberPropertyAnimation
- CLASS_NUMBER_PROPERTY,
- /// Use createEnumPropertyAnimation
- CLASS_ENUM_PROPERTY,
- /// Use createColorPropertyAnimation
- CLASS_COLOR_PROPERTY,
- /// Use createStringPropertyAnimation
- CLASS_STRING_PROPERTY,
- /// Use createBoolPropertyAnimation
- CLASS_BOOL_PROPERTY
- };
-
- static AttributeClass classifyAttributeName( const ::rtl::OUString& rAttrName );
-
- /// Collection of flags common to all factory methods
- enum FactoryFlags
- {
- /** Don't call enter/leaveAnimation for the Shape.
-
- This is useful for set effects
- */
- FLAG_NO_SPRITE = 1
- };
-
- static NumberAnimationSharedPtr createNumberPropertyAnimation( const ::rtl::OUString& rAttrName,
- const AnimatableShapeSharedPtr& rShape,
- const ShapeManagerSharedPtr& rShapeManager,
- const ::basegfx::B2DVector& rSlideSize,
- int nFlags=0 );
-
- static EnumAnimationSharedPtr createEnumPropertyAnimation( const ::rtl::OUString& rAttrName,
- const AnimatableShapeSharedPtr& rShape,
- const ShapeManagerSharedPtr& rShapeManager,
- const ::basegfx::B2DVector& rSlideSize,
- int nFlags=0 );
-
- static ColorAnimationSharedPtr createColorPropertyAnimation( const ::rtl::OUString& rAttrName,
- const AnimatableShapeSharedPtr& rShape,
- const ShapeManagerSharedPtr& rShapeManager,
- const ::basegfx::B2DVector& rSlideSize,
- int nFlags=0 );
-
- /** Create scale or move animation
-
- @param nTransformType
- Must be one of
- animations::AnimationTransformType::TRANSLATE or
- animations::AnimationTransformType::SCALE.
- */
- static PairAnimationSharedPtr createPairPropertyAnimation( const AnimatableShapeSharedPtr& rShape,
- const ShapeManagerSharedPtr& rShapeManager,
- const ::basegfx::B2DVector& rSlideSize,
- sal_Int16 nTransformType,
- int nFlags=0 );
-
- static StringAnimationSharedPtr createStringPropertyAnimation( const ::rtl::OUString& rAttrName,
- const AnimatableShapeSharedPtr& rShape,
- const ShapeManagerSharedPtr& rShapeManager,
- const ::basegfx::B2DVector& rSlideSize,
- int nFlags=0 );
-
- static BoolAnimationSharedPtr createBoolPropertyAnimation( const ::rtl::OUString& rAttrName,
- const AnimatableShapeSharedPtr& rShape,
- const ShapeManagerSharedPtr& rShapeManager,
- const ::basegfx::B2DVector& rSlideSize,
- int nFlags=0 );
-
- static NumberAnimationSharedPtr createPathMotionAnimation( const ::rtl::OUString& rSVGDPath,
- sal_Int16 nAdditive,
- const AnimatableShapeSharedPtr& rShape,
- const ShapeManagerSharedPtr& rShapeManager,
- const ::basegfx::B2DVector& rSlideSize,
- int nFlags=0);
- private:
- // default: constructor/destructor disabed
- AnimationFactory();
- ~AnimationFactory();
- };
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ANIMATIONFACTORY_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/animationfunction.hxx b/slideshow/source/inc/animationfunction.hxx
deleted file mode 100644
index 2e94bc193..000000000
--- a/slideshow/source/inc/animationfunction.hxx
+++ /dev/null
@@ -1,74 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ANIMATIONFUNCTION_HXX
-#define INCLUDED_SLIDESHOW_ANIMATIONFUNCTION_HXX
-
-#include <sal/config.h>
-#include <boost/shared_ptr.hpp>
-
-
-/* Definition of AnimationFunction interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Interface describing an abstract animation function.
-
- Use this interface to model time-dependent animation
- functions of one variable.
- */
- class AnimationFunction
- {
- public:
- virtual ~AnimationFunction() {}
-
- /** Operator to calculate function value.
-
- This method calculates the function value for the
- given time instant t.
-
- @param t
- Current time instant, must be in the range [0,1]
-
- @return the function value, typically in relative
- user coordinate space ([0,1] range).
- */
- virtual double operator()( double t ) const = 0;
-
- };
-
- typedef ::boost::shared_ptr< AnimationFunction > AnimationFunctionSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ANIMATIONFUNCTION_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/animationnode.hxx b/slideshow/source/inc/animationnode.hxx
deleted file mode 100644
index 3f341fcb5..000000000
--- a/slideshow/source/inc/animationnode.hxx
+++ /dev/null
@@ -1,165 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef INCLUDED_SLIDESHOW_ANIMATIONNODE_HXX
-#define INCLUDED_SLIDESHOW_ANIMATIONNODE_HXX
-
-#include "disposable.hxx"
-
-#include <com/sun/star/animations/XAnimationNode.hpp>
-#include <boost/shared_ptr.hpp>
-
-namespace slideshow {
-namespace internal {
-
-/** This interface is used to mirror every XAnimateNode object
- in the presentation core.
-*/
-class AnimationNode : public Disposable
-{
-public:
- /** The current state of this AnimationNode
- */
- enum NodeState {
- /// Invalid state, node is disposed or otherwise invalid
- INVALID =0,
- /// Unresolved start time
- UNRESOLVED =1,
- /// Resolved start time, node will start eventually
- RESOLVED =2,
- /// Node is active
- ACTIVE =4,
- /// Node is frozen (no longer active, but changes remain in place)
- FROZEN =8,
- /// Node has completed an active lifecycle,
- /// and any effect is removed from the document
- ENDED =16
- };
-
- /** Query the corresponding XAnimationNode.
- */
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimationNode >
- getXAnimationNode() const = 0;
-
- /** Init this node
-
- If this node is not in state INVALID, init() sets up the
- node state and schedules necessary events.
- If this node has children, they have their init() called, too.
- You will call this method whenever a slide is going to be
- shown.
-
- @return true, if init was successful; state has changed to UNRESOLVED
- */
- virtual bool init() = 0;
-
- /** Resolve node start time
-
- Nodes can have unresolved start times, i.e. indefinite
- start time for container nodes, or child nodes whose
- parent has not yet started. Calling this method fixes
- the node's start time. This does not mean that this
- node immediately starts its animations, that is only
- the case for begin=0.0. The node will change its state
- to RESOLVED.
-
- @return true, if a start event was successfully scheduled.
- */
- virtual bool resolve() = 0;
-
- /** Immediately start this node
-
- This method starts the animation on this node, without
- begin timeout. The node will change its state to ACTIVE.
-
- @return true, if start was successful. This method
- might return false, if e.g. a restart is not permitted
- on this node.
- */
- virtual bool activate() = 0;
-
- /** Immediately stop this node
-
- This method stops the animation on this node. The node
- will change its state to either ENDED or FROZEN,
- depending on XAnimationNode attributes.
- */
- virtual void deactivate() = 0;
-
- /** End the animation on this node
-
- This method force-ends animation on this node. Parents
- may call this for their children, if their active
- duration ends. An ended animation will no longer have
- any effect on the shape attributes. The node will
- change its state to ENDED.
- */
- virtual void end() = 0;
-
- /** Query node state
-
- @return the current state of this animation node.
- */
- virtual NodeState getState() const = 0;
-
- /** Register a deactivating listener
-
- This method registers another AnimationNode as an
- deactivating listener, which gets notified via a
- notifyDeactivating() call. The node calls all
- registered listener, when it leaves the ACTIVE state.
-
- @param rNotifee AnimationNode to notify
- */
- virtual bool registerDeactivatingListener(
- const ::boost::shared_ptr< AnimationNode >& rNotifee ) = 0;
-
- /** Called to notify another AnimationNode's deactivation
-
- @param rNotifier The instance who calls this method.
- */
- virtual void notifyDeactivating(
- const ::boost::shared_ptr< AnimationNode >& rNotifier ) = 0;
-
- /** Query node whether it has an animation pending.
-
- @return true, if this node (or at least one of its children)
- has an animation pending. Used to determine if the main
- sequence is actually empty, or contains effects
- */
- virtual bool hasPendingAnimation() const = 0;
-};
-
-typedef ::boost::shared_ptr< AnimationNode > AnimationNodeSharedPtr;
-
-} // namespace internal
-} // namespace presentation
-
-#endif /* INCLUDED_SLIDESHOW_ANIMATIONNODE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/animationnodefactory.hxx b/slideshow/source/inc/animationnodefactory.hxx
deleted file mode 100644
index bc0c64314..000000000
--- a/slideshow/source/inc/animationnodefactory.hxx
+++ /dev/null
@@ -1,81 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ANIMATIONNODEFACTORY_HXX
-#define INCLUDED_SLIDESHOW_ANIMATIONNODEFACTORY_HXX
-
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <com/sun/star/animations/XAnimationNode.hpp>
-
-#include "subsettableshapemanager.hxx"
-#include "animationnode.hxx"
-#include "slideshowcontext.hxx"
-#include "eventqueue.hxx"
-#include "activitiesqueue.hxx"
-#include "usereventqueue.hxx"
-
-#include <boost/noncopyable.hpp>
-#include <vector>
-
-
-namespace slideshow
-{
- namespace internal
- {
- /* Definition of AnimationNodeFactory class */
-
- class AnimationNodeFactory : private boost::noncopyable
- {
- public:
- /** Create an AnimatioNode for the given XAnimationNode
- */
- static AnimationNodeSharedPtr createAnimationNode( const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimationNode >& xNode,
- const ::basegfx::B2DVector& rSlideSize,
- const SlideShowContext& rContext );
-
-
-#if defined(VERBOSE) && defined(DBG_UTIL)
- static void showTree( AnimationNodeSharedPtr& pRootNode );
-# define SHOW_NODE_TREE(a) AnimationNodeFactory::showTree(a)
-#else
-# define SHOW_NODE_TREE(a)
-#endif
-
- private:
- // default: constructor/destructor disabled
- AnimationNodeFactory();
- ~AnimationNodeFactory();
- };
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ANIMATIONNODEFACTORY_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/attributableshape.hxx b/slideshow/source/inc/attributableshape.hxx
deleted file mode 100644
index 1efba90b7..000000000
--- a/slideshow/source/inc/attributableshape.hxx
+++ /dev/null
@@ -1,231 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ATTRIBUTABLESHAPE_HXX
-#define INCLUDED_SLIDESHOW_ATTRIBUTABLESHAPE_HXX
-
-#include <boost/shared_ptr.hpp>
-
-#include "animatableshape.hxx"
-#include "shapeattributelayer.hxx"
-#include "doctreenodesupplier.hxx"
-
-namespace slideshow
-{
- namespace internal
- {
- // forward declaration necessary, because methods use AttributableShapeSharedPtr
- class AttributableShape;
-
- typedef ::boost::shared_ptr< AttributableShape > AttributableShapeSharedPtr;
-
- /** Represents an animatable shape, that can have its
- attributes changed.
-
- Over an animatable shape, this interface adds attribute
- modification methods. Furthermore, the shape can be
- queried for sub items, which in turn can be separated out
- into own AttributableShapes.
- */
- class AttributableShape : public AnimatableShape
- {
- public:
- // Attribute layer methods
- //------------------------------------------------------------------
-
- /** Create a new shape attribute layer.
-
- This method creates a new layer for shape attributes,
- which lies atop of all previous attribute layers. That
- is most typically used when a new SMIL animation
- starts (which according to the spec always lies atop
- of all previous animations). Thus, subsequent calls to
- this method generate a sandwich of attribute layers,
- which in total define the shape's attributes.
-
- Please note that the attribute layers do <em>not</em>
- contain the underlying XShape's attributes as
- default. Instead, attributes not explicitely set by
- animations remain in invalid state, allowing the
- shape's paint method to determine whether they have to
- override the underlying graphical shape
- representation. XShape attributes must be passed
- explicitely to animations which need them (e.g. 'by'
- animations).
-
- @return the new layer
- */
- virtual ShapeAttributeLayerSharedPtr createAttributeLayer() = 0;
-
- /** Revoke a previously generated attribute layer.
-
- This method revokes a previously generated attribute
- layer, and removes the effect of that layer from this
- shape. The layer need not be the current toplevel
- layer, it can also be revoked from in between.
-
- @param rLayer
- Layer to revoke. Must have been generated by
- createAttributeLayer() at the same Shape.
-
- @return true, if layer was successfully removed, false
- otherwise (e.g. if the given layer was not generated
- for this shape).
- */
- virtual bool revokeAttributeLayer( const ShapeAttributeLayerSharedPtr& rLayer ) = 0;
-
- /** Get the topmost shape attribute layer (if any).
-
- This method returns the topmost layer for shape
- attributes, i.e. the one which ultimately determines
- the shape's look.
-
- Please note that the attribute layers do <em>not</em>
- contain the underlying XShape's attributes as
- default. Instead, attributes not explicitely set by
- animations remain in invalid state, allowing the
- shape's paint method to determine whether they have to
- override the underlying graphical shape
- representation. XShape attributes must be passed
- explicitely to animations which need them (e.g. 'by'
- animations).
-
- @return the topmost layer
- */
- virtual ShapeAttributeLayerSharedPtr getTopmostAttributeLayer() const = 0;
-
-
- /** Change default shape visibility
-
- This method hides or unhides a shape. Note that every
- attribute layer generated for this shape is able to
- override the setting given here, until it is revoked.
-
- @param bVisible
- When true, shape will be visible, when false,
- invisible (modulo attribute layer overrides).
- */
- virtual void setVisibility( bool bVisible ) = 0;
-
- // Sub-item handling
- //------------------------------------------------------------------
-
- /** Retrieve interface for DocTreeNode creation.
-
- This method provides the caller with a reference to
- the DocTreeNodeSupplier interface, which can be used
- to request specific tree nodes for this shape.
- */
- virtual const DocTreeNodeSupplier& getTreeNodeSupplier() const = 0;
- virtual DocTreeNodeSupplier& getTreeNodeSupplier() = 0;
-
- /** Query the subset this shape displays.
-
- This method returns a tree node denoting the subset
- displayed by this shape. If this shape is not a subset
- shape, an empty tree node should be returned. If this
- shape is a subset, and itself has subsetted children,
- this method might return more than the shape is
- actually displaying (because a single DocTreeNode is
- not able to model holes in the range).
- */
- virtual DocTreeNode getSubsetNode() const = 0;
-
- /** Query a subset Shape, if already existent at this
- object
-
- This method returns a clone of this Shape, which
- renders only the selected subset of itself, but only
- if such a subset has been explicitely created before.
-
- @param rTreeNode
- A DocTreeNode instance queried from this Shape, which
- specifies the subset of the Shape to render.
-
- @return a NULL Shape pointer, if no subset exists for
- the given DocTreeNode.
- */
- virtual AttributableShapeSharedPtr getSubset( const DocTreeNode& rTreeNode ) const = 0;
-
- /** Create a subset Shape
-
- This method creates a clone of this Shape, which
- renders only the selected subset of itself. Multiple
- createSubset() calls for the same DocTreeNode will all
- share the same subset shape.
-
- The original shape (i.e. the one this method is called
- on) will cease to display the selected subset
- part. That is, together the shapes will display the
- original content, but the content of all subset shapes
- and their original shape will always be mutually
- disjunct.
-
- After deregistering the subset shape a matching number
- of times via revokeSubset(), the original shape will
- resume displaying the subsetted part.
-
- @attention To maintain view integrity, this method
- should only be called from the LayerManager
-
- @param o_rSubset
- The requested Shape
-
- @param rTreeNode
- A DocTreeNode instance queried from this Shape, which
- specifies the subset of the Shape to render
-
- @return true, if the shape was newly created, and
- false, if an already existing subset is returned.
- */
- virtual bool createSubset( AttributableShapeSharedPtr& o_rSubset,
- const DocTreeNode& rTreeNode ) = 0;
-
- /** Revoke a previously generated shape subset.
-
- After revoking a subset shape, the corresponding
- subset part will become visible again on the original
- shape.
-
- @attention To maintain view integrity, this method
- should only be called from the LayerManager
-
- @param rShape
- The subset to revoke
-
- @return true, if the last client called
- revokeSubset().
- */
- virtual bool revokeSubset( const AttributableShapeSharedPtr& rShape ) = 0;
- };
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ATTRIBUTABLESHAPE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/attributemap.hxx b/slideshow/source/inc/attributemap.hxx
deleted file mode 100644
index 24db268a3..000000000
--- a/slideshow/source/inc/attributemap.hxx
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ATTRIBUTEMAP_HXX
-#define INCLUDED_SLIDESHOW_ATTRIBUTEMAP_HXX
-
-#include <rtl/ustring.hxx>
-
-/* Definition of AttributeMap helper function */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Type of to-be-animated attribute.
-
- This enum describes the type of an animated
- attribute.
- */
- enum AttributeType
- {
- ATTRIBUTE_INVALID,
- ATTRIBUTE_CHAR_COLOR,
- ATTRIBUTE_CHAR_FONT_NAME,
- ATTRIBUTE_CHAR_HEIGHT,
- ATTRIBUTE_CHAR_POSTURE,
- ATTRIBUTE_CHAR_ROTATION,
- ATTRIBUTE_CHAR_UNDERLINE,
- ATTRIBUTE_CHAR_WEIGHT,
- ATTRIBUTE_COLOR,
- ATTRIBUTE_DIMCOLOR,
- ATTRIBUTE_FILL_COLOR,
- ATTRIBUTE_FILL_STYLE,
- ATTRIBUTE_HEIGHT,
- ATTRIBUTE_LINE_COLOR,
- ATTRIBUTE_LINE_STYLE,
- ATTRIBUTE_OPACITY,
- ATTRIBUTE_ROTATE,
- ATTRIBUTE_SKEW_X,
- ATTRIBUTE_SKEW_Y,
- ATTRIBUTE_VISIBILITY,
- ATTRIBUTE_WIDTH,
- ATTRIBUTE_POS_X,
- ATTRIBUTE_POS_Y
- };
-
- /** Map attribute name to AttributeType enum
-
- @returns ATTRIBUTE_INVALID, if name was not found in the
- mapping table.
- */
- AttributeType mapAttributeName( const ::rtl::OUString& rAttrName );
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ATTRIBUTEMAP_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/boolanimation.hxx b/slideshow/source/inc/boolanimation.hxx
deleted file mode 100644
index c7d951ee1..000000000
--- a/slideshow/source/inc/boolanimation.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_BOOLANIMATION_HXX
-#define INCLUDED_SLIDESHOW_BOOLANIMATION_HXX
-
-#include "animation.hxx"
-
-
-/* Definition of BoolAnimation interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Interface defining a bool animation.
-
- This interface is a specialization of the Animation
- interface, and is used to animate attributes that have
- only two discrete values (on and off, or true and false,
- for example).
- */
- class BoolAnimation : public Animation
- {
- public:
- typedef bool ValueType;
-
- /** Set the animation to the given value
-
- @param bValue
- Current animation value.
- */
- virtual bool operator()( ValueType bValue ) = 0;
-
- /** Request the underlying value for this animation.
-
- This is necessary for pure To or By animations, as the
- Activity cannot determine a sensible start value
- otherwise.
-
- @attention Note that you are only permitted to query
- for the underlying value, if the animation has actually
- been started (via start() call).
- */
- virtual ValueType getUnderlyingValue() const = 0;
- };
-
- typedef ::boost::shared_ptr< BoolAnimation > BoolAnimationSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_BOOLANIMATION_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/coloranimation.hxx b/slideshow/source/inc/coloranimation.hxx
deleted file mode 100644
index d7c149dc2..000000000
--- a/slideshow/source/inc/coloranimation.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_COLORANIMATION_HXX
-#define INCLUDED_SLIDESHOW_COLORANIMATION_HXX
-
-#include "animation.hxx"
-#include "rgbcolor.hxx"
-
-
-/* Definition of ColorAnimation interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Interface defining a color animation.
-
- This interface is a specialization of the Animation
- interface, and is used to animate attributes representable
- by a color value.
- */
- class ColorAnimation : public Animation
- {
- public:
- typedef RGBColor ValueType;
-
- /** Set the animation to the given color value
-
- @param rColor
- Current animation value.
- */
- virtual bool operator()( const ValueType& rColor ) = 0;
-
- /** Request the underlying value for this animation.
-
- This is necessary for pure To or By animations, as the
- Activity cannot determine a sensible start value
- otherwise.
-
- @attention Note that you are only permitted to query
- for the underlying value, if the animation has actually
- been started (via start() call).
- */
- virtual ValueType getUnderlyingValue() const = 0;
- };
-
- typedef ::boost::shared_ptr< ColorAnimation > ColorAnimationSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_COLORANIMATION_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/cursormanager.hxx b/slideshow/source/inc/cursormanager.hxx
deleted file mode 100644
index 4b06e963f..000000000
--- a/slideshow/source/inc/cursormanager.hxx
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_CURSORMANAGER_HXX
-#define INCLUDED_SLIDESHOW_CURSORMANAGER_HXX
-
-#include <sal/types.h>
-#include <boost/shared_ptr.hpp>
-
-
-/* Definition of CursorManager interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Interface for handling the view cursor.
-
- Classes implementing this interface interact with the
- View, arbitrating access to the mouse cursor shape.
- */
- class CursorManager
- {
- public:
- virtual ~CursorManager() {}
-
- /** Request different cursor shape.
-
- @param nCursorShape
- Shape ID of the new mouse cursor
- */
- virtual bool requestCursor( sal_Int16 nCursorShape ) = 0;
-
- /** Reset cursor to default one.
-
- This method resets the cursor to whatever default to
- manager deems appropriate.
- */
- virtual void resetCursor() = 0;
- };
-
- typedef ::boost::shared_ptr< CursorManager > CursorManagerSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_CURSORMANAGER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/delayevent.hxx b/slideshow/source/inc/delayevent.hxx
deleted file mode 100644
index 63ce38147..000000000
--- a/slideshow/source/inc/delayevent.hxx
+++ /dev/null
@@ -1,159 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef INCLUDED_SLIDESHOW_DELAYEVENT_HXX
-#define INCLUDED_SLIDESHOW_DELAYEVENT_HXX
-
-#include <boost/function.hpp>
-
-#include "event.hxx"
-#include <boost/noncopyable.hpp>
-
-namespace slideshow {
-namespace internal {
-
-/** Event, which delays the functor call the given amount of time
- */
-class Delay : public Event, private ::boost::noncopyable
-{
-public:
- typedef ::boost::function0<void> FunctorT;
-
- template <typename FuncT>
- Delay( FuncT const& func,
- double nTimeout
-#if OSL_DEBUG_LEVEL > 1
- , const ::rtl::OUString& rsDescription
- ) : Event(rsDescription),
-#else
- ) :
-#endif
- mnTimeout(nTimeout), maFunc(func), mbWasFired(false) {}
-
- Delay( const boost::function0<void>& func,
- double nTimeout
-#if OSL_DEBUG_LEVEL > 1
- , const ::rtl::OUString& rsDescription
- ) : Event(rsDescription),
-#else
- ) :
-#endif
- mnTimeout(nTimeout),
- maFunc(func),
- mbWasFired(false) {}
-
- // Event:
- virtual bool fire();
- virtual bool isCharged() const;
- virtual double getActivationTime( double nCurrentTime ) const;
- // Disposable:
- virtual void dispose();
-
-private:
- double const mnTimeout;
- FunctorT maFunc;
- bool mbWasFired;
-};
-
-#if OSL_DEBUG_LEVEL <= 1
-
-/** Generate delay event
-
- @param func
- Functor to call when the event fires.
-
- @param nTimeout
- Timeout in seconds, to wait until functor is called.
-
- @return generated delay event
-*/
-template <typename FuncT>
-inline EventSharedPtr makeDelay_( FuncT const& func, double nTimeout )
-{
- return EventSharedPtr( new Delay( func, nTimeout ) );
-}
-
-/** Generate immediate event
-
- @param func
- Functor to call when the event fires.
-
- @return generated immediate event.
-*/
-template <typename FuncT>
-inline EventSharedPtr makeEvent_( FuncT const& func )
-{
- return EventSharedPtr( new Delay( func, 0.0 ) );
-}
-
-
-// Strip away description.
-#define makeDelay(f, t, d) makeDelay_(f, t)
-#define makeEvent(f, d) makeEvent_(f)
-
-#else // OSL_DEBUG_LEVEL > 1
-
-class Delay_ : public Delay {
-public:
- template <typename FuncT>
- Delay_( FuncT const& func, double nTimeout,
- char const* from_function, char const* from_file, int from_line,
- const ::rtl::OUString& rsDescription)
- : Delay(func, nTimeout, rsDescription),
- FROM_FUNCTION(from_function),
- FROM_FILE(from_file), FROM_LINE(from_line) {}
-
- char const* const FROM_FUNCTION;
- char const* const FROM_FILE;
- int const FROM_LINE;
-};
-
-template <typename FuncT>
-inline EventSharedPtr makeDelay_(
- FuncT const& func, double nTimeout,
- char const* from_function, char const* from_file, int from_line,
- const ::rtl::OUString& rsDescription)
-{
- return EventSharedPtr( new Delay_( func, nTimeout,
- from_function, from_file, from_line, rsDescription) );
-}
-
-#define makeDelay(f, t, d) makeDelay_(f, t, \
- BOOST_CURRENT_FUNCTION, __FILE__, __LINE__, \
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(d)))
-#define makeEvent(f, d) makeDelay_(f, 0.0, \
- BOOST_CURRENT_FUNCTION, __FILE__, __LINE__, \
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(d)))
-
-#endif // OSL_DEBUG_LEVEL <= 1
-
-} // namespace internal
-} // namespace presentation
-
-#endif /* INCLUDED_SLIDESHOW_DELAYEVENT_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/disposable.hxx b/slideshow/source/inc/disposable.hxx
deleted file mode 100644
index 5e3c4f4d7..000000000
--- a/slideshow/source/inc/disposable.hxx
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_DISPOSABLE_HXX
-#define INCLUDED_SLIDESHOW_DISPOSABLE_HXX
-
-#include <sal/types.h>
-#include <boost/shared_ptr.hpp>
-
-
-/* Definition of Disposable interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Disposable interface
-
- With ref-counted objects, deleting object networks
- containing cycles requires a dispose() call, to enforce
- every object to call dispose on and release local
- references.
- */
- class Disposable
- {
- public:
- virtual ~Disposable() {}
-
- /** Dispose all object references.
-
- An implementor of this method must first call
- dispose() on any of its external references, and
- release them after that.
- */
- virtual void dispose() = 0;
- };
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_DISPOSABLE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/doctreenode.hxx b/slideshow/source/inc/doctreenode.hxx
deleted file mode 100644
index c8ad37f9f..000000000
--- a/slideshow/source/inc/doctreenode.hxx
+++ /dev/null
@@ -1,144 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_DOCTREENODE_HXX
-#define INCLUDED_SLIDESHOW_DOCTREENODE_HXX
-
-#include <sal/types.h>
-#include <vector>
-
-
-/* Definition of DocTreeNode class */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** This class represents kind of a DOM tree node for shape
- text
-
- In order to animate subsets of shape text, we need
- information about the logical and formatting structure of
- that text (lines, paragraphs, words etc.). This is
- represented in a tree structure, with DocTreeNodes as the
- nodes. Instances of this class can be queried from the
- DocTreeNodeSupplier interface.
-
- This class has nothing to do with the Draw document tree.
- */
- class DocTreeNode
- {
- public:
- /// Type of shape entity represented by this node
- enum NodeType
- {
- NODETYPE_INVALID=0,
-
- /// This node represents a full shape
- NODETYPE_FORMATTING_SHAPE=1,
- /// This node represents a line
- NODETYPE_FORMATTING_LINE=2,
-
- /// This node represents a full shape
- NODETYPE_LOGICAL_SHAPE=128,
- /// This node represents a paragraph
- NODETYPE_LOGICAL_PARAGRAPH=129,
- /// This node represents a sentence
- NODETYPE_LOGICAL_SENTENCE=130,
- /// This node represents a word
- NODETYPE_LOGICAL_WORD=131,
- /// This node represents a character
- NODETYPE_LOGICAL_CHARACTER_CELL=132
- };
-
- // classificators for above text entity types
- static bool isLogicalNodeType( NodeType eType ) { return eType > 127; }
- static bool isFormattingNodeType( NodeType eType ) { return eType > 0 && eType < 128; }
-
- /** Create empty tree node
- */
- DocTreeNode() :
- mnStartIndex(-1),
- mnEndIndex(-1),
- meType(NODETYPE_INVALID)
- {
- }
-
- /** Create tree node from start and end index.
-
- Create a tree node for the given range and type.
-
- @param nStartIndex
- Start index
-
- @param nEndIndex
- End index (exclusive)
-
- @param eType
- Node type
- */
- DocTreeNode( sal_Int32 nStartIndex,
- sal_Int32 nEndIndex,
- NodeType eType ) :
- mnStartIndex(nStartIndex),
- mnEndIndex(nEndIndex),
- meType(eType)
- {
- }
-
- bool isEmpty() const { return mnStartIndex == mnEndIndex; }
-
- sal_Int32 getStartIndex() const { return mnStartIndex; }
- sal_Int32 getEndIndex() const { return mnEndIndex; }
- void setStartIndex( sal_Int32 nIndex ) { mnStartIndex = nIndex; }
- void setEndIndex( sal_Int32 nIndex ) { mnEndIndex = nIndex; }
-
- NodeType getType() const { return meType; }
-
- void reset()
- {
- mnStartIndex = -1;
- mnEndIndex = -1;
- meType = NODETYPE_INVALID;
- }
-
- private:
- sal_Int32 mnStartIndex;
- sal_Int32 mnEndIndex;
- NodeType meType;
-
- };
-
- typedef ::std::vector< DocTreeNode > VectorOfDocTreeNodes;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_DOCTREENODE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/doctreenodesupplier.hxx b/slideshow/source/inc/doctreenodesupplier.hxx
deleted file mode 100644
index 0dd012550..000000000
--- a/slideshow/source/inc/doctreenodesupplier.hxx
+++ /dev/null
@@ -1,154 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_DOCTREENODESUPPLIER_HXX
-#define INCLUDED_SLIDESHOW_DOCTREENODESUPPLIER_HXX
-
-#include "doctreenode.hxx"
-
-
-/* Definition of DocTreeNodeSupplier interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Interface to retrieve DocTreeNodes from subsettable
- shapes.
-
- Shapes which implement the AttributableShape interface
- also provides this interface, providing methods to
- retrieve specific DocTreeNode objects from the shape. The
- methods mainly distinguish various ways on how to specify
- the actual DocTreeNode to return.
-
- If a requested DocTreeNode is not available when one of
- the methods below is called, an empty DocTreeNode will be
- returned (the predicate DocTreeNode::isEmpty() will return
- true). If, on the other hand, the shape cannot determine,
- for internal reasons, the internal tree node structure,
- all those methods will throw an
- ShapeLoadFailedException. This is, in fact, a delayed error
- that could also have been reported during shape
- construction, but might be postponed until the missing
- information is actually requested.
- */
- class DocTreeNodeSupplier
- {
- public:
- /** Query number of tree nodes of the given type this
- shape contains.
-
- The value returned by this method minus one is the
- maximum value permissible at the getTreeNode()
- method, for the given node type.
-
- @throws ShapeLoadFailedException, if tree node structure
- cannot be determined.
- */
- virtual sal_Int32 getNumberOfTreeNodes( DocTreeNode::NodeType eNodeType ) const = 0; // throw ShapeLoadFailedException;
-
- /** Create DocTreeNode from shape.
-
- This method creates a DocTreeNode from a shape, a
- given node type and a running index into the shape's
- DocTreeNodes of the given type.
-
- @param nNodeIndex
- Starting with 0, every DocTreeNode of the shape that
- has type eNodeType is indexed. The DocTreeNode whose
- index equals nNodeIndex will be returned.
-
- @param eNodeType
- Type of the node to return
-
- @return the DocTreeNode found, or the empty
- DocTreeNode, if nothing was found.
-
- @throws ShapeLoadFailedException, if tree node structure
- cannot be determined.
- */
- virtual DocTreeNode getTreeNode( sal_Int32 nNodeIndex,
- DocTreeNode::NodeType eNodeType ) const = 0; // throw ShapeLoadFailedException;
-
- /** Query number of tree nodes of the given type this
- subset contains.
-
- The value returned by this method minus one is the
- maximum value permissible at the
- getSubsetTreeNode() method, for the given node
- type.
-
- @param rParentNode
- The parent node, below which the number of tree nodes
- of the given type shall be counted.
-
- @param eNodeType
- Node type to count.
-
- @throws ShapeLoadFailedException, if tree node structure
- cannot be determined.
- */
- virtual sal_Int32 getNumberOfSubsetTreeNodes( const DocTreeNode& rParentNode,
- DocTreeNode::NodeType eNodeType ) const = 0; // throw ShapeLoadFailedException;
-
- /** Create DocTreeNode from shape subset.
-
- This method creates a DocTreeNode from a shape, a
- parent tree node, a given node type and a running
- index into the shape's DocTreeNodes of the given type.
-
- @param rParentNode
- Parent node, below which the tree node with the given
- type shall be selected.
-
- @param nNodeIndex
- Starting with 0, every DocTreeNode of the shape that
- has type eNodeType is indexed. The DocTreeNode whose
- index equals nNodeIndex will be returned.
-
- @param eNodeType
- Type of the node to return
-
- @return the DocTreeNode found, or the empty
- DocTreeNode, if nothing was found.
-
- @throws ShapeLoadFailedException, if tree node structure
- cannot be determined.
- */
- virtual DocTreeNode getSubsetTreeNode( const DocTreeNode& rParentNode,
- sal_Int32 nNodeIndex,
- DocTreeNode::NodeType eNodeType ) const = 0; // throw ShapeLoadFailedException;
- };
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_DOCTREENODESUPPLIER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/enumanimation.hxx b/slideshow/source/inc/enumanimation.hxx
deleted file mode 100644
index 56dda3168..000000000
--- a/slideshow/source/inc/enumanimation.hxx
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_ENUMANIMATION_HXX
-#define INCLUDED_SLIDESHOW_ENUMANIMATION_HXX
-
-#include "animation.hxx"
-
-
-/* Definition of EnumAnimation interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Interface defining an enum animation.
-
- This interface is a specialization of the Animation
- interface, and is used to animate attributes representable
- by a set of constant values, such as UNO constantsm, or enums.
- */
- class EnumAnimation : public Animation
- {
- public:
- typedef sal_Int16 ValueType;
-
- /** Set the animation to value k
-
- @param k
- Current animation value (must be in an
- attribute-specific permissible range). Overflowing
- values will be clipped to the permissible range
- internally.
- */
- virtual bool operator()( ValueType k ) = 0;
-
- /** Request the underlying value for this animation.
-
- This is necessary for pure To or By animations, as the
- Activity cannot determine a sensible start value
- otherwise.
-
- @attention Note that you are only permitted to query
- for the underlying value, if the animation has actually
- been started (via start() call).
- */
- virtual ValueType getUnderlyingValue() const = 0;
- };
-
- typedef ::boost::shared_ptr< EnumAnimation > EnumAnimationSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_ENUMANIMATION_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/event.hxx b/slideshow/source/inc/event.hxx
deleted file mode 100644
index 1cd7860bb..000000000
--- a/slideshow/source/inc/event.hxx
+++ /dev/null
@@ -1,94 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef INCLUDED_SLIDESHOW_EVENT_HXX
-#define INCLUDED_SLIDESHOW_EVENT_HXX
-
-#include "disposable.hxx"
-#include <rtl/ustring.hxx>
-#include <boost/shared_ptr.hpp>
-#include <vector>
-
-namespace slideshow {
-namespace internal {
-
-/** Definition of Event interface
- */
-class Event : public Disposable
-{
-public:
-#if OSL_DEBUG_LEVEL > 1
- Event (const ::rtl::OUString& rsDescription) : msDescription(rsDescription) {};
-#endif
-
- /** Execute the event.
-
- @return true, if event was successfully executed.
- */
- virtual bool fire() = 0;
-
- /** Query whether this event is still charged, i.e. able
- to fire.
-
- Inactive events are ignored by the normal event
- containers (EventQueue, UserEventQueue etc.), and no
- explicit fire() is called upon them.
-
- @return true, if this event has already been fired.
- */
- virtual bool isCharged() const = 0;
-
- /** Query the activation time instant this event shall be
- fired, if it was inserted at instant nCurrentTime into
- the queue.
-
- @param nCurrentTime
- The time from which the activation time is to be
- calculated from.
-
- @return the time instant in seconds, on which this
- event is to be fired.
- */
- virtual double getActivationTime( double nCurrentTime ) const = 0;
-
-#if OSL_DEBUG_LEVEL > 1
- ::rtl::OUString GetDescription (void) const { return msDescription; }
-
-private:
- const ::rtl::OUString msDescription;
-#endif
-};
-
-typedef ::boost::shared_ptr< Event > EventSharedPtr;
-typedef ::std::vector< EventSharedPtr > VectorOfEvents;
-
-} // namespace internal
-} // namespace presentation
-
-#endif /* INCLUDED_SLIDESHOW_EVENT_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/eventhandler.hxx b/slideshow/source/inc/eventhandler.hxx
deleted file mode 100644
index 87a30a943..000000000
--- a/slideshow/source/inc/eventhandler.hxx
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_EVENTHANDLER_HXX
-#define INCLUDED_SLIDESHOW_EVENTHANDLER_HXX
-
-#include <boost/shared_ptr.hpp>
-
-
-/* Definition of EventHandler interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Interface for event handling objects.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle events.
- */
- class EventHandler
- {
- public:
- virtual ~EventHandler() {}
-
- /** Handle the event.
-
- @return true, if this handler has successfully
- processed the event. When this method returns false,
- possibly other, less prioritized handlers are called,
- too.
- */
- virtual bool handleEvent() = 0;
- };
-
- typedef ::boost::shared_ptr< EventHandler > EventHandlerSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_EVENTHANDLER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/eventmultiplexer.hxx b/slideshow/source/inc/eventmultiplexer.hxx
deleted file mode 100644
index aae1c4024..000000000
--- a/slideshow/source/inc/eventmultiplexer.hxx
+++ /dev/null
@@ -1,663 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef INCLUDED_SLIDESHOW_EVENTMULTIPLEXER_HXX
-#define INCLUDED_SLIDESHOW_EVENTMULTIPLEXER_HXX
-
-#include "eventhandler.hxx"
-#include "hyperlinkhandler.hxx"
-#include "mouseeventhandler.hxx"
-#include "animationeventhandler.hxx"
-#include "pauseeventhandler.hxx"
-#include "shapelistenereventhandler.hxx"
-#include "shapecursoreventhandler.hxx"
-#include "userpainteventhandler.hxx"
-#include "vieweventhandler.hxx"
-#include "viewrepainthandler.hxx"
-
-#include <boost/scoped_ptr.hpp>
-#include <boost/noncopyable.hpp>
-
-
-namespace slideshow {
-namespace internal {
-
-class EventQueue;
-class UnoViewContainer;
-class AnimationNode;
-
-struct EventMultiplexerImpl;
-
-/** This class multiplexes user-activated and
- slide-show global events.
-
- This class listens at the XSlideShowView and fires events
- registered for certain user actions. Furthermore, global
- slide show state changes (such as start or end of a slide)
- are handled as well. Note that registered events which
- have a non-zero timeout (i.e. events that return non-zero
- from getActivationTime()) will not be fired immediately
- after the user action occurred, but only after the given
- timeout. Which is actually a feature.
-*/
-class EventMultiplexer : private ::boost::noncopyable
-{
-public:
- /** Create an event multiplexer
-
- @param rEventQueue
- Reference to the main event queue. Since we hold this
- object by plain reference, it must live longer than we
- do. On the other hand, that queue must not fire events
- after this object is destroyed, since we might
- schedule events there which itself contain plain
- references to this object. Basically, EventQueue and
- EventMultiplexer should have the same lifetime, and since
- this is not possible, both must be destructed in a
- phased mode: first clear both of any remaining events,
- then destruct them.
-
- @param rViewContainer
- Globally managed list of all registered views. Used to
- determine event sources, and for registering view listeners
- at.
- */
- EventMultiplexer( EventQueue& rEventQueue,
- UnoViewContainer const& rViewContainer );
- ~EventMultiplexer();
-
-
- // Management methods
- // =========================================================
-
- /** Clear all registered handlers.
- */
- void clear();
-
-
- // Automatic mode methods
- // =========================================================
-
- /** Change automatic mode.
-
- @param bIsAuto
- When true, events will be fired automatically, not
- only triggered by UI events. When false, auto events
- will quit.
- */
- void setAutomaticMode( bool bIsAuto );
-
- /** Get automatic mode setting.
- */
- bool getAutomaticMode() const;
-
- /** Set the timeout for automatic mode.
-
- @param nTimeout
- Timeout, between end of effect until start of next
- effect.
- */
- void setAutomaticTimeout( double nTimeout );
-
- /** Get automatic mode timeout value.
- */
- double getAutomaticTimeout() const;
-
- // Handler registration methods
- // =========================================================
-
- /** Register an event handler that will be called when views are
- changed.
-
- For each view added, viewAdded() will be called on the
- handler. For each view removed, viewRemoved() will be
- called. Each modified view will cause a viewChanged() call on
- each handler.
-
- You don't need to deregister the handler, it will be
- automatically removed, once the pointee becomes stale.
-
- @param rHandler
- Handler to call.
- */
- void addViewHandler( const ViewEventHandlerWeakPtr& rHandler );
- void removeViewHandler( const ViewEventHandlerWeakPtr& rHandler );
-
- /** Register an event handler that will be called when a view gets
- clobbered.
-
- Note that <em>all</em> registered handlers will be called when
- the event. This is in contrast to the mouse events below.
-
- @param rHandler
- Handler to call when a view needs a repaint
- */
- void addViewRepaintHandler( const ViewRepaintHandlerSharedPtr& rHandler );
- void removeViewRepaintHandler( const ViewRepaintHandlerSharedPtr& rHandler );
-
- /** Register an event handler that will be called when
- XShapeListeners are changed.
-
- @param rHandler
- Handler to call when a shape listener changes
- */
- void addShapeListenerHandler( const ShapeListenerEventHandlerSharedPtr& rHandler );
- void removeShapeListenerHandler( const ShapeListenerEventHandlerSharedPtr& rHandler );
-
- /** Register an event handler that will be called when
- XShapeListeners are changed.
-
- @param rHandler
- Handler to call when a shape listener changes
- */
- void addShapeCursorHandler( const ShapeCursorEventHandlerSharedPtr& rHandler );
- void removeShapeCursorHandler( const ShapeCursorEventHandlerSharedPtr& rHandler );
-
- /** Register an event handler that will be called when
- user paint parameters change.
-
- @param rHandler
- Handler to call when a shape listener changes
- */
- void addUserPaintHandler( const UserPaintEventHandlerSharedPtr& rHandler );
- void removeUserPaintHandler( const UserPaintEventHandlerSharedPtr& rHandler );
-
- /** Register an event handler that will be called when the
- user requests the next effect.
-
- For every nextEffect event, only one of the handlers
- registered here is called. The handlers are considered
- with decreasing priority, i.e. the handler with the
- currently highest priority will be called.
-
- @param rHandler
- Handler to call when the next effect should start
-
- @param nPriority
- Priority with which the handlers are called. The
- higher the priority, the earlier this handler will be
- tried.
- */
- void addNextEffectHandler( const EventHandlerSharedPtr& rHandler,
- double nPriority );
- void removeNextEffectHandler( const EventHandlerSharedPtr& rHandler );
-
- /** Register an event handler that will be called when the
- slide is just shown.
-
- Note that <em>all</em> registered handlers will be called
- when the slide start occurs. This is in contrast to
- the mouse events below.
-
- @param rHandler
- Handler to call when the next slide starts
- */
- void addSlideStartHandler( const EventHandlerSharedPtr& rHandler );
- void removeSlideStartHandler( const EventHandlerSharedPtr& rHandler );
-
- /** Register an event handler that will be called when the
- slide is about to vanish.
-
- Note that <em>all</em> registered handlers will be
- called when the slide end occurs. This is in contrast
- to the mouse events below.
-
- @param rHandler
- Handler to call when the current slide ends
- */
- void addSlideEndHandler( const EventHandlerSharedPtr& rHandler );
- void removeSlideEndHandler( const EventHandlerSharedPtr& rHandler );
-
- /** Register an event handler that will be called when an
- XAnimationNode starts its active duration.
-
- Note that <em>all</em> registered handlers will be called
- when the animation start occurs. This is in contrast to
- the mouse events below.
-
- @param rHandler
- Handler to call when the animation start
- */
- void addAnimationStartHandler(
- const AnimationEventHandlerSharedPtr& rHandler );
- void removeAnimationStartHandler(
- const AnimationEventHandlerSharedPtr& rHandler );
-
- /** Register an event handler that will be called when an
- XAnimationNode ends its active duration.
-
- Note that <em>all</em> registered handlers will be called
- when the animation end occurs. This is in contrast to
- the mouse events below.
-
- @param rHandler
- Handler to call when the animation ends
- */
- void addAnimationEndHandler(
- const AnimationEventHandlerSharedPtr& rHandler );
- void removeAnimationEndHandler(
- const AnimationEventHandlerSharedPtr& rHandler );
-
- /** Register an event handler that will be called when the
- main animation sequence of a slide ends its active
- duration.
-
- Note that <em>all</em> registered handlers will be
- called when the animation end occurs. This is in
- contrast to the mouse events below.
-
- @param rHandler
- Handler to call when the animation ends
- */
- void addSlideAnimationsEndHandler(
- const EventHandlerSharedPtr& rHandler );
- void removeSlideAnimationsEndHandler(
- const EventHandlerSharedPtr& rHandler );
-
- /** Register an event handler that will be called when an
- XAudio node's sound stops playing.
-
- Note that <em>all</em> registered handlers will be
- called when the audio stops. This is in contrast to
- the mouse events below.
-
- @param rHandler
- Handler to call when the audio stops
- */
- void addAudioStoppedHandler(
- const AnimationEventHandlerSharedPtr& rHandler );
- void removeAudioStoppedHandler(
- const AnimationEventHandlerSharedPtr& rHandler );
-
- /** Register an event handler that will be called when an
- XCommand node's with the command STOPAUDIO is activated.
-
- Note that <em>all</em> registered handlers will be
- called when the audio stops. This is in contrast to
- the mouse events below.
-
- @param rHandler
- Handler to call when command is activated
- */
- void addCommandStopAudioHandler(
- const AnimationEventHandlerSharedPtr& rHandler );
- void removeCommandStopAudioHandler(
- const AnimationEventHandlerSharedPtr& rHandler );
-
- /** Register a handler that is called when the show enters
- or exits pause mode.
- */
- void addPauseHandler( const PauseEventHandlerSharedPtr& rHandler );
- void removePauseHandler( const PauseEventHandlerSharedPtr& rHandler );
-
- /** Register a mouse handler that is called on mouse click
-
- For every mouse click, only one of the handlers
- registered here is called. The handlers are considered
- with decreasing priority, i.e. the handler with the
- currently highest priority will be called.
-
- Since the handlers can reject down and up events
- individually, handlers should expect to be called with
- non-matching down and up-press counts. If your handler
- cannot cope with that, it must have the highest
- priority of all added handlers.
- */
- void addClickHandler( const MouseEventHandlerSharedPtr& rHandler,
- double nPriority );
- void removeClickHandler( const MouseEventHandlerSharedPtr& rHandler );
-
- /** Register a mouse handler that is called on a double
- mouse click
-
- For every mouse double click, only one of the handlers
- registered here is called. The handlers are considered
- with decreasing priority, i.e. the handler with the
- currently highest priority will be called.
-
- Since the handlers can reject down and up events
- individually, handlers should expect to be called with
- non-matching down and up-press counts. If your handler
- cannot cope with that, it must have the highest
- priority of all added handlers.
- */
- void addDoubleClickHandler( const MouseEventHandlerSharedPtr& rHandler,
- double nPriority );
- void removeDoubleClickHandler( const MouseEventHandlerSharedPtr& rHandler );
-
- /** Register a mouse handler that is called for mouse moves.
-
- For every mouse move, only one of the handlers
- registered here is called. The handlers are considered
- with decreasing priority, i.e. the handler with the
- currently highest priority will be called.
- */
- void addMouseMoveHandler( const MouseEventHandlerSharedPtr& rHandler,
- double nPriority );
- void removeMouseMoveHandler( const MouseEventHandlerSharedPtr& rHandler );
-
-
- /** Registers a hyperlink click handler.
-
- For every hyperlink click, only one of the handlers registered
- here is called. The handlers are considered with decreasing
- priority, i.e. the handler with the currently highest priority
- will be called.
-
- @param rHandler
- @param nPriority
- */
- void addHyperlinkHandler( const HyperlinkHandlerSharedPtr& rHandler,
- double nPriority );
- void removeHyperlinkHandler( const HyperlinkHandlerSharedPtr& rHandler );
-
-
- // External event notifications
- // =========================================================
-
- /** View added.
-
- This method adds another view, which the show is
- displayed on. On every added view, the EventMultiplexer
- registers mouse and motion event listeners.
- */
- bool notifyViewAdded( const UnoViewSharedPtr& rView );
-
- /** View removed
-
- This method removes a view. Registered mouse and
- motion event listeners are revoked.
- */
- bool notifyViewRemoved( const UnoViewSharedPtr& rView );
-
- /** View changed
-
- This method announces a changed view to all view
- listeners. View changes include size and transformation.
-
- @param rView
- View that has changed
- */
- bool notifyViewChanged( const UnoViewSharedPtr& rView );
-
- /** View changed
-
- This method announces a changed view to all view
- listeners. View changes include size and transformation.
-
- @param xView
- View that has changed
- */
- bool notifyViewChanged( const ::com::sun::star::uno::Reference<
- ::com::sun::star::presentation::XSlideShowView>& xView );
-
- /** All Views changed
-
- This method announces to all view listeners that
- <em>every</em> known view has changed. View changes include
- size and transformation.
- */
- bool notifyViewsChanged();
-
- /** View clobbered
-
- This method announces that the given view has been clobbered
- by something external to the slideshow, and needs an update.
-
- @param xView
- View that has been clobbered
- */
- bool notifyViewClobbered( const ::com::sun::star::uno::Reference<
- ::com::sun::star::presentation::XSlideShowView>& xView );
-
- /** New shape event listener added
-
- This method announces that the given listener was added for
- the specified shape.
-
- @return true, if at least one handler successfully processed
- the notification.
- */
- bool notifyShapeListenerAdded( const ::com::sun::star::uno::Reference<
- ::com::sun::star::presentation::XShapeEventListener>& xListener,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape>& xShape );
-
- /** A shape event listener was removed
-
- This method announces that the given listener was removed for
- the specified shape.
-
- @return true, if at least one handler successfully processed
- the notification.
- */
- bool notifyShapeListenerRemoved( const ::com::sun::star::uno::Reference<
- ::com::sun::star::presentation::XShapeEventListener>& xListener,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape>& xShape );
-
- /** A new shape cursor was set
-
- This method announces that the given cursor was set for the
- specified shape.
-
- @return true, if at least one handler successfully processed
- the notification.
- */
- bool notifyShapeCursorChange( const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape>& xShape,
- sal_Int16 nPointerShape );
-
- /** Notify a new user paint color
-
- Sending this notification also implies that user paint is
- enabled. User paint denotes the feature to draw colored lines
- on top of the slide content.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifyUserPaintColor( RGBColor const& rUserColor );
-
- /** Notify a new user paint width
-
- Sending this notification also implies that user paint is
- enabled. .
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifyUserPaintStrokeWidth( double rUserStrokeWidth );
-
-
- /** Notify a new user paint erase all ink mode
-
- Sending this notification also implies that user paint is
- enabled. User paint denotes the feature to draw colored lines
- on top of the slide content.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifyEraseAllInk( bool const& rEraseAllInk );
- bool notifySwitchPenMode();
- bool notifySwitchEraserMode();
- bool notifyEraseInkWidth( sal_Int32 rEraseInkSize );
-
- /** Notify that user paint is disabled
-
- User paint denotes the feature to draw colored lines on top of
- the slide content.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifyUserPaintDisabled();
-
- /** Notify that the user requested the next effect.
-
- This requests the slideshow to display the next
- effect, or move to the next slide, if none are left.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifyNextEffect();
-
- /** Notify that a new slide is about to be displayed
- */
- bool notifySlideTransitionStarted();
-
- /** Notify that a new slide has started
-
- This method is to be used from the Presentation object
- to signal that a new slide is starting now. This will
- invoke all registered slide start handlers.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifySlideStartEvent();
-
- /** Notify that a slide has ended
-
- This method is to be used from the Presentation object
- to signal that a slide is ending now. This will invoke
- all registered slide end handlers.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifySlideEndEvent();
-
- /** Notify that the given node enters its active duration.
-
- This method is to be used from the AnimationNode
- objects to signal that the active duration
- begins. This will invoke all registered animation
- start handlers.
-
- @param rNode
- Node which enters active duration.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifyAnimationStart( const boost::shared_ptr<AnimationNode>& rNode );
-
- /** Notify that the given node leaves its active duration.
-
- This method is to be used from the AnimationNode
- objects to signal that the active duration
- ends now. This will invoke all registered animation
- end handlers.
-
- @param rNode
- Node which leaves active duration.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifyAnimationEnd( const boost::shared_ptr<AnimationNode>& rNode );
-
- /** Notify that the slide animations sequence leaves its
- active duration.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifySlideAnimationsEnd();
-
- /** Notify that for the given node, audio output has stopped.
-
- This method is to be used from the AnimationNode
- objects to signal that audio playback has just
- stopped. This will invoke all registered audio
- stopped andlers.
-
- @param rNode
- Node for which audio has stopped.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifyAudioStopped( const boost::shared_ptr<AnimationNode>& rNode );
-
- /** Notify that the show has entered or exited pause mode
-
- This method is to be used from the Presentation object
- to signal that a slide is entering (bPauseShow=true)
- or exiting (bPauseShow=false) pause mode. This will
- invoke all registered slide end handlers.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifyPauseMode( bool bPauseShow );
-
- /** Notify that all audio has to be stoped.
-
- This method is used by XCommand nodes and all sound
- playing nodes should listen for this command and
- stop theire sounds when its fired.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifyCommandStopAudio( const boost::shared_ptr<AnimationNode>& rNode );
-
- /** Botifies that a hyperlink has been clicked.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- bool notifyHyperlinkClicked( ::rtl::OUString const& hyperLink );
-
-private:
- boost::scoped_ptr<EventMultiplexerImpl> mpImpl;
-};
-
-} // namespace internal
-} // namespace Presentation
-
-#endif /* INCLUDED_SLIDESHOW_EVENTMULTIPLEXER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/eventqueue.hxx b/slideshow/source/inc/eventqueue.hxx
deleted file mode 100644
index 19f3358f1..000000000
--- a/slideshow/source/inc/eventqueue.hxx
+++ /dev/null
@@ -1,159 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_EVENTQUEUE_HXX
-#define INCLUDED_SLIDESHOW_EVENTQUEUE_HXX
-
-#include <canvas/elapsedtime.hxx>
-#include <osl/mutex.hxx>
-
-#include "event.hxx"
-
-#include <boost/noncopyable.hpp>
-#include <functional>
-#include <queue>
-#include <vector>
-
-
-/* Definition of ActivitiesQueue class */
-
-namespace slideshow
-{
- namespace internal
- {
- /** This class handles events in a presentation. Events are
- time instants where e.g. effects start.
- */
- class EventQueue : private ::boost::noncopyable
- {
- public:
- EventQueue(
- ::boost::shared_ptr< ::canvas::tools::ElapsedTime >
- const & pPresTimer );
-
- ~EventQueue();
-
- /** Add the given event to the queue. The event is fired
- at, or shortly after, its Event::getActivationTime instant.
- */
- bool addEvent( const EventSharedPtr& event );
-
- /** Add the given event to the queue. The event is fired
- at, or shortly after, its Event::getActivationTime instant.
- The difference to addEvent() is that events added during
- process() are postponed to next process().
- */
- bool addEventForNextRound( const EventSharedPtr& event );
-
- /** Another way to control the order of asynchronous event
- exeqution. Use this method to schedule events that are to
- be executed after all regular events that have no delay,
- even when they schedule new regular events without delay.
- */
- bool addEventWhenQueueIsEmpty (const EventSharedPtr& rpEvent);
-
- /** Process the event queue.
-
- This method executes all events whose timeout has
- expired when calling this method (i.e. all events
- whose scheduled time is less or equal the current
- time).
-
- Check for the next available event's timeout via
- nextTimeout(), or whether the queue is empty
- altogether via isEmpty().
- */
- void process();
-
- /** Query state of the queue
-
- @return false, if queue is empty, true otherwise
- */
- bool isEmpty() const;
-
- /** Query timeout for the topmost event in the queue.
-
- @return Timeout in seconds, until the next event is
- ready. The time returned here is relative to the pres
- timer (i.e. the timer specified at the EventQueue
- constructor). When the queue is empty (i.e. isEmpty()
- returns true), the returned value is the highest
- representable double value
- (::std::numeric_limits<double>::max()). If the topmost
- event in the queue is already pending, the timeout
- returned here will actually be negative.
- */
- double nextTimeout() const;
-
- /** Remove all pending events from the queue.
- */
- void clear();
-
- /** Forces an empty queue, firing all events immediately
- without minding any times.
- @attention do only call from event loop, this calls process_()!
- */
- void forceEmpty();
-
- /** Gets the queue's timer object.
- */
- ::boost::shared_ptr< ::canvas::tools::ElapsedTime > const &
- getTimer() const { return mpTimer; }
-
- private:
- mutable ::osl::Mutex maMutex;
-
- struct EventEntry : public ::std::unary_function<EventEntry, bool>
- {
- EventSharedPtr pEvent;
- double nTime;
-
- bool operator<( const EventEntry& ) const; // to leverage priority_queue's default compare
-
- EventEntry( EventSharedPtr const& p, double t )
- : pEvent(p), nTime(t) {}
- };
-
- typedef ::std::priority_queue< EventEntry > ImplQueueType;
- ImplQueueType maEvents;
- typedef ::std::vector<EventEntry> EventEntryVector;
- EventEntryVector maNextEvents;
- ImplQueueType maNextNextEvents;
- void process_( bool bFireAllEvents );
-
- // perform timing of events via relative time
- // measurements. The world time starts, when the
- // EventQueue object is created
- ::boost::shared_ptr< ::canvas::tools::ElapsedTime > mpTimer;
- };
-
- }
-}
-#endif /* INCLUDED_SLIDESHOW_EVENTQUEUE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/expressionnode.hxx b/slideshow/source/inc/expressionnode.hxx
deleted file mode 100644
index 47cb6abf0..000000000
--- a/slideshow/source/inc/expressionnode.hxx
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_EXPRESSIONNODE_HXX
-#define INCLUDED_SLIDESHOW_EXPRESSIONNODE_HXX
-
-#include "animationfunction.hxx"
-
-
-/* Definition of ExpressionNode interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Refinement of AnimationFunction
-
- This interface is used by the SMIL function parser, to
- collapse constant values into precalculated, single nodes.
- */
- class ExpressionNode : public AnimationFunction
- {
- public:
- /** Predicate whether this node is constant.
-
- This predicate returns true, if this node is
- neither time- nor ViewInfo dependent. This allows
- for certain obtimizations, i.e. not the full
- expression tree needs be represented by
- ExpressionNodes.
-
- @returns true, if this node is neither time- nor
- ViewInfo dependent
- */
- virtual bool isConstant() const = 0;
- };
-
- typedef ::boost::shared_ptr< ExpressionNode > ExpressionNodeSharedPtr;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_EXPRESSIONNODE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/expressionnodefactory.hxx b/slideshow/source/inc/expressionnodefactory.hxx
deleted file mode 100644
index b0ea5e9a2..000000000
--- a/slideshow/source/inc/expressionnodefactory.hxx
+++ /dev/null
@@ -1,85 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_EXPRESSIONNODEFACTORY_HXX
-#define INCLUDED_SLIDESHOW_EXPRESSIONNODEFACTORY_HXX
-
-#include "expressionnode.hxx"
-
-#include <basegfx/vector/b2dsize.hxx>
-#include <basegfx/range/b2drectangle.hxx>
-
-
-/* Definition of ExpressionNodeFactory class */
-
-namespace slideshow
-{
- namespace internal
- {
- /** ExpressionNode factory
-
- This class can be used to generate a wide variety of
- ExpressionNode objects, e.g. when parsing SMIL function
- expressions.
- */
- class ExpressionNodeFactory
- {
- public:
- static ExpressionNodeSharedPtr createConstantValueExpression( double rConstantValue );
-
- static ExpressionNodeSharedPtr createValueTExpression ();
-
- static ExpressionNodeSharedPtr createPlusExpression ( const ExpressionNodeSharedPtr& rLHS,
- const ExpressionNodeSharedPtr& rRHS );
- static ExpressionNodeSharedPtr createMinusExpression ( const ExpressionNodeSharedPtr& rLHS,
- const ExpressionNodeSharedPtr& rRHS );
- static ExpressionNodeSharedPtr createMultipliesExpression( const ExpressionNodeSharedPtr& rLHS,
- const ExpressionNodeSharedPtr& rRHS );
- static ExpressionNodeSharedPtr createDividesExpression ( const ExpressionNodeSharedPtr& rLHS,
- const ExpressionNodeSharedPtr& rRHS );
-
- /** Composes two ExpressionNode function.
-
- The resulting expression will calculate
- rOuterFunction( rInnerFunction(t) ).
- */
- static ExpressionNodeSharedPtr createComposedExpression ( const ExpressionNodeSharedPtr& rOuterFunction,
- const ExpressionNodeSharedPtr& rInnerFunction );
-
- static ExpressionNodeSharedPtr createMinExpression ( const ExpressionNodeSharedPtr& rOuterFunction,
- const ExpressionNodeSharedPtr& rInnerFunction );
-
- static ExpressionNodeSharedPtr createMaxExpression ( const ExpressionNodeSharedPtr& rOuterFunction,
- const ExpressionNodeSharedPtr& rInnerFunction );
- };
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_EXPRESSIONNODEFACTORY_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/externalmediashape.hxx b/slideshow/source/inc/externalmediashape.hxx
deleted file mode 100644
index fa1ccc392..000000000
--- a/slideshow/source/inc/externalmediashape.hxx
+++ /dev/null
@@ -1,94 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_EXTERNALMEDIASHAPE_HXX
-#define INCLUDED_SLIDESHOW_EXTERNALMEDIASHAPE_HXX
-
-#include <boost/shared_ptr.hpp>
-
-#include "shape.hxx"
-
-
-namespace slideshow
-{
- namespace internal
- {
- /** Represents a shape containing media (video, sound).
-
- This interface adds media handling methods to a shape. It
- allows starting/stopping and pausing playback.
- */
- class ExternalMediaShape : public Shape
- {
- public:
- // Animation methods
- //------------------------------------------------------------------
-
- /** Notify the Shape that it should start with playback
-
- This method enters playback mode on all registered
- views. It makes the media initially visible (for videos).
- */
- virtual void play() = 0;
-
- /** Notify the Shape that it should stop playback
-
- This method leaves playback mode on all registered
- views. The media is then rewound to the start, and
- removed from screen (for videos)
- */
- virtual void stop() = 0;
-
- /** Notify the Shape that it should pause playback
-
- This method stops playback on all registered
- views. The media stays visible (for videos)
- */
- virtual void pause() = 0;
-
- /** Query whether the media is currently playing.
- */
- virtual bool isPlaying() const = 0;
-
- /** Set media time in seconds.
-
- @param fTime
- Time in seconds of the media time line, that should now be
- presented
- */
- virtual void setMediaTime(double fTime) = 0;
- };
-
- typedef ::boost::shared_ptr< ExternalMediaShape > ExternalMediaShapeSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_EXTERNALMEDIASHAPE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/framerate.hxx b/slideshow/source/inc/framerate.hxx
deleted file mode 100644
index 4ffe891b3..000000000
--- a/slideshow/source/inc/framerate.hxx
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_FRAMERATE_HXX
-#define INCLUDED_SLIDESHOW_FRAMERATE_HXX
-
-#include <sal/types.h>
-
-namespace slideshow { namespace internal {
-
-/** Some frame rate related data.
-*/
-class FrameRate
-{
-public:
- /** The minimum number of frames per second is used to calculate the
- minimum number of frames that is to be shown for active activities.
- */
- static const sal_Int32 MinimumFramesPerSecond = 10;
-
- /** Aim high with the number of preferred number of frames per second.
- This number is the maximum as well and the true number will be lower.
- */
- static const sal_Int32 PreferredFramesPerSecond = 50;
-};
-
-} } // end of namespace slideshow::internal
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/hslcolor.hxx b/slideshow/source/inc/hslcolor.hxx
deleted file mode 100644
index afd21c74d..000000000
--- a/slideshow/source/inc/hslcolor.hxx
+++ /dev/null
@@ -1,110 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_HSLCOLOR_HXX
-#define INCLUDED_SLIDESHOW_HSLCOLOR_HXX
-
-#include <cppcanvas/color.hxx>
-
-
-/* Definition of HSLColor class */
-
-namespace slideshow
-{
- namespace internal
- {
- class RGBColor;
-
- /** HSL color space class.
- */
- class HSLColor
- {
- public:
- HSLColor();
- explicit HSLColor( ::cppcanvas::Color::IntSRGBA nRGBColor );
- HSLColor( double nHue, double nSaturation, double nLuminance );
- explicit HSLColor( const RGBColor& rColor );
-
- /** Hue of the color.
-
- @return hue, is in the range [0,360]
- */
- double getHue() const;
-
- /** Saturation of the color.
-
- @return saturation, is in the range [0,1]
- */
- double getSaturation() const;
-
- /** Luminance of the color.
-
- @return luminance, is in the range [0,1]
- */
- double getLuminance() const;
-
- struct HSLTriple
- {
- HSLTriple();
- HSLTriple( double nHue, double nSaturation, double nLuminance );
-
- double mnHue;
- double mnSaturation;
- double mnLuminance;
- };
-
- private:
- // default copy/assignment are okay
- // HSLColor(const HSLColor&);
- // HSLColor& operator=( const HSLColor& );
-
- HSLTriple maHSLTriple;
-
- /// Pre-calculated value, needed for conversion back to RGB
- double mnMagicValue;
- };
-
- HSLColor operator+( const HSLColor& rLHS, const HSLColor& rRHS );
- HSLColor operator*( const HSLColor& rLHS, const HSLColor& rRHS );
- HSLColor operator*( double nFactor, const HSLColor& rRHS );
-
- /** HSL color linear interpolator.
-
- @param t
- As usual, t must be in the [0,1] range
-
- @param bCCW
- When true, hue interpolation happens counter-clockwise
- */
- HSLColor interpolate( const HSLColor& rFrom, const HSLColor& rTo, double t, bool bCCW=true );
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_HSLCOLOR_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/hslcoloranimation.hxx b/slideshow/source/inc/hslcoloranimation.hxx
deleted file mode 100644
index b86e801ea..000000000
--- a/slideshow/source/inc/hslcoloranimation.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_HSLCOLORANIMATION_HXX
-#define INCLUDED_SLIDESHOW_HSLCOLORANIMATION_HXX
-
-#include "animation.hxx"
-#include "hslcolor.hxx"
-
-
-/* Definition of HSLColorAnimation interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Interface defining a HSL color animation.
-
- This interface is a specialization of the Animation
- interface, and is used to animate attributes representable
- by a HSL color value.
- */
- class HSLColorAnimation : public Animation
- {
- public:
- typedef HSLColor ValueType;
-
- /** Set the animation to the given color value
-
- @param rColor
- Current animation value.
- */
- virtual bool operator()( const ValueType& rColor ) = 0;
-
- /** Request the underlying value for this animation.
-
- This is necessary for pure To or By animations, as the
- Activity cannot determine a sensible start value
- otherwise.
-
- @attention Note that you are only permitted to query
- for the underlying value, if the animation has actually
- been started (via start() call).
- */
- virtual ValueType getUnderlyingValue() const = 0;
- };
-
- typedef ::boost::shared_ptr< HSLColorAnimation > HSLColorAnimationSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_HSLCOLORANIMATION_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/hyperlinkarea.hxx b/slideshow/source/inc/hyperlinkarea.hxx
deleted file mode 100644
index 07be394a5..000000000
--- a/slideshow/source/inc/hyperlinkarea.hxx
+++ /dev/null
@@ -1,107 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_HYPERLINKAREA_HXX
-#define INCLUDED_SLIDESHOW_HYPERLINKAREA_HXX
-
-#include <boost/shared_ptr.hpp>
-#include <vector>
-#include <utility>
-
-namespace rtl {
- class OUString;
-}
-namespace basegfx {
- class B2DRange;
-}
-
-/* Definition of HyperlinkArea interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** HyperlinkArea interface
-
- Implementers of this interface provide information for
- hyperlink sensitive areas.
- */
- class HyperlinkArea
- {
- public:
- typedef std::pair< ::basegfx::B2DRange,
- ::rtl::OUString > HyperlinkRegion;
-
- typedef std::vector<HyperlinkRegion> HyperlinkRegions;
-
- /** Request hyperlink-sensitive areas.
-
- @return a vector of hyperlink-sensitive areas, plus
- the URI associated to them.
- */
- virtual HyperlinkRegions getHyperlinkRegions() const = 0;
-
- /** Retrieve priority of link area
-
- @return the priority of the link area. Link areas with
- higher priority will receive hyperlink clicks in favor
- of areas with less priority, if they cover the same
- place on screen.
- */
- virtual double getHyperlinkPriority() const = 0;
-
- /** Functor struct, for area ordering
-
- This defines a strict weak ordering of areas, sort key
- is the object ptr value. Most typical use is for
- associative containers holding areas.
- */
- struct lessThanArea
- {
- // make functor adaptable (to boost::bind)
- typedef bool result_type;
-
- bool operator()(const boost::shared_ptr< HyperlinkArea >& rLHS,
- const boost::shared_ptr< HyperlinkArea >& rRHS) const
- {
- const double nPrioL( rLHS->getHyperlinkPriority() );
- const double nPrioR( rRHS->getHyperlinkPriority() );
-
- // if prios are equal, tie-break on ptr value
- return nPrioL == nPrioR ? rLHS.get() < rRHS.get() : nPrioL < nPrioR;
- }
- };
- };
-
- typedef boost::shared_ptr< HyperlinkArea > HyperlinkAreaSharedPtr;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_HYPERLINKAREA_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/hyperlinkhandler.hxx b/slideshow/source/inc/hyperlinkhandler.hxx
deleted file mode 100644
index 25b0d5bc4..000000000
--- a/slideshow/source/inc/hyperlinkhandler.hxx
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_HYPERLINKHANDLER_HXX
-#define INCLUDED_SLIDESHOW_HYPERLINKHANDLER_HXX
-
-#include <boost/shared_ptr.hpp>
-
-
-/* Definition of EventHandler interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Interface for handling hyperlink clicks.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle hyperlink events.
- */
- class HyperlinkHandler
- {
- public:
- /** Handle the event.
-
- @param rLink
- The actual hyperlink URI
-
- @return true, if this handler has successfully
- processed the event. When this method returns false,
- possibly other, less prioritized handlers are called,
- too.
- */
- virtual bool handleHyperlink( ::rtl::OUString const& rLink ) = 0;
- };
-
- typedef ::boost::shared_ptr< HyperlinkHandler > HyperlinkHandlerSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_HYPERLINKHANDLER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/interruptabledelayevent.hxx b/slideshow/source/inc/interruptabledelayevent.hxx
deleted file mode 100644
index cd4205564..000000000
--- a/slideshow/source/inc/interruptabledelayevent.hxx
+++ /dev/null
@@ -1,153 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_INTERRUPTABLEDELAYEVENT_HXX
-#define INCLUDED_SLIDESHOW_INTERRUPTABLEDELAYEVENT_HXX
-
-#include "delayevent.hxx"
-
-namespace slideshow
-{
- namespace internal
- {
- /** Event, which delays calling passed Event's fire() method
- the given amount of time.
-
- This is actually a facade around the passed event object,
- that passes on all calls to that object, and the sole
- contribution of itself is the delay.
- */
- class DelayFacade : public Event
- {
- public:
- DelayFacade( const EventSharedPtr& rEvent,
- double nTimeout ) :
-#if OSL_DEBUG_LEVEL > 1
- Event(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DelayFacade"))),
-#endif
- mpEvent( rEvent ),
- mnTimeout( nTimeout )
- {
- }
-
- virtual bool fire()
- {
- if( mpEvent && isCharged() )
- {
- // pass on directly - we're supposed to be called
- // from EventQueue here, anyway - and if not,
- // we're only keeping that incorrect transitively.
- return mpEvent->fire();
- }
-
- return false;
- }
-
- virtual bool isCharged() const
- {
- // pass on to wrappee - this ensures that we return
- // false on isCharged(), even if the other event has
- // been fired outside our own fire() method
- return !mpEvent ? false : mpEvent->isCharged();
- }
-
- virtual double getActivationTime( double nCurrentTime ) const
- {
- // enforce _our_ timeout to our clients (this
- // overrides any timeout possibly set at the wrappee!)
- return nCurrentTime + mnTimeout;
- }
-
- virtual void dispose()
- {
- mpEvent.reset();
- }
-
- private:
- EventSharedPtr mpEvent;
- double mnTimeout;
- };
-
- /// Return value for makeInterruptableDelay()
- struct InterruptableEventPair
- {
- /** This member contains a pointer to the timeout
- event. When enqueued, this event will fire the
- requested action only after the specified timeout.
- */
- EventSharedPtr mpTimeoutEvent;
-
- /** This member contains a pointer to the interruption
- event. When enqueued, this event will fire
- immediately, interrupting a potentially waiting
- timeout event.
- */
- EventSharedPtr mpImmediateEvent;
- };
-
- /** Generate an interruptable delay event.
-
- This function generates a pair of events, that are
- especially tailored to achieve the following behaviour: By
- default, the given functor is called after the specified
- timeout (after insertion of the event into the EventQueue,
- of course). But optionally, when the interruption event
- InterruptableEventPair::mpImmediateEvent is fired, the
- given functor is called <em>at once</em>, and the delay is
- ignored (that means, the given functor is guaranteed to be
- called at utmost once, and never twice. Furthermore, it is
- ensured that both events return false on isCharged(), once
- anyone of them has been fired already).
-
- @param rFunctor
- Functor to call when the event fires.
-
- @param nTimeout
- Timeout in seconds, to wait until functor is called.
-
- @returns a pair of events, where the first one waits the
- specified amount of time, and the other fires the given
- functor immediately.
- */
- template< typename Functor > InterruptableEventPair makeInterruptableDelay( const Functor& rFunctor,
- double nTimeout )
- {
- InterruptableEventPair aRes;
-
- aRes.mpImmediateEvent = makeEvent( rFunctor, "makeInterruptableDelay");
- aRes.mpTimeoutEvent.reset( new DelayFacade( aRes.mpImmediateEvent,
- nTimeout ) );
-
- return aRes;
- }
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_INTERRUPTABLEDELAYEVENT_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/intrinsicanimationeventhandler.hxx b/slideshow/source/inc/intrinsicanimationeventhandler.hxx
deleted file mode 100644
index 40935d910..000000000
--- a/slideshow/source/inc/intrinsicanimationeventhandler.hxx
+++ /dev/null
@@ -1,63 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_INTRINSICANIMATIONEVENTHANDLER_HXX
-#define INCLUDED_SLIDESHOW_INTRINSICANIMATIONEVENTHANDLER_HXX
-
-#include <boost/shared_ptr.hpp>
-
-/* Definition of IntrinsicAnimationEventHandler interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Interface for handling intrinsic animation display modes.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle intrinsic animation events.
- */
- class IntrinsicAnimationEventHandler
- {
- public:
- virtual ~IntrinsicAnimationEventHandler() {}
-
- virtual bool enableAnimations() = 0;
- virtual bool disableAnimations() = 0;
- };
-
- typedef ::boost::shared_ptr< IntrinsicAnimationEventHandler > IntrinsicAnimationEventHandlerSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_INTRINSICANIMATIONEVENTHANDLER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/listenercontainer.hxx b/slideshow/source/inc/listenercontainer.hxx
deleted file mode 100644
index 533f04ff6..000000000
--- a/slideshow/source/inc/listenercontainer.hxx
+++ /dev/null
@@ -1,317 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef INCLUDED_SLIDESHOW_LISTENERCONTAINER_HXX
-#define INCLUDED_SLIDESHOW_LISTENERCONTAINER_HXX
-
-#include <osl/mutex.hxx>
-#include <boost/utility.hpp>
-#include <algorithm>
-#include <vector>
-
-#include "listenercontainerimpl.hxx"
-
-namespace slideshow {
-namespace internal {
-
-/** Container for objects that can be notified.
-
- This templatized container holds listener objects, than can get
- notified (by calling certain methods on them).
-
- @tpl Listener
- Type for the listener objects to be held
-
- @tpl ContainerT
- Full type of the container to store the listener objects. Defaults
- to std::vector<ListenerT>
-
- @tpl MaxDeceasedListenerUllage
- Threshold, from which upwards the listener container gets
- pruned. Avoids frequent copying of nearly empty containers.
-
- @attention internal class, not to be used. functionality is
- incomplete, please use the Thread(Un)safeListenerContainer types
- from below
-*/
-template< typename ListenerT,
- typename MutexHolderBaseT,
- typename ContainerT=std::vector<ListenerT>,
- size_t MaxDeceasedListenerUllage=16 > class ListenerContainerBase : public MutexHolderBaseT
-{
- typedef typename MutexHolderBaseT::Guard Guard;
- typedef typename MutexHolderBaseT::ClearableGuard ClearableGuard;
-
-public:
- typedef ListenerT listener_type;
- typedef ContainerT container_type;
- typedef MutexHolderBaseT mutex_type;
-
- /** Check whether listener container is empty
-
- @return true, if currently no listeners registered. Note that
- in a multi-threaded scenario, without external synchronisation
- to this object, the return value might become wrong at any time.
- */
- bool isEmpty() const
- {
- Guard aGuard(*this);
- return maListeners.empty();
- }
-
- /** Check whether given listener is already added
-
- @return true, if given listener is already added.
- */
- bool isAdded( listener_type const& rListener ) const
- {
- Guard aGuard(*this);
-
- const typename container_type::const_iterator aEnd( maListeners.end() );
- if( std::find( maListeners.begin(),
- aEnd,
- rListener ) != aEnd )
- {
- return true; // already added
- }
-
- return false;
- }
-
- /** Add new listener
-
- @param rListener
- Listener to add
-
- @return false, if the listener is already added, true
- otherwise
- */
- bool add( listener_type const& rListener )
- {
- Guard aGuard(*this);
-
- // ensure uniqueness
- if( isAdded(rListener) )
- return false; // already added
-
- maListeners.push_back( rListener );
-
- ListenerOperations<ListenerT>::pruneListeners(
- maListeners,
- MaxDeceasedListenerUllage);
-
- return true;
- }
-
- /** Add new listener into sorted container
-
- The stored listeners are kept sorted (using this method
- requires listener_type to have operator< defined on it). Make
- sure to call addSorted() for <em>each</em> listener to add to
- this container - sorting is performed under the assumption
- that existing entries are already sorted.
-
- @param rListener
- Listener to add
-
- @return false, if the listener is already added, true
- otherwise
- */
- bool addSorted( listener_type const& rListener )
- {
- Guard aGuard(*this);
-
- // ensure uniqueness
- if( isAdded(rListener) )
- return false; // already added
-
- maListeners.push_back( rListener );
-
- // a single entry does not need to be sorted
- if( maListeners.size() > 1 )
- {
- std::inplace_merge(
- maListeners.begin(),
- boost::prior(maListeners.end()),
- maListeners.end() );
- }
-
- ListenerOperations<ListenerT>::pruneListeners(
- maListeners,
- MaxDeceasedListenerUllage);
-
- return true;
- }
-
- /** Remove listener from container
-
- @param rListener
- The listener to remove
-
- @return false, if listener not found in container, true
- otherwise
- */
- bool remove( listener_type const& rListener )
- {
- Guard aGuard(*this);
-
- const typename container_type::iterator aEnd( maListeners.end() );
- typename container_type::iterator aIter;
- if( (aIter=std::remove(maListeners.begin(),
- aEnd,
- rListener)) == aEnd )
- {
- return false; // listener not found
- }
-
- maListeners.erase( aIter, aEnd );
-
- return true;
- }
-
- /// Removes all listeners in one go
- void clear()
- {
- Guard aGuard(*this);
-
- maListeners.clear();
- }
-
- /** Apply functor to one listener
-
- This method applies functor to one of the listeners. Starting
- with the first entry of the container, the functor is called
- with the listener entries, until it returns true.
-
- @param func
- Given functor is called with listeners, until it returns true
-
- @return true, if functor was successfully applied to a
- listener
- */
- template< typename FuncT > bool apply( FuncT func ) const
- {
- ClearableGuard aGuard(*this);
-
- // generate a local copy of all handlers, to make method
- // reentrant and thread-safe.
- container_type const local( maListeners );
- aGuard.clear();
-
- const bool bRet(
- ListenerOperations<ListenerT>::notifySingleListener(
- local,
- func ));
-
- {
- Guard aGuard2(*this);
- ListenerOperations<ListenerT>::pruneListeners(
- const_cast<container_type&>(maListeners),
- MaxDeceasedListenerUllage);
- }
-
- return bRet;
- }
-
- /** Apply functor to all listeners
-
- This method applies functor to all of the listeners. Starting
- with the first entry of the container, the functor is called
- with the listener entries.
-
- @param func
- Given functor is called with listeners.
-
- @return true, if functor was successfully applied to at least
- one listener
- */
- template< typename FuncT > bool applyAll( FuncT func ) const
- {
- ClearableGuard aGuard(*this);
-
- // generate a local copy of all handlers, to make method
- // reentrant and thread-safe.
- container_type const local( maListeners );
- aGuard.clear();
-
- const bool bRet(
- ListenerOperations<ListenerT>::notifyAllListeners(
- local,
- func ));
-
- {
- Guard aGuard2(*this);
- ListenerOperations<ListenerT>::pruneListeners(
- const_cast<container_type&>(maListeners),
- MaxDeceasedListenerUllage);
- }
-
- return bRet;
- }
-
-private:
- ContainerT maListeners;
-};
-
-////////////////////////////////////////////////////////////////////////////
-
-/** ListenerContainer variant that serialized access
-
- This ListenerContainer is safe to use in a multi-threaded
- context. It serializes access to the object, and avoids
- dead-locking by releasing the object mutex before calling
- listeners.
- */
-template< typename ListenerT,
- typename ContainerT=std::vector<ListenerT> >
-class ThreadSafeListenerContainer : public ListenerContainerBase<ListenerT,
- MutexBase,
- ContainerT>
-{
-};
-
-////////////////////////////////////////////////////////////////////////////
-
-/** ListenerContainer variant that does not serialize access
-
- This ListenerContainer version is not safe to use in a
- multi-threaded scenario, but has less overhead.
- */
-template< typename ListenerT,
- typename ContainerT=std::vector<ListenerT> >
-class ThreadUnsafeListenerContainer : public ListenerContainerBase<ListenerT,
- EmptyBase,
- ContainerT>
-{
-};
-
-} // namespace internal
-} // namespace slideshow
-
-#endif /* INCLUDED_SLIDESHOW_LISTENERCONTAINER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/listenercontainerimpl.hxx b/slideshow/source/inc/listenercontainerimpl.hxx
deleted file mode 100644
index cecffec7b..000000000
--- a/slideshow/source/inc/listenercontainerimpl.hxx
+++ /dev/null
@@ -1,227 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef INCLUDED_SLIDESHOW_LISTENERCONTAINERIMPL_HXX
-#define INCLUDED_SLIDESHOW_LISTENERCONTAINERIMPL_HXX
-
-#include <sal/config.h>
-#include <boost/weak_ptr.hpp>
-
-namespace slideshow {
-namespace internal {
-
-////////////////////////////////////////////////////////////////////////////
-
-struct EmptyBase
-{
- struct EmptyGuard{ explicit EmptyGuard(EmptyBase) {} };
- struct EmptyClearableGuard
- {
- explicit EmptyClearableGuard(EmptyBase) {}
- void clear() {}
- void reset() {}
- };
-
- typedef EmptyGuard Guard;
- typedef EmptyClearableGuard ClearableGuard;
-};
-
-class MutexBase
-{
-public:
- struct Guard : public osl::MutexGuard
- {
- explicit Guard(MutexBase const& rBase) :
- osl::MutexGuard(rBase.maMutex)
- {}
- };
- struct ClearableGuard : public osl::ClearableMutexGuard
- {
- explicit ClearableGuard(MutexBase const& rBase) :
- osl::ClearableMutexGuard(rBase.maMutex)
- {}
- };
-
- mutable osl::Mutex maMutex;
-};
-
-////////////////////////////////////////////////////////////////////////////
-
-template< typename result_type, typename ListenerTargetT > struct FunctionApply
-{
- template<typename FuncT> static bool apply(
- FuncT func,
- ListenerTargetT const& rArg )
- {
- return func(rArg);
- }
-};
-
-template<typename ListenerTargetT> struct FunctionApply<void,ListenerTargetT>
-{
- template<typename FuncT> static bool apply(
- FuncT func,
- ListenerTargetT const& rArg )
- {
- func(rArg);
- return true;
- }
-};
-
-////////////////////////////////////////////////////////////////////////////
-
-template< typename ListenerT > struct ListenerOperations
-{
- /// Notify a single one of the listeners
- template< typename ContainerT,
- typename FuncT >
- static bool notifySingleListener( ContainerT& rContainer,
- FuncT func )
- {
- const typename ContainerT::const_iterator aEnd( rContainer.end() );
-
- // true: a handler in this queue processed the event
- // false: no handler in this queue finally processed the event
- return (std::find_if( rContainer.begin(),
- aEnd,
- func ) != aEnd);
- }
-
- /// Notify all listeners
- template< typename ContainerT,
- typename FuncT >
- static bool notifyAllListeners( ContainerT& rContainer,
- FuncT func )
- {
- bool bRet(false);
- typename ContainerT::const_iterator aCurr( rContainer.begin() );
- typename ContainerT::const_iterator const aEnd ( rContainer.end() );
- while( aCurr != aEnd )
- {
- if( FunctionApply< typename FuncT::result_type,
- typename ContainerT::value_type >::apply(
- func,
- *aCurr) )
- {
- bRet = true;
- }
-
- ++aCurr;
- }
-
- // true: at least one handler returned true
- // false: not a single handler returned true
- return bRet;
- }
-
- /// Prune container from deceased listeners
- template< typename ContainerT >
- static void pruneListeners( ContainerT&, size_t )
- {
- }
-};
-
-// specializations for weak_ptr
-// ----------------------------
-template< typename ListenerTargetT >
-struct ListenerOperations< boost::weak_ptr<ListenerTargetT> >
-{
- template< typename ContainerT,
- typename FuncT >
- static bool notifySingleListener( ContainerT& rContainer,
- FuncT func )
- {
- typename ContainerT::const_iterator aCurr( rContainer.begin() );
- typename ContainerT::const_iterator const aEnd ( rContainer.end() );
- while( aCurr != aEnd )
- {
- boost::shared_ptr<ListenerTargetT> pListener( aCurr->lock() );
-
- if( pListener && func(pListener) )
- return true;
-
- ++aCurr;
- }
-
- return false;
- }
-
- template< typename ContainerT,
- typename FuncT >
- static bool notifyAllListeners( ContainerT& rContainer,
- FuncT func )
- {
- bool bRet(false);
- typename ContainerT::const_iterator aCurr( rContainer.begin() );
- typename ContainerT::const_iterator const aEnd ( rContainer.end() );
- while( aCurr != aEnd )
- {
- boost::shared_ptr<ListenerTargetT> pListener( aCurr->lock() );
-
- if( pListener.get() &&
- FunctionApply< typename FuncT::result_type,
- boost::shared_ptr<ListenerTargetT> >::apply(func,pListener) )
- {
- bRet = true;
- }
-
- ++aCurr;
- }
-
- return bRet;
- }
-
- template< typename ContainerT >
- static void pruneListeners( ContainerT& rContainer,
- size_t nSizeThreshold )
- {
- if( rContainer.size() <= nSizeThreshold )
- return;
-
- ContainerT aAliveListeners;
- aAliveListeners.reserve(rContainer.size());
-
- typename ContainerT::const_iterator aCurr( rContainer.begin() );
- typename ContainerT::const_iterator const aEnd ( rContainer.end() );
- while( aCurr != aEnd )
- {
- if( !aCurr->expired() )
- aAliveListeners.push_back( *aCurr );
-
- ++aCurr;
- }
-
- std::swap( rContainer, aAliveListeners );
- }
-};
-
-} // namespace internal
-} // namespace Presentation
-
-#endif /* INCLUDED_SLIDESHOW_LISTENERCONTAINERIMPL_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/mouseeventhandler.hxx b/slideshow/source/inc/mouseeventhandler.hxx
deleted file mode 100644
index f601490cd..000000000
--- a/slideshow/source/inc/mouseeventhandler.hxx
+++ /dev/null
@@ -1,156 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_MOUSEEVENTHANDLER_HXX
-#define INCLUDED_SLIDESHOW_MOUSEEVENTHANDLER_HXX
-
-#include <boost/shared_ptr.hpp>
-
-namespace com { namespace sun { namespace star { namespace awt
-{
- struct MouseEvent;
-} } } }
-
-
-/* Definition of MouseEventHandler interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Interface for handling mouse events.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle mouse events.
- */
- class MouseEventHandler
- {
- public:
- virtual ~MouseEventHandler() {}
-
- /** Handle a mouse button pressed event.
-
- @param e
- The mouse event that occurred. The x,y coordinates of
- the event are already transformed back to user
- coordinate space, taking the inverse transform of the
- view in which the event occurred.
-
- @return true, if this handler has successfully
- processed the mouse event. When this method returns
- false, possibly other, less prioritized handlers can be
- called, too.
- */
- virtual bool handleMousePressed( const ::com::sun::star::awt::MouseEvent& e ) = 0;
-
- /** Handle a mouse button released event.
-
- @param e
- The mouse event that occurred. The x,y coordinates of
- the event are already transformed back to user
- coordinate space, taking the inverse transform of the
- view in which the event occurred.
-
- @return true, if this handler has successfully
- processed the pause event. When this method returns
- false, possibly other, less prioritized handlers are
- called, too.
- */
- virtual bool handleMouseReleased( const ::com::sun::star::awt::MouseEvent& e ) = 0;
-
- /** Handle a mouse entered the view event.
-
- @param e
- The mouse event that occurred. The x,y coordinates of
- the event are already transformed back to user
- coordinate space, taking the inverse transform of the
- view in which the event occurred.
-
- @return true, if this handler has successfully
- processed the pause event. When this method returns
- false, possibly other, less prioritized handlers are
- called, too.
- */
- virtual bool handleMouseEntered( const ::com::sun::star::awt::MouseEvent& e ) = 0;
-
- /** Handle a mouse exited the view event.
-
- @param e
- The mouse event that occurred. The x,y coordinates of
- the event are already transformed back to user
- coordinate space, taking the inverse transform of the
- view in which the event occurred.
-
- @return true, if this handler has successfully
- processed the pause event. When this method returns
- false, possibly other, less prioritized handlers are
- called, too.
- */
- virtual bool handleMouseExited( const ::com::sun::star::awt::MouseEvent& e ) = 0;
-
- /** Handle a mouse was moved with a pressed button event.
-
- @param e
- The mouse event that occurred. The x,y coordinates of
- the event are already transformed back to user
- coordinate space, taking the inverse transform of the
- view in which the event occurred.
-
- @return true, if this handler has successfully
- processed the pause event. When this method returns
- false, possibly other, less prioritized handlers are
- called, too.
- */
- virtual bool handleMouseDragged( const ::com::sun::star::awt::MouseEvent& e ) = 0;
-
- /** Handle a mouse was moved event.
-
- @param e
- The mouse event that occurred. The x,y coordinates of
- the event are already transformed back to user
- coordinate space, taking the inverse transform of the
- view in which the event occurred.
-
- @return true, if this handler has successfully
- processed the pause event. When this method returns
- false, possibly other, less prioritized handlers are
- called, too.
- */
- virtual bool handleMouseMoved( const ::com::sun::star::awt::MouseEvent& e ) = 0;
- };
-
- typedef ::boost::shared_ptr< MouseEventHandler > MouseEventHandlerSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_MOUSEEVENTHANDLER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/numberanimation.hxx b/slideshow/source/inc/numberanimation.hxx
deleted file mode 100644
index b841ef1c8..000000000
--- a/slideshow/source/inc/numberanimation.hxx
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_NUMBERANIMATION_HXX
-#define INCLUDED_SLIDESHOW_NUMBERANIMATION_HXX
-
-#include <animation.hxx>
-
-
-/* Definition of NumberAnimation interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Interface defining a number animation.
-
- This interface is a specialization of the Animation
- interface, and is used to animate attributes representable
- by a single floating point value.
- */
- class NumberAnimation : public Animation
- {
- public:
- typedef double ValueType;
-
- /** Set the animation to value x
-
- @param x
- Current animation value (must be in an
- attribute-specific permissible range). Overflowing
- values will be clipped to the permissible range
- internally.
- */
- virtual bool operator()( ValueType x ) = 0;
-
- /** Request the underlying value for this animation.
-
- This is necessary for pure To or By animations, as the
- Activity cannot determine a sensible start value
- otherwise.
-
- @attention Note that you are only permitted to query
- for the underlying value, if the animation has actually
- been started (via start() call).
- */
- virtual ValueType getUnderlyingValue() const = 0;
- };
-
- typedef ::boost::shared_ptr< NumberAnimation > NumberAnimationSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_NUMBERANIMATION_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/pairanimation.hxx b/slideshow/source/inc/pairanimation.hxx
deleted file mode 100644
index c913a338d..000000000
--- a/slideshow/source/inc/pairanimation.hxx
+++ /dev/null
@@ -1,81 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_PAIRANIMATION_HXX
-#define INCLUDED_SLIDESHOW_PAIRANIMATION_HXX
-
-#include "animation.hxx"
-#include <basegfx/tuple/b2dtuple.hxx>
-
-
-/* Definition of PairAnimation interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Interface defining a pair of numbers animation.
-
- This interface is a specialization of the Animation
- interface, and is used to animate attributes representable
- by a pair of floating point values (e.g. a position or a
- size).
- */
- class PairAnimation : public Animation
- {
- public:
- typedef ::basegfx::B2DTuple ValueType;
-
- /** Set the animation to the given value
-
- @param rValue
- Current animation value.
- */
- virtual bool operator()( const ValueType& rValue ) = 0;
-
- /** Request the underlying value for this animation.
-
- This is necessary for pure To or By animations, as the
- Activity cannot determine a sensible start value
- otherwise.
-
- @attention Note that you are only permitted to query
- for the underlying value, if the animation has actually
- been started (via start() call).
- */
- virtual ValueType getUnderlyingValue() const = 0;
- };
-
- typedef ::boost::shared_ptr< PairAnimation > PairAnimationSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_PAIRANIMATION_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/pauseeventhandler.hxx b/slideshow/source/inc/pauseeventhandler.hxx
deleted file mode 100644
index 144f9c45e..000000000
--- a/slideshow/source/inc/pauseeventhandler.hxx
+++ /dev/null
@@ -1,71 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_PAUSEEVENTHANDLER_HXX
-#define INCLUDED_SLIDESHOW_PAUSEEVENTHANDLER_HXX
-
-#include <boost/shared_ptr.hpp>
-
-
-/* Definition of PauseHandler interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Interface for handling pause events.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle pause events.
- */
- class PauseEventHandler
- {
- public:
- /** Handle the event.
-
- @param bPauseShow
- When true, the show is paused. When false, the show is
- started again
-
- @return true, if this handler has successfully
- processed the pause event. When this method returns
- false, possibly other, less prioritized handlers are
- called, too.
- */
- virtual bool handlePause( bool bPauseShow ) = 0;
- };
-
- typedef ::boost::shared_ptr< PauseEventHandler > PauseEventHandlerSharedPtr;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_PAUSEEVENTHANDLER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/rgbcolor.hxx b/slideshow/source/inc/rgbcolor.hxx
deleted file mode 100644
index b30615180..000000000
--- a/slideshow/source/inc/rgbcolor.hxx
+++ /dev/null
@@ -1,103 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_RGBCOLOR_HXX
-#define INCLUDED_SLIDESHOW_RGBCOLOR_HXX
-
-#include <cppcanvas/color.hxx>
-
-
-/* Definition of RGBColor class */
-
-namespace slideshow
-{
- namespace internal
- {
- class HSLColor;
-
- /** RGB color space class.
- */
- class RGBColor
- {
- public:
- RGBColor();
- explicit RGBColor( ::cppcanvas::Color::IntSRGBA nRGBColor );
- RGBColor( double nRed, double nGreen, double nBlue );
- explicit RGBColor( const HSLColor& rColor );
-
- /** Get the RGB red value.
- */
- double getRed() const;
-
- /** Get the RGB green value.
- */
- double getGreen() const;
-
- /** Get the RGB blue value.
- */
- double getBlue() const;
-
- /** Create an integer sRGBA color.
- */
- ::cppcanvas::Color::IntSRGBA getIntegerColor() const;
-
- struct RGBTriple
- {
- RGBTriple();
- RGBTriple( double nRed, double nGreen, double nBlue );
-
- double mnRed;
- double mnGreen;
- double mnBlue;
- };
-
- private:
- // default copy/assignment are okay
- // RGBColor(const RGBColor&);
- // RGBColor& operator=( const RGBColor& );
-
- RGBTriple maRGBTriple;
- };
-
- RGBColor operator+( const RGBColor& rLHS, const RGBColor& rRHS );
- RGBColor operator*( const RGBColor& rLHS, const RGBColor& rRHS );
- RGBColor operator*( double nFactor, const RGBColor& rRHS );
-
-
- /** RGB color linear interpolator.
-
- @param t
- As usual, t must be in the [0,1] range
- */
- RGBColor interpolate( const RGBColor& rFrom, const RGBColor& rTo, double t );
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_RGBCOLOR_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/screenupdater.hxx b/slideshow/source/inc/screenupdater.hxx
deleted file mode 100644
index d2ce2a4f0..000000000
--- a/slideshow/source/inc/screenupdater.hxx
+++ /dev/null
@@ -1,142 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SCREENUPDATER_HXX
-#define INCLUDED_SLIDESHOW_SCREENUPDATER_HXX
-
-#include "viewupdate.hxx"
-#include "unoviewcontainer.hxx"
-#include <boost/noncopyable.hpp>
-#include <boost/scoped_ptr.hpp>
-
-/* Definition of ScreenUpdater class */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Screen updater
-
- This class handles and synchronizes screen updates
- centrally. Therefore, it can hold a number of ViewUpdate
- objects, which are polled for pending updates on
- commitUpdates(). Furthermore, external code can request
- updates via notifyUpdate() calls. If neither such an
- update was requested, nor any of the registered ViewUpdate
- objects report any pending update, commitUpdates() does
- nothing.
- */
- class ScreenUpdater : boost::noncopyable
- {
- public:
- explicit ScreenUpdater( UnoViewContainer const& rViewContainer );
- ~ScreenUpdater();
-
- /** Notify screen update
-
- This method records a screen content update request
- for all views.
- */
- void notifyUpdate();
-
- /** Notify screen update
-
- This method records a screen content update request
- for the given view.
-
- @param rView
- The view that needs an update
-
- @param bViewClobbered
- When true, notifies update that view content is
- clobbered by external circumstances (e.g. by another
- application), and needs update even if the
- implementation 'thinks' it does not need to render
- something to screen.
- */
- void notifyUpdate( const UnoViewSharedPtr& rView, bool bViewClobbered=false );
-
- /** Commits collected update actions
- */
- void commitUpdates();
-
- /** Register ViewUpdate
-
- @param rViewUpdate
- Add this ViewUpdate to the list that's asked for
- pending updates
- */
- void addViewUpdate( ViewUpdateSharedPtr const& rViewUpdate );
-
- /** Unregister ViewUpdate
-
- @param rViewUpdate
- Remove this ViewUpdate from the list that's asked for
- pending updates
- */
- void removeViewUpdate( ViewUpdateSharedPtr const& );
-
- /** A wart.
-
- Used to fire an immediate screen update. Currently
- needed for the wait symbol, since switching that on
- and off does get to commitUpdates()
- */
- void requestImmediateUpdate();
-
- class UpdateLock {public: virtual void Activate (void) = 0; };
-
- /** Call this method to create a lock instead of calling
- lockUpdates() and unlockUpdates() directly.
- @param bStartLocked
- When <TRUE/> then the UpdateLock is created already
- locked. When <FALSE/> then Activate() has to be called in order
- to lock the lock.
- */
- ::boost::shared_ptr<UpdateLock> createLock (const bool bStartLocked);
-
- /** Lock updates to prevent intermediate repaints.
- */
- void lockUpdates (void);
-
- /** When called as often as lockUpdates() then commitUpdates()
- is called.
- */
- void unlockUpdates (void);
-
- private:
- struct ImplScreenUpdater;
- boost::scoped_ptr<ImplScreenUpdater> mpImpl;
-
- };
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SCREENUPDATER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/shape.hxx b/slideshow/source/inc/shape.hxx
deleted file mode 100644
index 74ea15921..000000000
--- a/slideshow/source/inc/shape.hxx
+++ /dev/null
@@ -1,276 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SHAPE_HXX
-#define INCLUDED_SLIDESHOW_SHAPE_HXX
-
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/drawing/XShape.hpp>
-#include <com/sun/star/drawing/XDrawPage.hpp>
-
-#include <basegfx/range/b2drectangle.hxx>
-
-#include "viewlayer.hxx"
-
-#include <boost/shared_ptr.hpp>
-#include <boost/noncopyable.hpp>
-#include <set>
-#include <vector>
-
-namespace basegfx {
- class B2DRange;
-}
-
-namespace slideshow
-{
- namespace internal
- {
- // forward declaration necessary, because methods use ShapeSharedPtr
- class Shape;
-
- typedef ::boost::shared_ptr< Shape > ShapeSharedPtr;
-
- /** Represents a slide's shape object.
-
- This interface represents the view-independent aspects of a
- slide's shape, providing bound rect, underlying XShape and
- basic paint methods.
- */
- class Shape : private boost::noncopyable
- {
- public:
- virtual ~Shape() {}
-
- /** Get the associated XShape of this shape.
-
- @return the associated XShape. If this method returns
- an empty reference, this object might be one of the
- special-purpose shapes of a slide, which have no
- direct corresponding XShape (the background comes to
- mind here).
- */
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape > getXShape() const = 0;
-
-
- // View layer methods
- //------------------------------------------------------------------
-
- /** Add a new view layer.
-
- This method adds a new view layer, this shape shall
- show itself on.
-
- @param rNewLayer
- New layer to show on
-
- @param bRedrawLayer
- Redraw shape on given layer
- */
- virtual void addViewLayer( const ViewLayerSharedPtr& rNewLayer,
- bool bRedrawLayer ) = 0;
-
- /** Withdraw the shape from a view layer
-
- This method removes the shape from the given view
- layer.
-
- @return true, if the shape was successfully removed
- */
- virtual bool removeViewLayer( const ViewLayerSharedPtr& rNewLayer ) = 0;
-
- /** Withdraw all view layers at once
-
- This method will be faster than repeated
- removeViewLayer() calls.
- */
- virtual bool clearAllViewLayers() = 0;
-
- // render methods
- //------------------------------------------------------------------
-
- /** Update the shape
-
- This method updates the Shape on all registered view
- layers, but only if shape content has actually
- changed.
-
- @return whether the update finished successfully.
- */
- virtual bool update() const = 0;
-
- /** Render the shape.
-
- This method renders the shape on all registered view
- layers, regardless of whether shape content has
- changed or not.
-
- @return whether the rendering finished successfully.
- */
- virtual bool render() const = 0;
-
- /** Query whether shape content changed
-
- This method returns true, if shape content changed
- since the last rendering (i.e. the shape needs an
- update to reflect that changed content on the views).
- */
- virtual bool isContentChanged() const = 0;
-
-
- // Shape attributes
- //------------------------------------------------------------------
-
- /** Get the current shape position and size.
-
- This method yields the currently effective shape
- bounds (which might change over time, for animated
- shapes). Please note that possibly shape rotations
- from its original document state must not be taken
- into account here: if you need the screen bounding
- box, use getUpdateArea() instead. Note further that
- shape rotations, which are already contained in the
- shape as displayed in the original document
- <em>are</em> included herein (we currently take the
- shape as-is from the document, assuming a rotation
- angle of 0).
- */
- virtual ::basegfx::B2DRange getBounds() const = 0;
-
- /** Get the DOM position and size of the shape.
-
- This method yields the underlying DOM shape bounds,
- i.e. the original shape bounds from the document
- model. This value is <em>always</em> unaffected by any
- animation activity. Note that shape rotations, which
- are already contained in the shape as displayed in the
- original document are already included herein (we
- currently take the shape as-is from the document,
- assuming a rotation angle of 0).
- */
- virtual ::basegfx::B2DRange getDomBounds() const = 0;
-
- /** Get the current shape update area.
-
- This method yields the currently effective update area
- for the shape, i.e. the area that needs to be updated,
- should the shape be painted. Normally, this will be
- the (possibly rotated and sheared) area returned by
- getBounds().
- */
- virtual ::basegfx::B2DRange getUpdateArea() const = 0;
-
- /** Query whether the shape is visible at all.
-
- @return true, if this shape is visible, false
- otherwise.
- */
- virtual bool isVisible() const = 0;
-
- /** Get the shape priority.
-
- The shape priority defines the relative order of the
- shapes on the slide.
-
- @return the priority. Will be in the [0,+infty) range.
- */
- virtual double getPriority() const = 0;
-
- /** Query whether the Shape is currently detached from the
- background.
-
- This method checks whether the Shape is currently
- detached from the slide background, i.e. whether shape
- updates affect the underlying slide background or
- not. A shape that returnes true here must not alter
- slide content in any way when called render() or
- update() (this is normally achieved by making this
- shape a sprite).
- */
- virtual bool isBackgroundDetached() const = 0;
-
- // Misc
- //------------------------------------------------------------------
-
- /** Functor struct, for shape ordering
-
- This defines a strict weak ordering of shapes, primary
- sort key is the shape priority, and secondy sort key
- the object ptr value. Most typical use is for
- associative containers holding shapes (and which also
- have to maintain something like a paint order).
- */
- struct lessThanShape
- {
- // make functor adaptable (to boost::bind)
- typedef bool result_type;
-
- // since the ZOrder property on the XShape has somewhat
- // peculiar attributes (it's basically the index of the shapes
- // in the drawing layer's SdrObjList - which means, it starts
- // from 0 for children of group objects), we cannot use it to determine
- // drawing order. Thus, we rely on importer-provided order values here,
- // which is basically a running counter during shape import (i.e. denotes
- // the order of shape import). This is the correct order, at least for the
- // current drawing core.
- //
- // If, someday, the above proposition is no longer true, one directly use
- // the shape's ZOrder property
- //
- static bool compare(const Shape* pLHS, const Shape* pRHS)
- {
- const double nPrioL( pLHS->getPriority() );
- const double nPrioR( pRHS->getPriority() );
-
- // if prios are equal, tie-break on ptr value
- return nPrioL == nPrioR ? pLHS < pRHS : nPrioL < nPrioR;
- }
-
- bool operator()(const ShapeSharedPtr& rLHS, const ShapeSharedPtr& rRHS) const
- {
- return compare(rLHS.get(),rRHS.get());
- }
-
- bool operator()(const Shape* pLHS, const Shape* pRHS) const
- {
- return compare(pLHS, pRHS);
- }
- };
- };
-
- typedef ::boost::shared_ptr< Shape > ShapeSharedPtr;
-
- /** A set which contains all shapes in an ordered fashion.
- */
- typedef ::std::set< ShapeSharedPtr, Shape::lessThanShape > ShapeSet;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SHAPE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/shapeattributelayer.hxx b/slideshow/source/inc/shapeattributelayer.hxx
deleted file mode 100644
index 73346430a..000000000
--- a/slideshow/source/inc/shapeattributelayer.hxx
+++ /dev/null
@@ -1,559 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SHAPEATTRIBUTELAYER_HXX
-#define INCLUDED_SLIDESHOW_SHAPEATTRIBUTELAYER_HXX
-
-#include <com/sun/star/drawing/FillStyle.hpp>
-#include <com/sun/star/drawing/LineStyle.hpp>
-#include <com/sun/star/awt/FontSlant.hpp>
-
-#include <basegfx/vector/b2dsize.hxx>
-#include <basegfx/point/b2dpoint.hxx>
-#include <basegfx/range/b2drectangle.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-
-#include "state.hxx"
-#include "rgbcolor.hxx"
-
-#include <stack>
-#include <boost/shared_ptr.hpp>
-
-
-namespace slideshow
-{
- namespace internal
- {
- class ShapeAttributeLayer;
-
- typedef ::boost::shared_ptr< ShapeAttributeLayer > ShapeAttributeLayerSharedPtr;
-
- /** Encapsulates all modifiable attributes of a shape.
-
- This class holds all modifiable attributes of a shape, and
- at the same time provides means to layer attributes on top
- of each other..
-
- And yes, there's a reason why we even pass bools and ints
- by const reference. Namely, that makes the set* methods
- differ only in the value type, which greatly reduces
- template variability (e.g. in AnimationFactory).
- */
- class ShapeAttributeLayer
- {
- public:
- /** Create a ShapeAttributeLayer instance, with all
- attributes set to default.
-
- Furthermore, this constructor gets a pointer to a
- child layer, which is used as the fallback (or the
- base value) for all attributes
-
- @param rChildLayer
- Layer below this one
-
- @attention
- This method is only supposed to be called from Shape objects
- */
- explicit ShapeAttributeLayer( const ShapeAttributeLayerSharedPtr& rChildLayer );
-
- // Children management methods
- //------------------------------------------------------------------
-
- /** Revoke the given layer.
-
- This method revokes the given layer from this object
- or one of the children. That is, if this object does
- have children, and the given layer is no direct child,
- it is recursively passed to the children for removal.
-
- @return true, if removal was successful.
-
- @attention
- This method is only supposed to be called from Shape objects
- */
- bool revokeChildLayer( const ShapeAttributeLayerSharedPtr& rChildLayer );
-
- /** Query the child layer of this object.
-
- @attention
- This method is only supposed to be called from Shape objects
- */
- ShapeAttributeLayerSharedPtr getChildLayer() const;
-
- /** Set the additive mode for possible child attributes
-
- This method sets the additive mode for child
- attributes. That is the way underlying attribute
- layers are combined with this one (i.e. to overrule
- lower layers, or how to combine the values). The
- default is
- ::com::sun::star::animations::AnimationAdditiveMode::BASE,
- which means, take the value of the underlying layers,
- or from the model shape itself.
-
- @param nMode
- Must be one of
- ::com::sun::star::animations::AnimationAdditiveMode.
- */
- void setAdditiveMode( sal_Int16 nMode );
-
- // Attribute methods
- //------------------------------------------------------------------
-
- /** Query whether the width attribute is valid.
- */
- bool isWidthValid() const;
- /** Query the current width of the shape
- */
- double getWidth() const;
- /** Set the new width of the shape
-
- @param rNewWidth
- A negative width mirrors the shape.
- */
- void setWidth( const double& rNewWidth );
-
- /** Query whether the height attribute is valid.
- */
- bool isHeightValid() const;
- /** Query the current height of the shape
- */
- double getHeight() const;
- /** Set the new height of the shape
-
- @param rNewHeight
- A negative height mirrors the shape.
- */
- void setHeight( const double& rNewHeight );
-
- /** Set the new size of the shape
-
- @param rNewSize
- A negative size mirrors the shape.
- */
- void setSize( const ::basegfx::B2DSize& rNewSize );
-
- /** Query whether the x position attribute is valid
- */
- bool isPosXValid() const;
- /** Query the current x position of the shape.
-
- The current x position of the shape is always relative
- to the <em>center</em> of the shape (in contrast to
- the Shape::getBounds() and Shape::getUpdateArea()
- methods).
- */
- double getPosX() const;
- /** Set the new x position of the shape
-
- The current x position of the shape is always relative
- to the <em>center</em> of the shape (in contrast to
- the Shape::getBounds() and Shape::getUpdateArea()
- methods).
- */
- void setPosX( const double& rNewX );
-
- /** Query whether the y position attribute is valid
- */
- bool isPosYValid() const;
- /** Query the current y position of the shape
-
- The current y position of the shape is always relative
- to the <em>center</em> of the shape (in contrast to
- the Shape::getBounds() and Shape::getUpdateArea()
- methods).
- */
- double getPosY() const;
- /** Set the new y position of the shape
-
- The current y position of the shape is always relative
- to the <em>center</em> of the shape (in contrast to
- the Shape::getBounds() and Shape::getUpdateArea()
- methods).
- */
- void setPosY( const double& rNewY );
-
- /** Set the new position of the shape
-
- The current position of the shape is always relative
- to the <em>center</em> of the shape (in contrast to
- the Shape::getBounds() and Shape::getUpdateArea()
- methods).
- */
- void setPosition( const ::basegfx::B2DPoint& rNewPos );
-
- /** Query whether the rotation angle attribute is valid
- */
- bool isRotationAngleValid() const;
- /** Query the current rotation angle of the shape
-
- @return the rotation angle in degrees.
- */
- double getRotationAngle() const;
- /** Set the new rotation angle of the shape
-
- @param rNewAngle
- New rotation angle in degrees.
- */
- void setRotationAngle( const double& rNewAngle );
-
- /** Query whether the shear x angle attribute is valid
- */
- bool isShearXAngleValid() const;
- /** Query the current shear angle at the x axis of the shape
-
- @return the shear angle in degrees.
- */
- double getShearXAngle() const;
- /** Set the new shear angle at the x axis of the shape
-
- @param rNewAngle
- New shear angle in radians.
- */
- void setShearXAngle( const double& rNewAngle );
-
- /** Query whether the shear y angle attribute is valid
- */
- bool isShearYAngleValid() const;
- /** Query the current shear angle at the y axis of the shape
-
- @return the shear angle in degrees.
- */
- double getShearYAngle() const;
- /** Set the new shear angle at the y axis of the shape
-
- @param rNewAngle
- New shear angle in radians.
- */
- void setShearYAngle( const double& rNewAngle );
-
- /** Query whether the alpha attribute is valid
- */
- bool isAlphaValid() const;
- /** Query the current alpha value of the shape
- */
- double getAlpha() const;
- /** Set the new alpha value of the shape
-
- @param rNewValue
- New alpha value, must be in the [0,1] range
- */
- void setAlpha( const double& rNewValue );
-
- /** Query whether the clip attribute is valid
- */
- bool isClipValid() const;
- /** Query the current clip polygon of the shape
- */
- ::basegfx::B2DPolyPolygon getClip() const;
- /** Set the new clip polygon of the shape
-
- @param rNewClip
- New clip polygon, is interpreted in shape view coordinates, but
- relative to the shape (i.e. the origin of the shape coincides
- with the origin of the clip polygon).
- */
- void setClip( const ::basegfx::B2DPolyPolygon& rNewClip );
-
- /** Query whether the dim color attribute is valid
-
- The dim color globally 'dims' the shape towards that
- color
- */
- bool isDimColorValid() const;
- /** Get the dim color for the whole shape.
- */
- RGBColor getDimColor() const;
- /** Set the dim color globally for the whole shape.
- */
- void setDimColor( const RGBColor& nNewColor );
-
- /** Query whether the fill color attribute is valid
- */
- bool isFillColorValid() const;
- /** Get the fill color for the whole shape.
-
- If there's no unique fill color, the color from the
- first filled polygon is returned.
- */
- RGBColor getFillColor() const;
- /** Set the fill color globally for the whole shape.
- */
- void setFillColor( const RGBColor& nNewColor );
-
- /** Query whether the line color attribute is valid
- */
- bool isLineColorValid() const;
- /** Get the line color for the whole shape.
-
- If there's no unique line color, the color from the
- first line is returned.
- */
- RGBColor getLineColor() const;
- /** Set the line color globally for the whole shape.
- */
- void setLineColor( const RGBColor& nNewColor );
-
- /** Query whether the fill mode attribute is valid
- */
- bool isFillStyleValid() const;
- /** Get the current fill mode for polygon fillings.
-
- @returns the current style
- */
- sal_Int16 getFillStyle() const;
- /** Changes polygon fillings.
- */
- void setFillStyle( const sal_Int16& rStyle );
-
- /** Query whether the line mode attribute is valid
- */
- bool isLineStyleValid() const;
- /** Get the current line mode for line drawing.
-
- @returns the current line style
- */
- sal_Int16 getLineStyle() const;
- /** Set line style for the whole shape
- */
- void setLineStyle( const sal_Int16& rStyle );
-
- /** Query whether the visibility state attribute is valid
- */
- bool isVisibilityValid() const;
- /** Get the current shape visibility.
-
- @returns true for visible, false for invisible.
- */
- bool getVisibility() const;
- /** Set the shape visibility
- */
- void setVisibility( const bool& bVisible );
-
- /** Query whether the char color attribute is valid
- */
- bool isCharColorValid() const;
- /** Get the text color for the whole shape.
-
- If there's no unique text color, the color from the
- first text drawn is returned.
- */
- RGBColor getCharColor() const;
- /** Set the text color globally for the whole shape.
- */
- void setCharColor( const RGBColor& nNewColor );
-
- /** Query whether the char rotation angle attribute is valid
- */
- bool isCharRotationAngleValid() const;
- /** Query the current text rotation angle of the shape
-
- @return the text rotation angle in degrees.
- */
- double getCharRotationAngle() const;
- /** Set the new text rotation angle of the shape
-
- @param rNewAngle
- New text rotation angle in degrees.
- */
- void setCharRotationAngle( const double& rNewAngle );
-
- /** Query whether the char weight attribute is valid
- */
- bool isCharWeightValid() const;
- /** Get the current char weight value for the whole shape.
-
- @returns the value for the char weight. The value must
- be out of the ::com::sun::star::awt::FontWeight
- constant group.
- */
- double getCharWeight() const;
- /** Set the char weight globally for the whole shape.
-
- The value must be out of the
- ::com::sun::star::awt::FontWeight constant group.
- */
- void setCharWeight( const double& rStyle );
-
- /** Query whether the underline mode attribute is valid
- */
- bool isUnderlineModeValid() const;
- /** Get the current text underline status for the whole shape.
-
- If there is no unique underline status, false is returned.
-
- @returns true for underlined text, false for normal.
- */
- sal_Int16 getUnderlineMode() const;
- /** Set the underline status globally for the whole shape
- */
- void setUnderlineMode( const sal_Int16& bUnderline );
-
- /** Query whether the font family attribute is valid
- */
- bool isFontFamilyValid() const;
- /** Get the current text font family for the whole shape.
-
- If there is no unique font family, the font family of
- the first text of the shape is returned.
- */
- ::rtl::OUString getFontFamily() const;
- /** Set the text font family name globally for the whole shape
- */
- void setFontFamily( const ::rtl::OUString& rName );
-
- /** Query whether the italic mode attribute is valid
- */
- bool isCharPostureValid() const;
- /** Get the current text italic style for the whole shape.
-
- @returns the italic style. The value returned is one
- of the ::com::sun::star::awt::FontSlant enums
- */
- sal_Int16 getCharPosture() const;
- /** Set the italic style globally for the whole shape.
-
- The value must be one of the
- ::com::sun::star::awt::FontSlant enums.
- */
- void setCharPosture( const sal_Int16& rStyle );
-
- /** Query whether the char scaling attribute is valid
- */
- bool isCharScaleValid() const;
- /** Query the current char scaling attribute globally for
- the shape.
-
- The char scaling changes the scale of the whole shape
- text (uniformely, i.e. both in x and in y direction).
- */
- double getCharScale() const;
- /** Set the new char scale globally for the shape
-
- @param rNewScale
- New char scale
- */
- void setCharScale( const double& rNewScale );
-
- // State change query methods
- // ==========================
-
- State::StateId getTransformationState() const;
- State::StateId getClipState() const;
- State::StateId getAlphaState() const;
- State::StateId getPositionState() const;
- State::StateId getContentState() const;
- State::StateId getVisibilityState() const;
-
- private:
- // default copy/assignment operator is okay
- // ShapeAttributeLayer(const ShapeAttributeLayer&);
- // ShapeAttributeLayer& operator=( const ShapeAttributeLayer& );
-
- bool haveChild() const { return mpChild; }
- void updateStateIds();
-
- template< typename T > T calcValue( const T& rCurrValue,
- bool bThisInstanceValid,
- bool (ShapeAttributeLayer::*pIsValid)() const,
- T (ShapeAttributeLayer::*pGetValue)() const ) const;
-
- ShapeAttributeLayerSharedPtr mpChild; // may be NULL
-
- ::basegfx::B2DSize maSize;
- ::basegfx::B2DPoint maPosition;
- ::basegfx::B2DPolyPolygon maClip;
-
- ::rtl::OUString maFontFamily;
-
- double mnRotationAngle;
- double mnShearXAngle;
- double mnShearYAngle;
- double mnAlpha;
- double mnCharRotationAngle;
- double mnCharScale;
- double mnCharWeight;
-
- ::com::sun::star::drawing::FillStyle meFillStyle;
- ::com::sun::star::drawing::LineStyle meLineStyle;
- ::com::sun::star::awt::FontSlant meCharPosture;
- sal_Int16 mnUnderlineMode;
-
- RGBColor maDimColor;
- RGBColor maFillColor;
- RGBColor maLineColor;
- RGBColor maCharColor;
-
- State::StateId mnTransformationState;
- State::StateId mnClipState;
- State::StateId mnAlphaState;
- State::StateId mnPositionState;
- State::StateId mnContentState;
- State::StateId mnVisibilityState;
-
- sal_Int16 mnAdditiveMode;
-
- bool mbVisibility : 1;
-
- bool mbWidthValid : 1;
- bool mbHeightValid : 1;
- bool mbPosXValid : 1;
- bool mbPosYValid : 1;
- bool mbClipValid : 1;
-
- bool mbFontFamilyValid : 1;
-
- bool mbRotationAngleValid : 1;
- bool mbShearXAngleValid : 1;
- bool mbShearYAngleValid : 1;
-
- bool mbAlphaValid : 1;
-
- bool mbCharRotationAngleValid: 1;
- bool mbCharScaleValid : 1;
-
- bool mbDimColorValid : 1;
- bool mbFillColorValid : 1;
- bool mbLineColorValid : 1;
- bool mbCharColorValid : 1;
-
- bool mbFillStyleValid : 1;
- bool mbLineStyleValid : 1;
- bool mbCharWeightValid : 1;
- bool mbUnderlineModeValid : 1;
- bool mbCharPostureValid : 1;
- bool mbVisibilityValid : 1;
- };
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SHAPEATTRIBUTELAYER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/shapeattributelayerholder.hxx b/slideshow/source/inc/shapeattributelayerholder.hxx
deleted file mode 100644
index 989e306bd..000000000
--- a/slideshow/source/inc/shapeattributelayerholder.hxx
+++ /dev/null
@@ -1,113 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SHAPEATTRIBUTELAYERHOLDER_HXX
-#define INCLUDED_SLIDESHOW_SHAPEATTRIBUTELAYERHOLDER_HXX
-
-#include "attributableshape.hxx"
-#include "shapeattributelayer.hxx"
-
-#include <boost/noncopyable.hpp>
-
-namespace slideshow
-{
- namespace internal
- {
- /** Holds a ShapeAttributeLayer, together with the associated
- Shape
-
- Use this class to hold ShapeAttributeLayer objects the
- RAII way. When this object gets deleted, it will
- automatically revoke the attribute layer for the given
- shape (this encapsulates the somewhat clumsy notification
- process that is required for shape and attribute layer
- interaction).
- */
- class ShapeAttributeLayerHolder : private boost::noncopyable
- {
- public:
- /** Create a ShapeAttributeLayerHolder instance.
-
- This constructor creates an empty attribute holder, to
- generate an attribute layer, you have to manually call
- createAttributeLayer().
- */
- ShapeAttributeLayerHolder() :
- mpShape(),
- mpAttributeLayer()
- {
- }
-
- ~ShapeAttributeLayerHolder()
- {
- reset(); // ensures that the last attribute layer is
- // correctly deregistered from the shape.
- }
-
- void reset()
- {
- if( mpShape && mpAttributeLayer )
- mpShape->revokeAttributeLayer( mpAttributeLayer );
- }
-
- /** This constructor receives a pointer to the Shape, from
- which attribute layers should be generated. Initially,
- this object does not create an attribute layer, you
- have to manually call createAttributeLayer().
-
- @param rShape
- Shape for which attribute layers should be generated.
- */
- bool createAttributeLayer( const AttributableShapeSharedPtr& rShape )
- {
- reset();
-
- mpShape = rShape;
-
- if( mpShape )
- mpAttributeLayer = mpShape->createAttributeLayer();
-
- return mpAttributeLayer;
- }
-
- ShapeAttributeLayerSharedPtr get() const
- {
- return mpAttributeLayer;
- }
-
- private:
- AttributableShapeSharedPtr mpShape;
- ShapeAttributeLayerSharedPtr mpAttributeLayer;
- };
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SHAPEATTRIBUTELAYERHOLDER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/shapecursoreventhandler.hxx b/slideshow/source/inc/shapecursoreventhandler.hxx
deleted file mode 100644
index 298ce67e1..000000000
--- a/slideshow/source/inc/shapecursoreventhandler.hxx
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SHAPECURSOREVENTHANDLER_HXX
-#define INCLUDED_SLIDESHOW_SHAPECURSOREVENTHANDLER_HXX
-
-#include <com/sun/star/uno/Reference.hxx>
-#include <boost/shared_ptr.hpp>
-
-namespace com { namespace sun { namespace star { namespace drawing
-{
- class XShape;
-} } } }
-
-/* Definition of ShapeCursorEventHandler interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Interface for handling view events.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle view events.
- */
- class ShapeCursorEventHandler
- {
- public:
- virtual ~ShapeCursorEventHandler() {}
-
- virtual bool cursorChanged( const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape>& xShape,
- sal_Int16 nCursor ) = 0;
- };
-
- typedef ::boost::shared_ptr< ShapeCursorEventHandler > ShapeCursorEventHandlerSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SHAPECURSOREVENTHANDLER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/shapeimporter.hxx b/slideshow/source/inc/shapeimporter.hxx
deleted file mode 100644
index 384f35b69..000000000
--- a/slideshow/source/inc/shapeimporter.hxx
+++ /dev/null
@@ -1,160 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef INCLUDED_SLIDESHOW_SHAPEIMPORTER_HXX
-#define INCLUDED_SLIDESHOW_SHAPEIMPORTER_HXX
-
-#include <com/sun/star/drawing/XDrawPage.hpp>
-#include <com/sun/star/drawing/XShapes.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/drawing/XLayer.hpp>
-#include "unoviewcontainer.hxx"
-#include "unoview.hxx"
-
-#include "shape.hxx"
-
-#include <stack>
-
-namespace slideshow {
-namespace internal {
-
-struct SlideShowContext;
-
-typedef ::std::vector< ::cppcanvas::PolyPolygonSharedPtr> PolyPolygonVector;
-typedef ::boost::shared_ptr< UnoView > UnoViewSharedPtr;
-typedef ::std::vector< UnoViewSharedPtr > UnoViewVector;
-
-/** This class imports all shapes from a given XShapes object
- */
-class ShapeImporter
-{
-public:
- /** Create shape importer.
-
- @param xPage
- Page containing the shapes
-
- @param xActualPage
- Actual page that's imported - if xPage is a master
- page, this argument must refer to the using, i.e the
- page that embeds this specific masterpage. Otherwise,
- this argument is probably equal to xPage.
-
- @param nOrdNumStart
- Each shape receives a z order number, in order of
- import (which relies on the fact that the API returns
- the shapes in draw order - which it does,
- currently). Since we might mix several pages on screen
- (e.g. master page and foreground page), this value can
- be used as an offset to distinguish those pages.
-
- @param bConvertingMasterPage
- When true, then the master page is imported. Otherwise, this
- object imports the draw page.
- */
- ShapeImporter( const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPage >& xPage,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPage >& xActualPage,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPagesSupplier>& xPagesSupplier,
- const SlideShowContext& rContext,
- sal_Int32 nOrdNumStart,
- bool bConvertingMasterPage );
-
- /** This method imports the presentation background shape
- */
- ShapeSharedPtr importBackgroundShape(); // throw (ShapeLoadFailedException)
-
- /** This method imports presentation-visible shapes (and skips all others).
-
- @return the generated Shape, or NULL for no more shapes.
- */
- ShapeSharedPtr importShape(); // throw (ConversionFailedException)
-
- /** Test whether import is done.
-
- @return true, if all shapes are imported via the
- importShape() call.
- */
- bool isImportDone() const;
- PolyPolygonVector getPolygons();
-
- double getImportedShapesCount() { return mnAscendingPrio; }
-private:
- bool isSkip( ::com::sun::star::uno::Reference<
- ::com::sun::star::beans::XPropertySet> const& xPropSet,
- ::rtl::OUString const& shapeType,
- ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XLayer> const& xLayer);
-
- ShapeSharedPtr createShape(
- ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape> const& xCurrShape,
- ::com::sun::star::uno::Reference<
- ::com::sun::star::beans::XPropertySet> const& xPropSet,
- ::rtl::OUString const& shapeType ) const;
-
- void importPolygons(::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > const& xPropSet) ;
-
- struct XShapesEntry
- {
- ShapeSharedPtr const mpGroupShape;
- ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShapes> const mxShapes;
- sal_Int32 const mnCount;
- sal_Int32 mnPos;
-
- explicit XShapesEntry( ShapeSharedPtr const& pGroupShape )
- : mpGroupShape(pGroupShape),
- mxShapes( pGroupShape->getXShape(),
- ::com::sun::star::uno::UNO_QUERY_THROW ),
- mnCount(mxShapes->getCount()), mnPos(0) {}
- explicit XShapesEntry( ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShapes> const& xShapes )
- : mpGroupShape(), mxShapes(xShapes),
- mnCount(xShapes->getCount()), mnPos(0) {}
- };
- typedef ::std::stack<XShapesEntry> XShapesStack;
-
- ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPage> mxPage;
- ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPagesSupplier> mxPagesSupplier;
- const SlideShowContext& mrContext;
- PolyPolygonVector maPolygons;
- XShapesStack maShapesStack;
- double mnAscendingPrio;
- bool mbConvertingMasterPage;
-};
-
-} // namespace internal
-} // namespace presentation
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/shapelistenereventhandler.hxx b/slideshow/source/inc/shapelistenereventhandler.hxx
deleted file mode 100644
index df8b63f80..000000000
--- a/slideshow/source/inc/shapelistenereventhandler.hxx
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SHAPELISTENEREVENTHANDLER_HXX
-#define INCLUDED_SLIDESHOW_SHAPELISTENEREVENTHANDLER_HXX
-
-#include <com/sun/star/uno/Reference.hxx>
-#include <boost/shared_ptr.hpp>
-
-namespace com { namespace sun { namespace star { namespace drawing
-{
- class XShape;
-} namespace presentation {
- class XShapeEventListener;
-} } } }
-
-/* Definition of ShapeListenerEventHandler interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Interface for handling view events.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle view events.
- */
- class ShapeListenerEventHandler
- {
- public:
- virtual ~ShapeListenerEventHandler() {}
-
- virtual bool listenerAdded( const ::com::sun::star::uno::Reference<
- ::com::sun::star::presentation::XShapeEventListener>& xListener,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape>& xShape ) = 0;
-
- virtual bool listenerRemoved( const ::com::sun::star::uno::Reference<
- ::com::sun::star::presentation::XShapeEventListener>& xListener,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape>& xShape ) = 0;
- };
-
- typedef ::boost::shared_ptr< ShapeListenerEventHandler > ShapeListenerEventHandlerSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SHAPELISTENEREVENTHANDLER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/shapemanager.hxx b/slideshow/source/inc/shapemanager.hxx
deleted file mode 100644
index b67904600..000000000
--- a/slideshow/source/inc/shapemanager.hxx
+++ /dev/null
@@ -1,128 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SHAPEMANAGER_HXX
-#define INCLUDED_SLIDESHOW_SHAPEMANAGER_HXX
-
-#include "disposable.hxx"
-#include <com/sun/star/uno/Reference.hxx>
-#include <boost/shared_ptr.hpp>
-
-namespace com { namespace sun { namespace star { namespace drawing {
- class XShape;
-} } } }
-
-/* Definition of ShapeManager interface */
-
-namespace slideshow
-{
- namespace internal
- {
- class HyperlinkArea;
- class AnimatableShape;
- class Shape;
-
- /** ShapeManager interface
-
- Implementers of this interface manage appearance and
- animation of slideshow shapes.
- */
- class ShapeManager : public Disposable
- {
- public:
- /** Notify the ShapeManager that the given Shape starts an
- animation now.
-
- This method enters animation mode for the Shape. If
- the shape is already in animation mode, the call is
- counted, and the shape only leaves animation mode
- after a corresponding number of leaveAnimationMode()
- calls.
- */
- virtual void enterAnimationMode( const boost::shared_ptr<AnimatableShape>& rShape ) = 0;
-
- /** Notify the ShapeManager that the given Shape is no
- longer animated.
-
- When called a corresponding number of times as
- enterAnimationMode() for a given shape, this methods
- ends animation mode for the given Shape. It is illegal
- to call this method more often than
- enterAnimationMode().
- */
- virtual void leaveAnimationMode( const boost::shared_ptr<AnimatableShape>& rShape ) = 0;
-
- /** Notify that a shape needs an update
-
- This method notifies the ShapeManager that a shape
- update is necessary. Use this if e.g. a running
- animation changed the shape appearance.
-
- @param rShape
- Shape which needs an update
- */
- virtual void notifyShapeUpdate( const boost::shared_ptr<Shape>& rShape ) = 0;
-
- /** Lookup a Shape from an XShape model object
-
- This method looks up the internal shape map for one
- representing the given XShape.
-
- @param xShape
- The XShape object, for which the representing Shape
- should be looked up.
- */
- virtual boost::shared_ptr<Shape> lookupShape(
- ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape > const & xShape ) const = 0;
-
- /** Register given shape as a hyperlink target
-
- @param rArea
- Hyperlink sensitive area. Will participate in
- hyperlink region lookup. Must be in absolute user
- space coordinates.
- */
- virtual void addHyperlinkArea( const boost::shared_ptr<HyperlinkArea>& rArea ) = 0;
-
- /** Unregister given shape as a hyperlink target
-
- @param rArea
- Hyperlink sensitive area. Will cease to participate in
- hyperlink region lookup.
- */
- virtual void removeHyperlinkArea( const boost::shared_ptr<HyperlinkArea>& rArea ) = 0;
- };
-
- typedef ::boost::shared_ptr< ShapeManager > ShapeManagerSharedPtr;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SHAPEMANAGER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/shapemaps.hxx b/slideshow/source/inc/shapemaps.hxx
deleted file mode 100644
index a6987a46c..000000000
--- a/slideshow/source/inc/shapemaps.hxx
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SHAPEMAPS_HXX
-#define INCLUDED_SLIDESHOW_SHAPEMAPS_HXX
-
-#include <cppuhelper/interfacecontainer.h>
-#include <com/sun/star/uno/Reference.hxx>
-
-#include <boost/shared_ptr.hpp>
-#include <map>
-
-namespace com { namespace sun { namespace star { namespace drawing
-{
- class XShape;
-} } } }
-
-/* Definition of two shape maps */
-
-namespace slideshow
-{
- namespace internal
- {
- /// Maps XShape to shape listener
- typedef ::std::map< ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape>,
- boost::shared_ptr< ::cppu::OInterfaceContainerHelper >
- > ShapeEventListenerMap;
-
- /// Maps XShape to mouse cursor
- typedef ::std::map< ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape>,
- sal_Int16> ShapeCursorMap;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SHAPEMAPS_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/shapesubset.hxx b/slideshow/source/inc/shapesubset.hxx
deleted file mode 100644
index 2ae2196c1..000000000
--- a/slideshow/source/inc/shapesubset.hxx
+++ /dev/null
@@ -1,153 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SHAPESUBSET_HXX
-#define INCLUDED_SLIDESHOW_SHAPESUBSET_HXX
-
-#include "attributableshape.hxx"
-#include "subsettableshapemanager.hxx"
-#include "doctreenode.hxx"
-
-#include <boost/shared_ptr.hpp>
-
-namespace slideshow
-{
- namespace internal
- {
- class ShapeSubset;
- typedef ::boost::shared_ptr< ShapeSubset > ShapeSubsetSharedPtr;
-
- /* Definition of ShapeSubset class */
-
- /** Subset RAII wrapper for shapes.
-
- This class wraps the plain Shape with a wrapper for subset
- functionality. Subsetting can be turned on and off. Note
- that the reason to have shape subsetting RAII implemented
- separately (i.e. not within the DrawShape) was that
- subsetting (and de-subsetting) needs the
- SubsettableShapeManager. And holding that at the DrawShape
- creates one heck of a circular reference.
- */
- class ShapeSubset
- {
- public:
- /** Create a subset directly from a Shape.
-
- @param rOriginalShape
- Original shape to subset
-
- @param rTreeNode
- Subset this object should represent
-
- @param rShapeManager
- Manager object, where subsets are
- registered/unregistered
- */
- ShapeSubset( const AttributableShapeSharedPtr& rOriginalShape,
- const DocTreeNode& rTreeNode,
- const SubsettableShapeManagerSharedPtr& rSubsetManager );
-
- /** Create a subset from another subset.
-
- Note: if you want this subset to subtract from the
- passed subset reference (and not from the original,
- unsubsetted shape), the passed subset must be enabled
- (enableSubsetShape() must have been called)
-
- @param rOriginalSubset
- Original subset, which to subset again.
-
- @param rTreeNode
- Subset of the original subset
- */
- ShapeSubset( const ShapeSubsetSharedPtr& rOriginalSubset,
- const DocTreeNode& rTreeNode );
-
- /** Create full set for the given shape.
-
- @param rOriginalShape
- Original shape, which will be represented as a whole
- by this object
- */
- ShapeSubset( const AttributableShapeSharedPtr& rOriginalShape,
- const SubsettableShapeManagerSharedPtr& rShapeManager );
-
- ~ShapeSubset();
-
- /** Get the actual subset shape.
-
- If the subset is currently revoked, this method
- returns the original shape.
- */
- AttributableShapeSharedPtr getSubsetShape() const;
-
- /** Enable the subset shape.
-
- This method enables the subset. That means, on
- successful completion of this method, the original
- shape will cease to show the subset range, and
- getSubsetShape() will return a valid shape.
-
- @return true, if subsetting was successfully enabled.
- */
- bool enableSubsetShape();
-
- /** Disable the subset shape.
-
- This method revokes the subset from the original
- shape. That means, the original shape will again show
- the hidden range.
- */
- void disableSubsetShape();
-
- /** Query whether this subset actually is none, but
- contains the whole original shape's content
- */
- bool isFullSet() const;
-
- /** Query subset this object represents
- */
- DocTreeNode getSubset() const;
-
- private:
- // default copy/assignment are okay
- //ShapeSubset(const ShapeSubset&);
- //ShapeSubset& operator=( const ShapeSubset& );
-
- AttributableShapeSharedPtr mpOriginalShape;
- AttributableShapeSharedPtr mpSubsetShape;
- DocTreeNode maTreeNode;
- SubsettableShapeManagerSharedPtr mpShapeManager;
- };
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SHAPESUBSET_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/slide.hxx b/slideshow/source/inc/slide.hxx
deleted file mode 100644
index 39f991f67..000000000
--- a/slideshow/source/inc/slide.hxx
+++ /dev/null
@@ -1,225 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SLIDE_HXX
-#define INCLUDED_SLIDESHOW_SLIDE_HXX
-
-#include "shapemanager.hxx"
-#include "subsettableshapemanager.hxx"
-#include "unoviewcontainer.hxx"
-#include "slidebitmap.hxx"
-#include "shapemaps.hxx"
-
-#include <boost/shared_ptr.hpp>
-
-namespace com { namespace sun { namespace star {
- namespace drawing {
- class XDrawPage;
- class XDrawPagesSupplier;
- }
- namespace uno {
- class XComponentContext;
- }
- namespace animations {
- class XAnimationNode;
-} } } }
-
-namespace basegfx
-{
- class B2IVector;
-}
-
-/* Definition of Slide interface */
-
-namespace slideshow
-{
- namespace internal
- {
- class RGBColor;
- class ScreenUpdater;
- typedef ::std::vector< ::cppcanvas::PolyPolygonSharedPtr> PolyPolygonVector;
- class Slide
- {
- public:
- // Showing
- // -------------------------------------------------------------------
-
- /** Prepares to show slide.
-
- Call this method to reduce the timeout show(), and
- getInitialSlideBitmap() need to complete. If
- prefetch() is not called explicitely, the named
- methods will call it implicitely.
- */
- virtual bool prefetch() = 0;
-
- /** Shows the slide on all registered views
-
- After this call, the slide will render itself to the
- views, and start its animations.
-
- @param bSlideBackgoundPainted
- When true, the initial slide content on the background
- layer is already rendered (e.g. from a previous slide
- transition). When false, Slide renders initial content of
- slide.
- */
- virtual bool show( bool bSlideBackgoundPainted ) = 0;
-
- /** Force-ends the slide
-
- After this call, the slide has stopped all animations,
- and ceased rendering/visualization on all views.
- */
- virtual void hide() = 0;
-
-
- // Queries
- // -------------------------------------------------------------------
-
- /** Query the size of this slide in user coordinates
-
- This value is retrieved from the XDrawPage properties.
- */
- virtual basegfx::B2IVector getSlideSize() const = 0;
-
- /// Gets the underlying API page
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPage > getXDrawPage() const = 0;
-
- /// Gets the animation node.
- virtual ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimationNode > getXAnimationNode() const = 0;
-
- ///Gets the slide Polygons
- virtual PolyPolygonVector getPolygons() = 0;
-
- ///Draw the slide Polygons
- virtual void drawPolygons() const = 0;
-
- ///Check if paint overlay is already active
- virtual bool isPaintOverlayActive() const = 0;
-
- virtual void enablePaintOverlay() = 0;
- virtual void disablePaintOverlay() = 0;
-
- virtual void update_settings( bool bUserPaintEnabled, RGBColor const& aUserPaintColor, double dUserPaintStrokeWidth ) = 0;
-
- // Slide bitmaps
- // -------------------------------------------------------------------
-
- /** Request bitmap for current slide appearance.
-
- The bitmap returned by this method depends on the
- current state of the slide and the contained
- animations. A newly generated slide will return the
- initial slide content here (e.g. with all 'appear'
- effect shapes invisible), a slide whose effects are
- currently running will return a bitmap corresponding
- to the current position on the animation timeline, and
- a slide whose effects have all been run will generate
- a bitmap with the final slide appearance (e.g. with
- all 'hide' effect shapes invisible).
-
- @param rView
- View to retrieve bitmap for (note that the bitmap will
- have device-pixel equivalence to the content that
- would have been rendered onto the given view). Note
- that the view must have been added to this slide
- before via viewAdded().
- */
- virtual SlideBitmapSharedPtr
- getCurrentSlideBitmap( const UnoViewSharedPtr& rView ) const = 0;
- };
-
- typedef ::boost::shared_ptr< Slide > SlideSharedPtr;
-
- class EventQueue;
- class CursorManager;
- class EventMultiplexer;
- class ActivitiesQueue;
- class UserEventQueue;
- class RGBColor;
-
- /** Construct from XDrawPage
-
- The Slide object generally works in XDrawPage model
- coordinates, that is, the page will have the width and
- height as specified in the XDrawPage's property
- set. The top, left corner of the page will be rendered
- at (0,0) in the given canvas' view coordinate system.
-
- Does not render anything initially
-
- @param xDrawPage
- Page to display on this slide
-
- @param xRootNode
- Root of the SMIL animation tree. Used to animate the slide.
-
- @param rEventQueue
- EventQueue. Used to post events.
-
- @param rActivitiesQueue
- ActivitiesQueue. Used to run animations.
-
- @param rEventMultiplexer
- Event source
-
- @param rUserEventQueue
- UserEeventQueue
- */
- SlideSharedPtr createSlide( const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPage >& xDrawPage,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XDrawPagesSupplier >& xDrawPages,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimationNode >& xRootNode,
- EventQueue& rEventQueue,
- EventMultiplexer& rEventMultiplexer,
- ScreenUpdater& rScreenUpdater,
- ActivitiesQueue& rActivitiesQueue,
- UserEventQueue& rUserEventQueue,
- CursorManager& rCursorManager,
- const UnoViewContainer& rViewContainer,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::uno::XComponentContext >& xContext,
- const ShapeEventListenerMap& rShapeListenerMap,
- const ShapeCursorMap& rShapeCursorMap,
- const PolyPolygonVector& rPolyPolygonVector,
- RGBColor const& aUserPaintColor,
- double dUserPaintStrokeWidth,
- bool bUserPaintEnabled,
- bool bIntrinsicAnimationsAllowed,
- bool bDisableAnimationZOrder );
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SLIDE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/slidebitmap.hxx b/slideshow/source/inc/slidebitmap.hxx
deleted file mode 100644
index 5f7f5e4d6..000000000
--- a/slideshow/source/inc/slidebitmap.hxx
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SLIDEBITMAP_HXX
-#define INCLUDED_SLIDESHOW_SLIDEBITMAP_HXX
-
-#include <com/sun/star/uno/Reference.hxx>
-#include <cppcanvas/canvas.hxx>
-#include <cppcanvas/bitmap.hxx>
-
-#include <basegfx/point/b2dpoint.hxx>
-#include <basegfx/polygon/b2dpolypolygon.hxx>
-
-#include <boost/shared_ptr.hpp>
-#include <boost/noncopyable.hpp>
-
-namespace com { namespace sun { namespace star { namespace rendering
-{
- class XBitmap;
-} } } }
-
-
-/* Definition of SlideBitmap class */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Little wrapper encapsulating an XBitmap
-
- This is to insulate us from changes to the preferred
- transport format for bitmaps (using a sole XBitmap here is
- a hack, since it is not guaranteed to work, or to work
- without data loss, across different canvases). And since
- we don't want to revert to a VCL Bitmap here, have to wait
- until basegfx bitmap tooling is ready.
-
- TODO(F2): Add support for Canvas-independent bitmaps
- here. Then, Slide::getInitialSlideBitmap and
- Slide::getFinalSlideBitmap must also be adapted (they no
- longer need a Canvas ptr, which is actually a hack now).
- */
- class SlideBitmap : private boost::noncopyable
- {
- public:
- SlideBitmap( const ::cppcanvas::BitmapSharedPtr& rBitmap );
-
- bool draw( const ::cppcanvas::CanvasSharedPtr& rCanvas ) const;
- ::basegfx::B2ISize getSize() const;
- ::basegfx::B2DPoint getOutputPos() const{return maOutputPos;}
- void move( const ::basegfx::B2DPoint& rNewPos );
- void clip( const ::basegfx::B2DPolyPolygon& rClipPoly );
-
- ::com::sun::star::uno::Reference<
- ::com::sun::star::rendering::XBitmap > getXBitmap();
-
- private:
- ::basegfx::B2DPoint maOutputPos;
- ::basegfx::B2DPolyPolygon maClipPoly;
-
- // TODO(Q2): Remove UNO bitmap as the transport medium
- ::com::sun::star::uno::Reference<
- ::com::sun::star::rendering::XBitmap > mxBitmap;
- };
-
- typedef ::boost::shared_ptr< SlideBitmap > SlideBitmapSharedPtr;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SLIDEBITMAP_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/slideshowcontext.hxx b/slideshow/source/inc/slideshowcontext.hxx
deleted file mode 100644
index 72681993d..000000000
--- a/slideshow/source/inc/slideshowcontext.hxx
+++ /dev/null
@@ -1,121 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SLIDESHOWCONTEXT_HXX
-#define INCLUDED_SLIDESHOW_SLIDESHOWCONTEXT_HXX
-
-#include <com/sun/star/uno/Reference.hxx>
-#include <boost/shared_ptr.hpp>
-
-namespace com{ namespace sun{ namespace star{ namespace uno
-{
- class XComponentContext;
-}}}}
-
-
-namespace slideshow
-{
- namespace internal
- {
- class ShapeManager;
- class EventQueue;
- class ActivitiesQueue;
- class UserEventQueue;
- class EventMultiplexer;
- class ScreenUpdater;
- class UnoViewContainer;
- class CursorManager;
- class SubsettableShapeManager;
-
- /** Common arguments for slideshow objects.
-
- This struct combines a number of object references
- ubiquituously needed throughout the slideshow.
- */
- struct SlideShowContext
- {
- /** Common context for node creation
-
- @param rShapeManager
- ShapeManager, which handles all shapes
-
- @param rEventQueue
- Event queue, where time-based events are to be
- scheduled. A node must not schedule events there
- before it's not resolved.
-
- @param rEventMultiplexer
- Event multiplexer. Clients can register there for
- about any event that happens in the slideshow
-
- @param rScreenUpdater
- Screen updater. Gets notified of necessary screen
- updates.
-
- @param rActivitiesQueue
- Activities queue, where repeating activities are
- to be scheduled.
-
- @param rUserEventQueue
- User event queue
-
- @param rViewContainer
- Holds all views added to slideshow
-
- @param rComponentContext
- To create UNO services from
- */
- SlideShowContext( boost::shared_ptr<SubsettableShapeManager>& rSubsettableShapeManager,
- EventQueue& rEventQueue,
- EventMultiplexer& rEventMultiplexer,
- ScreenUpdater& rScreenUpdater,
- ActivitiesQueue& rActivitiesQueue,
- UserEventQueue& rUserEventQueue,
- CursorManager& rCursorManager,
- const UnoViewContainer& rViewContainer,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::uno::XComponentContext>& rComponentContext );
- void dispose();
-
- boost::shared_ptr<SubsettableShapeManager>& mpSubsettableShapeManager;
- EventQueue& mrEventQueue;
- EventMultiplexer& mrEventMultiplexer;
- ScreenUpdater& mrScreenUpdater;
- ActivitiesQueue& mrActivitiesQueue;
- UserEventQueue& mrUserEventQueue;
- CursorManager& mrCursorManager;
- const UnoViewContainer& mrViewContainer;
- ::com::sun::star::uno::Reference<
- ::com::sun::star::uno::XComponentContext> mxComponentContext;
- };
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SLIDESHOWCONTEXT_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/slideshowexceptions.hxx b/slideshow/source/inc/slideshowexceptions.hxx
deleted file mode 100644
index f0e1656f3..000000000
--- a/slideshow/source/inc/slideshowexceptions.hxx
+++ /dev/null
@@ -1,56 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SLIDESHOWEXCEPTIONS_HXX
-#define INCLUDED_SLIDESHOW_SLIDESHOWEXCEPTIONS_HXX
-
-
-namespace slideshow
-{
- class SlideShowException {};
-
- /** This exception is thrown, when the Shape class was not
- able to convert an API object into our internal
- representation.
- */
- struct ShapeLoadFailedException : public SlideShowException {};
-
- /** This exception is thrown, when the SMIL arithmetic expression
- parser failed to parse a string.
- */
- struct ParseError : public SlideShowException
- {
- ParseError() {}
- explicit ParseError( const char* ) {}
- };
-
-}
-
-#endif /* INCLUDED_SLIDESHOW_SLIDESHOWEXCEPTIONS_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/slideview.hxx b/slideshow/source/inc/slideview.hxx
deleted file mode 100644
index f791f15a1..000000000
--- a/slideshow/source/inc/slideview.hxx
+++ /dev/null
@@ -1,64 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SLIDEVIEW_HXX
-#define INCLUDED_SLIDESHOW_SLIDEVIEW_HXX
-
-#include "unoview.hxx"
-
-/* Definition of SlideView factory method */
-namespace slideshow
-{
- namespace internal
- {
- class EventQueue;
- class EventMultiplexer;
-
- /** Factory for SlideView
-
- @param xView
- UNO slide view this object should encapsulate
-
- @param rEventQueue
- Global event queue, to be used for notification
- messages.
-
- @param rViewChangeFunc
- Functor to call, when the UNO view signals a repaint.
- */
- UnoViewSharedPtr createSlideView(
- ::com::sun::star::uno::Reference<
- ::com::sun::star::presentation::XSlideShowView> const& xView,
- EventQueue& rEventQueue,
- EventMultiplexer& rEventMultiplexer );
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SLIDEVIEW_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/smilfunctionparser.hxx b/slideshow/source/inc/smilfunctionparser.hxx
deleted file mode 100644
index c99550ec6..000000000
--- a/slideshow/source/inc/smilfunctionparser.hxx
+++ /dev/null
@@ -1,170 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SMILFUNCTIONPARSER_HXX
-#define INCLUDED_SLIDESHOW_SMILFUNCTIONPARSER_HXX
-
-#include "expressionnode.hxx"
-#include "slideshowexceptions.hxx"
-
-#include <basegfx/range/b2drectangle.hxx>
-
-#include <boost/noncopyable.hpp>
-
-namespace rtl
-{
- class OUString;
-}
-
-/* Definition of SmilFunctionParser class */
-
-namespace slideshow
-{
- namespace internal
- {
- class SmilFunctionParser : private boost::noncopyable
- {
- public:
- /** Parse a string containing a SMIL value.
-
- This method parses a string representing
- a fixed value (i.e. a value that does not
- change by time). Due to the dynamic view
- capabilities of the presentation engine,
- this value can sometimes only be determined
- during runtime of the animation (because
- e.g. mixed screen/view coordinates are
- involved), and is thus still returned as an
- ExpressionNode object. An example for
- such a case is the "Width+1.0" string, which
- contains the width of the shape in user
- coordinate space, and the screen width
- in device coordinate space.
-
- The following grammar is accepted by this method:
- <code>
- identifier = 'pi'|'e'|'X'|'Y'|'Width'|'Height'
-
- function = 'abs'|'sqrt'|'sin'|'cos'|'tan'|'atan'|'acos'|'asin'|'exp'|'log'
-
- basic_expression =
- number |
- identifier |
- function '(' additive_expression ')' |
- '(' additive_expression ')'
-
- unary_expression =
- '-' basic_expression |
- basic_expression
-
- multiplicative_expression =
- unary_expression ( ( '*' unary_expression )* |
- ( '/' unary_expression )* )
-
- additive_expression =
- multiplicative_expression ( ( '+' multiplicative_expression )* |
- ( '-' multiplicative_expression )* )
-
- </code>
-
- @param rSmilValue
- The string to parse
-
- @param rRelativeShapeBounds
- The bounds of the shape this SMIL value is to be
- evaluated for. The bounds must be <em>relative</em> to
- the page the shape is part of, i.e. within the [0,1]
- range. This is necessary, since the string might
- contain symbolic references to the shape bounding box.
-
- @throws ParseError if an invalid expression is given.
-
- @return the generated function object.
- */
- static ExpressionNodeSharedPtr parseSmilValue( const ::rtl::OUString& rSmilValue,
- const ::basegfx::B2DRectangle& rRelativeShapeBounds ); // throw ParseError
-
- /** Parse a string containing a SMIL function.
-
- This method parses a string representing
- a possibly time-varying SMIL function.
-
- The following grammar is accepted by this method:
- <code>
- identifier = 't'|'pi'|'e'|'X'|'Y'|'Width'|'Height'
-
- function = 'abs'|'sqrt'|'sin'|'cos'|'tan'|'atan'|'acos'|'asin'|'exp'|'log'
-
- basic_expression =
- number |
- identifier |
- function '(' additive_expression ')' |
- '(' additive_expression ')'
-
- unary_expression =
- '-' basic_expression |
- basic_expression
-
- multiplicative_expression =
- unary_expression ( ( '*' unary_expression )* |
- ( '/' unary_expression )* )
-
- additive_expression =
- multiplicative_expression ( ( '+' multiplicative_expression )* |
- ( '-' multiplicative_expression )* )
-
- </code>
-
- @param rSmilFunction
- The string to parse
-
- @param rRelativeShapeBounds
- The bounds of the shape this SMIL value is to be
- evaluated for. The bounds must be <em>relative</em> to
- the page the shape is part of, i.e. within the [0,1]
- range. This is necessary, since the string might
- contain symbolic references to the shape bounding box.
-
- @throws ParseError if an invalid expression is given.
-
- @return the generated function object.
- */
- static ExpressionNodeSharedPtr parseSmilFunction( const ::rtl::OUString& rSmilFunction,
- const ::basegfx::B2DRectangle& rRelativeShapeBounds ); // throw ParseError
-
- private:
- // disabled constructor/destructor, since this is
- // supposed to be a singleton
- SmilFunctionParser();
- };
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SMILFUNCTIONPARSER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/soundplayer.hxx b/slideshow/source/inc/soundplayer.hxx
deleted file mode 100644
index edebe5f97..000000000
--- a/slideshow/source/inc/soundplayer.hxx
+++ /dev/null
@@ -1,121 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SOUNDPLAYER_HXX
-#define INCLUDED_SLIDESHOW_SOUNDPLAYER_HXX
-
-#include <rtl/ustring.hxx>
-
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <com/sun/star/media/XManager.hpp>
-#include <com/sun/star/media/XPlayer.hpp>
-
-#include <boost/shared_ptr.hpp>
-
-#include "pauseeventhandler.hxx"
-#include "disposable.hxx"
-#include "eventmultiplexer.hxx"
-
-
-/* Definition of SoundPlayer class */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Little class that plays a sound from a URL.
- TODO:
- Must be explicitly disposed (as long as enable_shared_ptr_from_this
- isn't available)!
- */
- class SoundPlayer : public PauseEventHandler,
- public Disposable
- {
- public:
- /** Create a sound player object.
-
- @param rSoundURL
- URL to a sound file.
-
- @param rComponentContext
- Reference to a component context, used to create the
- needed services
-
- @throws ::com::sun::star::lang::NoSupportException, if
- the sound file is invalid, or not supported by the
- player service.
- */
- static ::boost::shared_ptr<SoundPlayer> create(
- EventMultiplexer & rEventMultiplexer,
- const ::rtl::OUString& rSoundURL,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::uno::XComponentContext>& rComponentContext );
-
- virtual ~SoundPlayer();
-
- /** Query duration of sound playback.
-
- If the sound is already playing, this method
- returns the remaining playback time.
-
- @return the playback duration in seconds.
- */
- double getDuration() const;
-
- bool startPlayback();
- bool stopPlayback();
-
- void setPlaybackLoop( bool bLoop );
-
- // PauseEventHandler:
- virtual bool handlePause( bool bPauseShow );
-
- // Disposable
- virtual void dispose();
-
- private:
- SoundPlayer(
- EventMultiplexer & rEventMultiplexer,
- const ::rtl::OUString& rSoundURL,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::uno::XComponentContext>& rComponentContext );
-
- EventMultiplexer & mrEventMultiplexer;
- // TODO(Q3): obsolete when boost::enable_shared_ptr_from_this
- // is available
- ::boost::shared_ptr<SoundPlayer> mThis;
- ::com::sun::star::uno::Reference< ::com::sun::star::media::XPlayer > mxPlayer;
- };
-
- typedef ::boost::shared_ptr< SoundPlayer > SoundPlayerSharedPtr;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SOUNDPLAYER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/state.hxx b/slideshow/source/inc/state.hxx
deleted file mode 100644
index d48f7a492..000000000
--- a/slideshow/source/inc/state.hxx
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_STATE_HXX
-#define INCLUDED_SLIDESHOW_STATE_HXX
-
-#include <sal/types.h>
-#include <boost/shared_ptr.hpp>
-
-
-/* Definition of State interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** This interface represents a stateful object.
-
- The state ID returned by the getStateId() method
- abstractly encodes the object's state. When this ID
- changes, clients can assume that the object's state has
- changed.
- */
- class State
- {
- public:
- virtual ~State() {}
-
- /// Abstract, numerically encoded state ID
- typedef ::std::size_t StateId;
-
- /** This method returns a numerical state identifier.
-
- The state ID returned by this method abstractly
- encodes the object's state. When this ID changes,
- clients can assume that the object's state has
- changed.
-
- @return an abstract, numerical state ID.
- */
- virtual StateId getStateId() const = 0;
- };
-
- typedef ::boost::shared_ptr< State > StateSharedPtr;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_STATE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/stringanimation.hxx b/slideshow/source/inc/stringanimation.hxx
deleted file mode 100644
index 4b3457deb..000000000
--- a/slideshow/source/inc/stringanimation.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_STRINGANIMATION_HXX
-#define INCLUDED_SLIDESHOW_STRINGANIMATION_HXX
-
-#include "animation.hxx"
-#include <rtl/ustring.hxx>
-
-
-/* Definition of StringAnimation interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Interface defining a string animation.
-
- This interface is a specialization of the Animation
- interface, and is used to animate attributes representable
- by a discrete character string (e.g. font names)
- */
- class StringAnimation : public Animation
- {
- public:
- typedef ::rtl::OUString ValueType;
-
- /** Set the animation to value rStr
-
- @param rStr
- Current animation value.
- */
- virtual bool operator()( const ValueType& rStr ) = 0;
-
- /** Request the underlying value for this animation.
-
- This is necessary for pure To or By animations, as the
- Activity cannot determine a sensible start value
- otherwise.
-
- @attention Note that you are only permitted to query
- for the underlying value, if the animation has actually
- been started (via start() call).
- */
- virtual ValueType getUnderlyingValue() const = 0;
- };
-
- typedef ::boost::shared_ptr< StringAnimation > StringAnimationSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_STRINGANIMATION_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/subsettableshapemanager.hxx b/slideshow/source/inc/subsettableshapemanager.hxx
deleted file mode 100644
index b4b4a8819..000000000
--- a/slideshow/source/inc/subsettableshapemanager.hxx
+++ /dev/null
@@ -1,129 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_SUBSETTABLESHAPEMANAGER_HXX
-#define INCLUDED_SLIDESHOW_SUBSETTABLESHAPEMANAGER_HXX
-
-#include "shapemanager.hxx"
-#include "intrinsicanimationeventhandler.hxx"
-#include <boost/shared_ptr.hpp>
-
-/* Definition of SubsettableShapeManager interface */
-
-namespace slideshow
-{
- namespace internal
- {
- class DocTreeNode;
- class AttributableShape;
-
- /** SubsettableShapeManager interface
-
- Implementers of this interface manage creation and
- revocation of shape subsets. Shape subsets are shapes that
- represent (and animate) only parts of an original's shape
- content.
- */
- class SubsettableShapeManager : public ShapeManager
- {
- public:
- /** Query a subset of the given original shape
-
- This method queries a new (but not necessarily unique)
- shape, which displays only the given subset of the
- original one. Calling this method multiple times with
- the same original shape and DocTreeNode content always
- returns the same shape.
-
- Requesting a subset from an original shape leads to
- the original shape ceasing to display the subsetted
- content. In other words, shape content is always
- displayed in exactly one shape.
-
- @param rOrigShape
- The shape the subset is to be created for
-
- @param rSubsetShape
- The subset to display in the generated shape.
- */
- virtual boost::shared_ptr<AttributableShape> getSubsetShape(
- const boost::shared_ptr<AttributableShape>& rOrigShape,
- const DocTreeNode& rTreeNode ) = 0;
-
- /** Revoke a previously queried subset shape.
-
- With this method, a previously requested subset shape
- is revoked again. If the last client revokes a given
- subset, it will cease to be displayed, and the
- original shape will again show the subset data.
-
- @param rOrigShape
- The shape the subset was created from
-
- @param rSubsetShape
- The subset created from rOrigShape
- */
- virtual void revokeSubset(
- const boost::shared_ptr<AttributableShape>& rOrigShape,
- const boost::shared_ptr<AttributableShape>& rSubsetShape ) = 0;
-
- // Evil hackish way of getting intrinsic animation slide-wise
-
- /** Register an event handler that will be called when
- user paint parameters change.
-
- @param rHandler
- Handler to call when a shape listener changes
- */
- virtual void addIntrinsicAnimationHandler( const IntrinsicAnimationEventHandlerSharedPtr& rHandler ) = 0;
- virtual void removeIntrinsicAnimationHandler( const IntrinsicAnimationEventHandlerSharedPtr& rHandler ) = 0;
-
- /** Notify that shape-intrinsic animations are now enabled.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- virtual bool notifyIntrinsicAnimationsEnabled() = 0;
-
- /** Notify that shape-intrinsic animations are now disabled.
-
- @return true, if this event was processed by
- anybody. If false is returned, no handler processed
- this event (and probably, nothing will happen at all)
- */
- virtual bool notifyIntrinsicAnimationsDisabled() = 0;
- };
-
- typedef ::boost::shared_ptr< SubsettableShapeManager > SubsettableShapeManagerSharedPtr;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_SUBSETTABLESHAPEMANAGER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/tools.hxx b/slideshow/source/inc/tools.hxx
deleted file mode 100644
index 8e0b5b395..000000000
--- a/slideshow/source/inc/tools.hxx
+++ /dev/null
@@ -1,411 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_TOOLS_HXX
-#define INCLUDED_SLIDESHOW_TOOLS_HXX
-
-#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/beans/XPropertySet.hpp>
-
-#include <cppcanvas/color.hxx>
-
-#include "shapeattributelayer.hxx"
-#include "shape.hxx"
-#include "rgbcolor.hxx"
-#include "hslcolor.hxx"
-
-#include <boost/shared_ptr.hpp>
-#include <boost/current_function.hpp>
-
-#include <functional>
-#include <cstdlib>
-#include <string.h> // for strcmp
-#include <algorithm>
-
-
-#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) )
-
-
-namespace com { namespace sun { namespace star { namespace beans {
- struct NamedValue;
-} } } }
-namespace basegfx
-{
- class B2DRange;
- class B2DVector;
- class B2IVector;
- class B2DHomMatrix;
-}
-namespace cppcanvas{ class Canvas; }
-
-class GDIMetaFile;
-
-/* Definition of some animation tools */
-namespace slideshow
-{
- namespace internal
- {
- class UnoView;
- class Shape;
- class ShapeAttributeLayer;
-
- typedef ::boost::shared_ptr< GDIMetaFile > GDIMetaFileSharedPtr;
-
- // xxx todo: remove with boost::hash when 1.33 is available
- template <typename T>
- struct hash : ::std::unary_function<T, ::std::size_t>
- {
- ::std::size_t operator()( T const& val ) const {
- return hash_value(val);
- }
- };
- template <typename T>
- inline ::std::size_t hash_value( T * const& p )
- {
- ::std::size_t d = static_cast< ::std::size_t >(
- reinterpret_cast< ::std::ptrdiff_t >(p) );
- return d + (d >> 3);
- }
-
- // xxx todo: shift to namespace com::sun::star::uno when
- // 1.33 is available
- template <typename T>
- inline ::std::size_t hash_value(
- ::com::sun::star::uno::Reference<T> const& x )
- {
- // normalize to object root, because _only_ XInterface is defined
- // to be stable during object lifetime:
- ::com::sun::star::uno::Reference<
- ::com::sun::star::uno::XInterface> const xRoot(
- x, ::com::sun::star::uno::UNO_QUERY );
- return hash<void *>()(xRoot.get());
- }
-
- /** Cycle mode of intrinsic animations
- */
- enum CycleMode
- {
- /// loop the animation back to back
- CYCLE_LOOP,
- /// loop, but play backwards from end to start
- CYCLE_PINGPONGLOOP
- };
-
-
- // Value extraction from Any
- // =========================
-
- /// extract unary double value from Any
- bool extractValue( double& o_rValue,
- const ::com::sun::star::uno::Any& rSourceAny,
- const boost::shared_ptr<Shape>& rShape,
- const basegfx::B2DVector& rSlideBounds );
-
- /// extract int from Any
- bool extractValue( sal_Int32& o_rValue,
- const ::com::sun::star::uno::Any& rSourceAny,
- const boost::shared_ptr<Shape>& rShape,
- const basegfx::B2DVector& rSlideBounds );
-
- /// extract enum/constant group value from Any
- bool extractValue( sal_Int16& o_rValue,
- const ::com::sun::star::uno::Any& rSourceAny,
- const boost::shared_ptr<Shape>& rShape,
- const basegfx::B2DVector& rSlideBounds );
-
- /// extract color value from Any
- bool extractValue( RGBColor& o_rValue,
- const ::com::sun::star::uno::Any& rSourceAny,
- const boost::shared_ptr<Shape>& rShape,
- const basegfx::B2DVector& rSlideBounds );
-
- /// extract color value from Any
- bool extractValue( HSLColor& o_rValue,
- const ::com::sun::star::uno::Any& rSourceAny,
- const boost::shared_ptr<Shape>& rShape,
- const basegfx::B2DVector& rSlideBounds );
-
- /// extract plain string from Any
- bool extractValue( ::rtl::OUString& o_rValue,
- const ::com::sun::star::uno::Any& rSourceAny,
- const boost::shared_ptr<Shape>& rShape,
- const basegfx::B2DVector& rSlideBounds );
-
- /// extract bool value from Any
- bool extractValue( bool& o_rValue,
- const ::com::sun::star::uno::Any& rSourceAny,
- const boost::shared_ptr<Shape>& rShape,
- const basegfx::B2DVector& rSlideBounds );
-
- /// extract double 2-tuple from Any
- bool extractValue( basegfx::B2DTuple& o_rPair,
- const ::com::sun::star::uno::Any& rSourceAny,
- const boost::shared_ptr<Shape>& rShape,
- const basegfx::B2DVector& rSlideBounds );
-
- /** Search a sequence of NamedValues for a given element.
-
- @return true, if the sequence contains the specified
- element.
- */
- bool findNamedValue( ::com::sun::star::uno::Sequence<
- ::com::sun::star::beans::NamedValue > const& rSequence,
- const ::com::sun::star::beans::NamedValue& rSearchKey );
-
- /** Search a sequence of NamedValues for an element with a given name.
-
- @param o_pRet
- If non-NULL, receives the full NamedValue found (if it was
- found, that is).
-
- @return true, if the sequence contains the specified
- element.
- */
- bool findNamedValue( ::com::sun::star::beans::NamedValue* o_pRet,
- const ::com::sun::star::uno::Sequence<
- ::com::sun::star::beans::NamedValue >& rSequence,
- const ::rtl::OUString& rSearchString );
-
- basegfx::B2DRange calcRelativeShapeBounds( const basegfx::B2DVector& rPageSize,
- const basegfx::B2DRange& rShapeBounds );
-
- /** Get the shape transformation from the attribute set
-
- @param rBounds
- Original shape bound rect (to substitute default attribute
- layer values)
-
- @param pAttr
- Attribute set. Might be NULL (then, rBounds is used to set
- a simple scale and translate of the unit rect to rBounds).
- */
- basegfx::B2DHomMatrix getShapeTransformation(
- const basegfx::B2DRange& rBounds,
- const boost::shared_ptr<ShapeAttributeLayer>& pAttr );
-
- /** Get a shape's sprite transformation from the attribute set
-
- @param rPixelSize
- Pixel size of the sprite
-
- @param rOrigSize
- Original shape size (i.e. the size of the actual sprite
- content, in the user coordinate system)
-
- @param pAttr
- Attribute set. Might be NULL (then, rBounds is used to set
- a simple scale and translate of the unit rect to rBounds).
-
- @return the transformation to be applied to the sprite.
- */
- basegfx::B2DHomMatrix getSpriteTransformation(
- const basegfx::B2DVector& rPixelSize,
- const basegfx::B2DVector& rOrigSize,
- const boost::shared_ptr<ShapeAttributeLayer>& pAttr );
-
- /** Calc update area for a shape.
-
- This method calculates the 'covered' area for the shape,
- i.e. the rectangle that is affected when rendering the
- shape. Apart from applying the given transformation to the
- shape rectangle, this method also takes attributes into
- account, which further scale the output (e.g. character
- sizes).
-
- @param rUnitBounds
- Shape bounds, in the unit rect coordinate space
-
- @param rShapeTransform
- Transformation matrix the shape should undergo.
-
- @param pAttr
- Current shape attributes
- */
- basegfx::B2DRange getShapeUpdateArea(
- const basegfx::B2DRange& rUnitBounds,
- const basegfx::B2DHomMatrix& rShapeTransform,
- const boost::shared_ptr<ShapeAttributeLayer>& pAttr );
-
- /** Calc update area for a shape.
-
- This method calculates the 'covered' area for the shape,
- i.e. the rectangle that is affected when rendering the
- shape. The difference from the other getShapeUpdateArea()
- method is the fact that this one works without
- ShapeAttributeLayer, and only scales up the given shape
- user coordinate bound rect. The method is typically used
- to retrieve user coordinate system bound rects for shapes
- which are smaller than the default unit bound rect
- (because e.g. of subsetting)
-
- @param rUnitBounds
- Shape bounds, in the unit rect coordinate space
-
- @param rShapeBounds
- Current shape bounding box in user coordinate space.
- */
- basegfx::B2DRange getShapeUpdateArea( const basegfx::B2DRange& rUnitBounds,
- const basegfx::B2DRange& rShapeBounds );
-
- /** Calc output position and size of shape, according to given
- attribute layer.
-
- Rotations, shears etc. and not taken into account,
- i.e. the returned rectangle is NOT the bounding box. Use
- it as if aBounds.getMinimum() is the output position and
- aBounds.getRange() the scaling of the shape.
- */
- basegfx::B2DRange getShapePosSize(
- const basegfx::B2DRange& rOrigBounds,
- const boost::shared_ptr<ShapeAttributeLayer>& pAttr );
-
- /** Convert a plain UNO API 32 bit int to RGBColor
- */
- RGBColor unoColor2RGBColor( sal_Int32 );
- /** Convert an IntSRGBA to plain UNO API 32 bit int
- */
- sal_Int32 RGBAColor2UnoColor( cppcanvas::Color::IntSRGBA );
-
- /** Fill a plain rectangle on the given canvas with the given color
- */
- void fillRect( const boost::shared_ptr< cppcanvas::Canvas >& rCanvas,
- const basegfx::B2DRange& rRect,
- cppcanvas::Color::IntSRGBA aFillColor );
-
- /** Init canvas with default background (white)
- */
- void initSlideBackground( const boost::shared_ptr< cppcanvas::Canvas >& rCanvas,
- const basegfx::B2IVector& rSize );
-
- /// Gets a random ordinal [0,n)
- inline ::std::size_t getRandomOrdinal( const ::std::size_t n )
- {
- return static_cast< ::std::size_t >(
- double(n) * rand() / (RAND_MAX + 1.0) );
- }
-
- /// To work around ternary operator in initializer lists
- /// (Solaris compiler problems)
- template <typename T>
- inline T const & ternary_op(
- const bool cond, T const & arg1, T const & arg2 )
- {
- if (cond)
- return arg1;
- else
- return arg2;
- }
-
- template <typename ValueType>
- inline bool getPropertyValue(
- ValueType & rValue,
- com::sun::star::uno::Reference<
- com::sun::star::beans::XPropertySet> const & xPropSet,
- rtl::OUString const & propName )
- {
- try {
- const com::sun::star::uno::Any& a(
- xPropSet->getPropertyValue( propName ) );
- bool const bRet = (a >>= rValue);
-#if OSL_DEBUG_LEVEL > 0
- if( !bRet )
- OSL_TRACE( "%s: while retrieving property %s, cannot extract Any of type %s\n",
- ::rtl::OUStringToOString( propName,
- RTL_TEXTENCODING_ASCII_US ).getStr(),
- BOOST_CURRENT_FUNCTION,
- ::rtl::OUStringToOString( a.getValueTypeRef()->pTypeName,
- RTL_TEXTENCODING_ASCII_US ).getStr() );
-#endif
- return bRet;
- }
- catch (com::sun::star::uno::RuntimeException &)
- {
- throw;
- }
- catch (com::sun::star::uno::Exception &)
- {
- return false;
- }
- }
-
- template <typename ValueType>
- inline bool getPropertyValue(
- com::sun::star::uno::Reference< ValueType >& rIfc,
- com::sun::star::uno::Reference<
- com::sun::star::beans::XPropertySet> const & xPropSet,
- rtl::OUString const & propName )
- {
- try
- {
- const com::sun::star::uno::Any& a(
- xPropSet->getPropertyValue( propName ));
- rIfc.set( a,
- com::sun::star::uno::UNO_QUERY );
-
- bool const bRet = rIfc.is();
-#if OSL_DEBUG_LEVEL > 0
- if( !bRet )
- OSL_TRACE( "%s: while retrieving property %s, cannot extract Any of type %s to interface\n",
- ::rtl::OUStringToOString( propName,
- RTL_TEXTENCODING_ASCII_US ).getStr(),
- BOOST_CURRENT_FUNCTION,
- ::rtl::OUStringToOString( a.getValueTypeRef()->pTypeName,
- RTL_TEXTENCODING_ASCII_US ).getStr() );
-#endif
- return bRet;
- }
- catch (com::sun::star::uno::RuntimeException &)
- {
- throw;
- }
- catch (com::sun::star::uno::Exception &)
- {
- return false;
- }
- }
-
- /// Get the content of the BoundRect shape property
- basegfx::B2DRange getAPIShapeBounds( const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape >& xShape );
-
-/*
- TODO(F1): When ZOrder someday becomes usable enable this
-
- /// Get the content of the ZOrder shape property
- double getAPIShapePrio( const ::com::sun::star::uno::Reference<
- ::com::sun::star::drawing::XShape >& xShape );
-*/
-
- basegfx::B2IVector getSlideSizePixel( const basegfx::B2DVector& rSize,
- const boost::shared_ptr<UnoView>& pView );
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_TOOLS_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/transitionfactory.hxx b/slideshow/source/inc/transitionfactory.hxx
deleted file mode 100644
index 33296c5ba..000000000
--- a/slideshow/source/inc/transitionfactory.hxx
+++ /dev/null
@@ -1,151 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_TRANSITIONFACTORY_HXX
-#define INCLUDED_SLIDESHOW_TRANSITIONFACTORY_HXX
-
-#include <com/sun/star/animations/XTransitionFilter.hpp>
-#include <com/sun/star/presentation/XTransitionFactory.hpp>
-
-#include "animatableshape.hxx"
-#include "rgbcolor.hxx"
-#include "slide.hxx"
-#include "screenupdater.hxx"
-#include "animationactivity.hxx"
-#include "activitiesfactory.hxx"
-#include "numberanimation.hxx"
-#include "transitioninfo.hxx"
-#include "soundplayer.hxx"
-
-#include <boost/utility.hpp>
-
-namespace slideshow
-{
- namespace internal
- {
- /* Definition of Transitionfactory class */
- class TransitionFactory : private boost::noncopyable
- {
- public:
- /** Create a transition effect for shapes.
-
- This method creates an AnimationActivity, which, when
- run, performs the requested transition effect on the
- given shape.
-
- @param rParms
- Collection of activity parameters, see ActivitiesFactory
-
- @param rShape
- Shape to animate
-
- @param rShapeManager
- ShapeManager, to manage shape animation
-
- @param xTransition
- The transition effect
-
- @return the created activity, or NULL for no
- transition effect
- */
- static AnimationActivitySharedPtr createShapeTransition(
- const ActivitiesFactory::CommonParameters& rParms,
- const AnimatableShapeSharedPtr& rShape,
- const ShapeManagerSharedPtr& rShapeManager,
- const ::basegfx::B2DVector& rSlideSize,
- ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XTransitionFilter > const& xTransition );
-
-
- /** Create a transition effect for slides.
-
- This method creates a NumberAnimation, which,
- when run, performs the requested transition effect
- with the slide bitmaps.
-
- @param rEnteringBitmap
- Bitmap of the slide which 'enters' the screen.
-
- @param rLeavingBitmap
- Bitmap of the slide which 'leaves' the screen.
-
- @param nTransitionType
- Type of the transition (see XTransitionFilter)
-
- @param nTransitionSubType
- Subtype of the transition (see XTransitionFilter)
-
- @param bTransitionDirection
- Direction of the transition (see XTransitionFilter)
-
- @param rTransitionFadeColor
- Optional fade color for the transition
-
- @return the created animation, or NULL for no
- transition effect
- */
- static NumberAnimationSharedPtr createSlideTransition(
- const SlideSharedPtr& rLeavingSlide,
- const SlideSharedPtr& rEnteringSlide,
- const UnoViewContainer& rViewContainer,
- ScreenUpdater& rScreenUpdater,
- EventMultiplexer& rEventMultiplexer,
- const com::sun::star::uno::Reference<
- com::sun::star::presentation::XTransitionFactory>&
- xOptionalFactory,
- sal_Int16 nTransitionType,
- sal_Int16 nTransitionSubType,
- bool bTransitionDirection,
- const RGBColor& rTransitionFadeColor,
- const SoundPlayerSharedPtr& rSoundPlayer );
-
- private:
- static const TransitionInfo* getTransitionInfo(
- sal_Int16 nTransitionType, sal_Int16 nTransitionSubType );
- static const TransitionInfo* getRandomTransitionInfo();
-
- static AnimationActivitySharedPtr createShapeTransition(
- const ActivitiesFactory::CommonParameters& rParms,
- const AnimatableShapeSharedPtr& rShape,
- const ShapeManagerSharedPtr& rShapeManager,
- const ::basegfx::B2DVector& rSlideSize,
- ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XTransitionFilter > const& xTransition,
- sal_Int16 nTransitionType,
- sal_Int16 nTransitionSubType );
-
- // static factory
- TransitionFactory();
- ~TransitionFactory();
- };
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_TRANSITIONFACTORY_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/transitioninfo.hxx b/slideshow/source/inc/transitioninfo.hxx
deleted file mode 100644
index a6b60a09d..000000000
--- a/slideshow/source/inc/transitioninfo.hxx
+++ /dev/null
@@ -1,163 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#if ! defined INCLUDED_SLIDESHOW_TRANSITIONINFO_HXX
-#define INCLUDED_SLIDESHOW_TRANSITIONINFO_HXX
-
-#include <sal/types.h>
-
-
-namespace slideshow {
-namespace internal {
-
-struct TransitionInfo
-{
- // the following two member serve as the search key
- // for an incoming XTransitionFilter node
- //
- // {
-
- sal_Int16 mnTransitionType;
- sal_Int16 mnTransitionSubType;
-
- // }
- //
-
- /** This enum classifies a transition type
- */
- enum TransitionClass
- {
- /// Invalid type
- TRANSITION_INVALID,
-
- /// Transition expressed by parametric clip polygon
- TRANSITION_CLIP_POLYPOLYGON,
-
- /// Transition expressed by hand-crafted function
- TRANSITION_SPECIAL
- };
-
- /// class of effect handling
- TransitionClass meTransitionClass;
-
- /// Rotation angle of clip polygon
- double mnRotationAngle;
-
- /// X scaling of clip polygon (negative values mirror)
- double mnScaleX;
-
- /// Y scaling of clip polygon (negative values mirror)
- double mnScaleY;
-
- /** This enum determines the method how to reverse
- a parametric clip polygon transition.
-
- A reversed transition runs in the geometrically
- opposite direction. For a left-to-right bar wipe, the
- reversed transition is a right-to-left wipe, whereas
- for an iris transition, the reversed mode will show
- the target in the outer area (instead of in the inner
- area, as in normal mode).
- */
- enum ReverseMethod
- {
- /** Ignore direction attribute altogether
- (if it has no sensible meaning for this transition)
- */
- REVERSEMETHOD_IGNORE,
-
- /** Revert by changing the direction of the parameter sweep
- (from 1->0 instead of 0->1)
- */
- REVERSEMETHOD_INVERT_SWEEP,
-
- /** Revert by subtracting the generated polygon from the
- target bound rect
- */
- REVERSEMETHOD_SUBTRACT_POLYGON,
-
- /** Combination of REVERSEMETHOD_INVERT_SWEEP and
- REVERSEMETHOD_SUBTRACT_POLYGON.
- */
- REVERSEMETHOD_SUBTRACT_AND_INVERT,
-
- /// Reverse by rotating polygon 180 degrees
- REVERSEMETHOD_ROTATE_180,
-
- /// Reverse by flipping polygon at the y (!) axis
- REVERSEMETHOD_FLIP_X,
-
- /// Reverse by flipping polygon at the x (!) axis
- REVERSEMETHOD_FLIP_Y
- };
-
- /** Indicating the method to use when transition
- should be 'reversed'.
-
- @see ReverseMethod
- */
- ReverseMethod meReverseMethod;
-
- /** When true, transition 'out' effects are realized
- by inverting the parameter sweep direction (1->0
- instead of 0->1). Otherwise, 'out' effects are
- realized by changing inside and outside areas of
- the parametric poly-polygon.
- */
- bool mbOutInvertsSweep;
-
- /** when true, scale clip polygon isotrophically to
- target size. when false, scale is
- anisotrophically.
- */
- bool mbScaleIsotrophically;
-
-
- /// Compare against type and subtype
- class Comparator
- {
- sal_Int16 mnTransitionType;
- sal_Int16 mnTransitionSubType;
- public:
- Comparator( sal_Int16 nTransitionType,
- sal_Int16 nTransitionSubType )
- : mnTransitionType( nTransitionType ),
- mnTransitionSubType( nTransitionSubType ) {}
- bool operator()( const TransitionInfo& rEntry ) const {
- return rEntry.mnTransitionType == mnTransitionType &&
- rEntry.mnTransitionSubType == mnTransitionSubType;
- }
- };
-};
-
-} // namespace internal
-} // namespace presentation
-
-#endif /* INCLUDED_SLIDESHOW_TRANSITIONINFO_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/unoview.hxx b/slideshow/source/inc/unoview.hxx
deleted file mode 100644
index 6ac02b6d2..000000000
--- a/slideshow/source/inc/unoview.hxx
+++ /dev/null
@@ -1,88 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_UNOVIEW_HXX
-#define INCLUDED_SLIDESHOW_UNOVIEW_HXX
-
-#include "view.hxx"
-#include <com/sun/star/uno/Reference.hxx>
-
-#include <vector>
-
-namespace com { namespace sun { namespace star { namespace presentation
-{
- class XSlideShowView;
-} } } }
-
-
-/* Definition of UnoView interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Extend View with UNO interface retrieval.
-
- This interface extends View with an UNO interface
- retrieval, to be used for Views which are set from
- external API.
- */
- class UnoView : public View
- {
- public:
- /** Retrieve the underlying UNO slide view.
- */
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::presentation::XSlideShowView > getUnoView() const = 0;
-
- /** Dispose view
-
- This needs to be different from Disposable interface,
- as the UNO XComponent also provides a dispose() (only
- with a different calling convention under Windows).
- */
- virtual void _dispose() = 0;
-
- /** Return whether the sound play back is enabled.
- */
- virtual bool isSoundEnabled (void) const = 0;
-
- /** Tell the view whether it may play sounds. Disabling this
- can be used to prevent different views to play the same
- sounds at the same time.
- */
- virtual void setIsSoundEnabled (const bool bValue) = 0;
- };
-
- typedef ::boost::shared_ptr< UnoView > UnoViewSharedPtr;
- typedef ::std::vector< UnoViewSharedPtr > UnoViewVector;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_UNOVIEW_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/unoviewcontainer.hxx b/slideshow/source/inc/unoviewcontainer.hxx
deleted file mode 100644
index 994a72504..000000000
--- a/slideshow/source/inc/unoviewcontainer.hxx
+++ /dev/null
@@ -1,113 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_UNOVIEWCONTAINER_HXX
-#define INCLUDED_SLIDESHOW_UNOVIEWCONTAINER_HXX
-
-#include <com/sun/star/uno/Reference.hxx>
-
-#include <boost/shared_ptr.hpp>
-#include <boost/utility.hpp>
-
-#include <vector>
-
-#include "unoview.hxx"
-
-
-namespace com { namespace sun { namespace star { namespace presentation
-{
- class XSlideShowView;
-} } } }
-
-/* Definition of UnoViewContainer class */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Contains UnoViews
- */
- class UnoViewContainer : private boost::noncopyable
- {
- public:
- UnoViewContainer();
-
- /** Add a view to this container
-
- @return true, if the view was successfully added
- (false is e.g. returned, if the view was already
- added)
- */
- bool addView( const UnoViewSharedPtr& rView );
-
- /** Remove a previously added a view from this container
-
- @return true, if this view was successfully removed, false
- otherwise (e.g. if this view wasn't added in the first place)
- */
- bool removeView( const UnoViewSharedPtr& rView );
-
- /** Remove a previously added a view from this container
-
- @return the View object, if this view was successfully
- removed, and an empty shared_ptr otherwise (e.g. if
- this view wasn't added in the first place)
- */
- UnoViewSharedPtr removeView( const ::com::sun::star::uno::Reference<
- ::com::sun::star::presentation::XSlideShowView >& xView );
-
- /// Dispose all stored views. Implies clear().
- void dispose();
-
- // the following parrots STL container concept methods
- // ===================================================
-
- std::size_t size() const { return maViews.size(); }
- bool empty() const { return maViews.empty(); }
-
- void clear() { maViews.clear(); }
-
-
- UnoViewVector::iterator begin() { return maViews.begin(); }
- UnoViewVector::const_iterator begin() const { return maViews.begin(); }
- UnoViewVector::iterator end() { return maViews.end(); }
- UnoViewVector::const_iterator end() const { return maViews.end(); }
-
- private:
- /// All added views
- UnoViewVector maViews;
- };
-
- typedef ::boost::shared_ptr< UnoViewContainer > UnoViewContainerSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_UNOVIEWCONTAINER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/usereventqueue.hxx b/slideshow/source/inc/usereventqueue.hxx
deleted file mode 100644
index e84f0dd08..000000000
--- a/slideshow/source/inc/usereventqueue.hxx
+++ /dev/null
@@ -1,329 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_USEREVENTQUEUE_HXX
-#define INCLUDED_SLIDESHOW_USEREVENTQUEUE_HXX
-
-#include <com/sun/star/animations/XAnimationNode.hpp>
-
-#include "eventmultiplexer.hxx"
-#include "eventqueue.hxx"
-#include "shape.hxx"
-
-#include <boost/noncopyable.hpp>
-
-/* Definition of UserEventQueue class */
-
-namespace slideshow {
-namespace internal {
-
-class PlainEventHandler;
-class AllAnimationEventHandler;
-class ShapeClickEventHandler;
-class ClickEventHandler;
-class CursorManager;
-class SkipEffectEventHandler;
-class RewindEffectEventHandler;
-class MouseEnterHandler;
-class MouseLeaveHandler;
-
-/** This class schedules user-activated events.
-
- This class registeres at the EventMultiplexer and fires
- events registered for certain user actions. Note that all
- events will not be fired immediately after the user action
- occurred, but always added to the EventQueue (and fired the
- next time that queue is processed). Which is actually a
- feature.
-
- Conceptually, an event is an object that typically is
- fired only once. After that, the event is exhausted, and
- should be discarded. Therefore, all events registered on
- this object are fired and then all references to them are
- removed.
-*/
-class UserEventQueue : private ::boost::noncopyable
-{
-public:
- /** Create a user event queue
-
- @param rEventMultiplexer
- The slideshow-global event source, where this class
- registeres its event handlers.
-
- @param rEventQueue
- Reference to the main event queue. Since we hold this
- object by plain reference, it must live longer than we
- do. On the other hand, that queue must not fire events
- after this object is destroyed, since we might
- schedule events there which itself contain plain
- references to this object. Basically, EventQueue and
- UserEventQueue should have the same lifetime, and since
- this is not possible, both must be destructed in a
- phased mode: first clear both of any remaining events,
- then destruct them.
- */
- UserEventQueue( EventMultiplexer& rMultiplexer,
- EventQueue& rEventQueue,
- CursorManager& rCursorManager );
- ~UserEventQueue();
-
- /** Query whether there are any events still pending.
- */
- bool isEmpty() const;
-
- /** Clear all registered events.
-
- This method clears all registered, but
- not-yet-executed events. This comes in handy when
- force-ending a slide, to avoid interference with the
- next slide's event registration.
- */
- void clear();
-
- /** Set advance on click behaviour.
-
- @param bAdvanceOnClick
- When true, a click somewhere on the slide will also
- generate next effect event. In this case, it is
- irrelevant where on the slide the mouse is clicked,
- i.e. the shape need not be hit by the mouse.
- */
- void setAdvanceOnClick( bool bAdvanceOnClick );
-
- /** Register an event that will be fired when the slide is
- just shown.
-
- Note that <em>all</em> registered events will be fired
- when the slide start occurs. This is in contrast to
- the mouse events below.
- */
- void registerSlideStartEvent( const EventSharedPtr& rEvent );
-
- /** Register an event that will be fired when the slide is
- about to vanish.
-
- Note that <em>all</em> registered events will be fired
- when the slide end occurs. This is in contrast to
- the mouse events below.
- */
- void registerSlideEndEvent( const EventSharedPtr& rEvent );
-
- /** Register an event that will be fired when the given
- animation node starts.
-
- Note that <em>all</em> registered events will be fired
- when the animation start occurs. This is in contrast to
- the mouse events below.
- */
- void registerAnimationStartEvent(
- const EventSharedPtr& rEvent,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimationNode>& xNode );
-
- /** Register an event that will be fired when the given
- animation node ends its active duration.
-
- Note that <em>all</em> registered events will be fired
- when the animation end occurs. This is in contrast to
- the mouse events below.
- */
- void registerAnimationEndEvent(
- const EventSharedPtr& rEvent,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimationNode>& xNode );
-
- /** Register an event that will be fired when audio output
- stopped for the given animation node.
-
- Note that <em>all</em> registered events will be fired
- when the audio stopping occurs. This is in contrast to
- the mouse events below.
- */
- void registerAudioStoppedEvent(
- const EventSharedPtr& rEvent,
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::animations::XAnimationNode>& xNode );
-
- /** Register an event that is fired when a shape is clicked
-
- For every mouse click, only one of the events
- registered here is fired. The order of fired events is
- the order of registration, i.e. the first event
- registered will be the one fired for the first mouse
- click on the given shape.
- */
- void registerShapeClickEvent( const EventSharedPtr& rEvent,
- const ShapeSharedPtr& rShape );
-
- /** Registes an event that is fired when the current effects(s)
- are skipped, .e.g. when the left mouse button is pressed.
- Then, all registered events are fired and removed from this
- queue. After firing, a next effect event is issued to this
- queue to start the next effect.
- @param pEvent
- The event to execute when skipping the current effect.
- @param bSkipTriggersNextEffect
- When <TRUE/> then after skipping the current effect the next
- effect is triggered. When <FALSE/> then the next effect is not
- triggered.
- */
- void registerSkipEffectEvent(
- EventSharedPtr const& pEvent,
- const bool bSkipTriggersNextEffect);
-
- /** Registes an event that is fired when the current effects(s)
- are rewound, .e.g. when the right mouse button is pressed.
- Then, all registered events are fired and removed from this
- queue.
- */
- void registerRewindEffectEvent( EventSharedPtr const& rEvent );
-
- /** Register an event that is fired to show the next event
-
- For every next effect event, only one of the events
- registered here is fired. The order of fired events is
- the order of registration, i.e. the first event
- registered will be the one fired for the first mouse
- click. When advance-on-click (see method
- setAdvanceOnClick()) is enabled, a mouse click
- somewhere on the slide will also generate a next
- effect event. In this case, it is irrelevant where on
- the slide the mouse is clicked, i.e. the shape need
- not be hit by the mouse.
- */
- void registerNextEffectEvent( const EventSharedPtr& rEvent );
-
- /** Register an event that is fired on a double mouse
- click on a shape
-
- For every mouse double click, only one of the events
- registered here is fired. The order of fired events is
- the order of registration, i.e. the first event
- registered will be the one fired for the first mouse
- double click. It is irrelevant where on the slide the
- mouse is clicked, i.e. the shape need not be hit by
- the mouse.
- */
- void registerShapeDoubleClickEvent( const EventSharedPtr& rEvent,
- const ShapeSharedPtr& rShape );
-
- /** Register an event that is fired on a double mouse click
-
- For every mouse double click, only one of the events
- registered here is fired. The order of fired events is
- the order of registration, i.e. the first event
- registered will be the one fired for the first mouse
- double click. It is irrelevant where on the slide the
- mouse is clicked, i.e. the shape need not be hit by
- the mouse.
- */
- void registerDoubleClickEvent( const EventSharedPtr& rEvent );
-
- /** Register an event that is fired when the mouse enters
- the area of the given shape
-
- For every enter, only one of the events registered
- here is fired. The order of fired events is the order
- of registration, i.e. the first event registered will
- be the one fired for the first time the mouse enters
- the given shape.
- */
- void registerMouseEnterEvent( const EventSharedPtr& rEvent,
- const ShapeSharedPtr& rShape );
-
- /** Register an event that is fired when the mouse leaves
- the area of the given shape
-
- For every leave, only one of the events registered
- here is fired. The order of fired events is the order
- of registration, i.e. the first event registered will
- be the one fired for the first time the mouse leaves
- the given shape area.
- */
- void registerMouseLeaveEvent( const EventSharedPtr& rEvent,
- const ShapeSharedPtr& rShape );
-
- /** Typically skipping the current effect is triggered by mouse clicks
- or key presses that trigger the next effect. This method allows the
- skipping of effects to be triggered programatically.
- */
- void callSkipEffectEventHandler (void);
-
-private:
- /** Generically register an event on one of the handlers.
-
- If the handler is not yet created, do that and
- register it via the Functor
- */
- template< typename Handler, typename Functor >
- void registerEvent( ::boost::shared_ptr< Handler >& rHandler,
- const EventSharedPtr& rEvent,
- const Functor& rRegistrationFunctor );
-
- /** Generically register an event on one of the handlers.
-
- If the handler is not yet created, do that and
- register it via the Functor. This version of the
- registerEvent method takes an additional parameter
- rArg, which is passed as the second argument to
- rHandler's addEvent() method.
- */
- template< typename Handler, typename Arg, typename Functor >
- void registerEvent( ::boost::shared_ptr< Handler >& rHandler,
- const EventSharedPtr& rEvent,
- const Arg& rArg,
- const Functor& rRegistrationFunctor );
-
- EventMultiplexer& mrMultiplexer;
- EventQueue& mrEventQueue;
- CursorManager& mrCursorManager;
-
- ::boost::shared_ptr<PlainEventHandler> mpStartEventHandler;
- ::boost::shared_ptr<PlainEventHandler> mpEndEventHandler;
- ::boost::shared_ptr<AllAnimationEventHandler> mpAnimationStartEventHandler;
- ::boost::shared_ptr<AllAnimationEventHandler> mpAnimationEndEventHandler;
- ::boost::shared_ptr<AllAnimationEventHandler> mpAudioStoppedEventHandler;
- ::boost::shared_ptr<ShapeClickEventHandler> mpShapeClickEventHandler;
- ::boost::shared_ptr<ClickEventHandler> mpClickEventHandler;
- ::boost::shared_ptr<SkipEffectEventHandler> mpSkipEffectEventHandler;
- ::boost::shared_ptr<RewindEffectEventHandler> mpRewindEffectEventHandler;
- ::boost::shared_ptr<ShapeClickEventHandler> mpShapeDoubleClickEventHandler;
- ::boost::shared_ptr<ClickEventHandler> mpDoubleClickEventHandler;
- ::boost::shared_ptr<MouseEnterHandler> mpMouseEnterHandler;
- ::boost::shared_ptr<MouseLeaveHandler> mpMouseLeaveHandler;
-
- bool mbAdvanceOnClick;
-};
-
-} // namespace internal
-} // namespace presentation
-
-#endif /* INCLUDED_SLIDESHOW_USEREVENTQUEUE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/userpainteventhandler.hxx b/slideshow/source/inc/userpainteventhandler.hxx
deleted file mode 100644
index c7a56fc36..000000000
--- a/slideshow/source/inc/userpainteventhandler.hxx
+++ /dev/null
@@ -1,68 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_USERPAINTEVENTHANDLER_HXX
-#define INCLUDED_SLIDESHOW_USERPAINTEVENTHANDLER_HXX
-
-#include <boost/shared_ptr.hpp>
-
-/* Definition of UserPaintEventHandler interface */
-
-namespace slideshow
-{
- namespace internal
- {
- class RGBColor;
-
- /** Interface for handling user paint state changes.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle user paint events.
- */
- class UserPaintEventHandler
- {
- public:
- virtual ~UserPaintEventHandler() {}
- virtual bool colorChanged( RGBColor const& rUserColor ) = 0;
- virtual bool widthChanged( double nUserStrokeWidth ) = 0;
- virtual bool eraseAllInkChanged(bool const& rEraseAllInk) =0;
- virtual bool eraseInkWidthChanged(sal_Int32 rEraseInkSize) =0;
- virtual bool switchEraserMode() = 0;
- virtual bool switchPenMode() = 0;
- virtual bool disable() = 0;
- };
-
- typedef ::boost::shared_ptr< UserPaintEventHandler > UserPaintEventHandlerSharedPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_USERPAINTEVENTHANDLER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/view.hxx b/slideshow/source/inc/view.hxx
deleted file mode 100644
index 43fc5f90d..000000000
--- a/slideshow/source/inc/view.hxx
+++ /dev/null
@@ -1,98 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_VIEW_HXX
-#define INCLUDED_SLIDESHOW_VIEW_HXX
-
-#include "viewlayer.hxx"
-
-#include <boost/shared_ptr.hpp>
-#include <vector>
-
-
-namespace basegfx { class B2DRange; class B2DVector; }
-
-
-/* Definition of View interface */
-
-namespace slideshow
-{
- namespace internal
- {
- class View : public ViewLayer
- {
- public:
- /** Create a new view layer for this view
-
- @param rLayerBounds
- Specifies the bound rect of the layer relative to the
- user view coordinate system.
-
- This method sets the bounds of the view layer in
- document coordinates (i.e. 'logical' coordinates). The
- resulting transformation is then concatenated with the
- underlying view transformation, returned by the
- getTransformation() method.
- */
- virtual ViewLayerSharedPtr createViewLayer( const basegfx::B2DRange& rLayerBounds ) const = 0;
-
- /** Update screen representation from backbuffer
- */
- virtual bool updateScreen() const = 0;
-
- /** Paint screen content unconditionally from backbuffer
- */
- virtual bool paintScreen() const = 0;
-
- /** Set the size of the user view coordinate system.
-
- This method sets the width and height of the view in
- document coordinates (i.e. 'logical' coordinates). The
- resulting transformation is then concatenated with the
- underlying view transformation, returned by the
- getTransformation() method.
- */
- virtual void setViewSize( const ::basegfx::B2DVector& ) = 0;
-
- /** Change the view's mouse cursor.
-
- @param nPointerShape
- One of the ::com::sun::star::awt::SystemPointer
- constant group members.
- */
- virtual void setCursorShape( sal_Int16 nPointerShape ) = 0;
- };
-
- typedef ::boost::shared_ptr< View > ViewSharedPtr;
- typedef ::std::vector< ViewSharedPtr > ViewVector;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_VIEW_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/vieweventhandler.hxx b/slideshow/source/inc/vieweventhandler.hxx
deleted file mode 100644
index 1b97d613a..000000000
--- a/slideshow/source/inc/vieweventhandler.hxx
+++ /dev/null
@@ -1,102 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_VIEWEVENTHANDLER_HXX
-#define INCLUDED_SLIDESHOW_VIEWEVENTHANDLER_HXX
-
-#include <boost/shared_ptr.hpp>
-#include <boost/weak_ptr.hpp>
-
-#include "unoview.hxx"
-
-
-/* Definition of ViewEventHandler interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Interface for handling view events.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle view events.
- */
- class ViewEventHandler
- {
- public:
- virtual ~ViewEventHandler() {}
-
- /** Notify new view.
-
- @param rView
- The newly added view
- */
- virtual void viewAdded( const UnoViewSharedPtr& rView ) = 0;
-
- /** Notify removed view.
-
- @param rView
- The removed view
- */
- virtual void viewRemoved( const UnoViewSharedPtr& rView ) = 0;
-
- /** Notify changed view.
-
- Reasons for a viewChanged notification can be
- different view size, transformation, or other device
- properties (color resolution or profile, etc.)
-
- @param rView
- The changed view
- */
- virtual void viewChanged( const UnoViewSharedPtr& rView ) = 0;
-
- /** Notify that all views changed.
-
- Reasons for a viewChanged notification can be
- different view size, transformation, or other device
- properties (color resolution or profile, etc.)
-
- Note that this method avoids hidden inefficiencies
- (O(n^2) behaviour when viewChanged() needs to perform
- linear searches)
- */
- virtual void viewsChanged() = 0;
- };
-
- typedef ::boost::shared_ptr< ViewEventHandler > ViewEventHandlerSharedPtr;
- typedef ::boost::weak_ptr< ViewEventHandler > ViewEventHandlerWeakPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_VIEWEVENTHANDLER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/viewlayer.hxx b/slideshow/source/inc/viewlayer.hxx
deleted file mode 100644
index c2351a517..000000000
--- a/slideshow/source/inc/viewlayer.hxx
+++ /dev/null
@@ -1,178 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_VIEWLAYER_HXX
-#define INCLUDED_SLIDESHOW_VIEWLAYER_HXX
-
-#include <sal/config.h>
-#include <boost/shared_ptr.hpp>
-
-namespace basegfx
-{
- class B1DRange;
- class B2DRange;
- class B2DVector;
- class B2DHomMatrix;
- class B2DPolyPolygon;
-}
-namespace cppcanvas
-{
- class Canvas;
- class CustomSprite;
-}
-
-
-/* Definition of ViewLayer interface */
-
-namespace slideshow
-{
- namespace internal
- {
- class View;
-
- class ViewLayer
- {
- public:
- virtual ~ViewLayer() {}
-
- /** Query whether layer displays on given view.
-
- @return true, if this layer displays on the given
- view.
- */
- virtual bool isOnView(boost::shared_ptr<View> const& rView) const = 0;
-
- /** Get the associated canvas of this layer.
-
- The canvas returned by this method must not change, as
- long as this object is alive.
- */
- virtual boost::shared_ptr< cppcanvas::Canvas > getCanvas() const = 0;
-
- /** Clear the clipped view layer area
-
- This method clears the area inside the clip polygon,
- if none is set, the transformed unit rectangle of the
- view.
- */
- virtual void clear() const = 0;
-
- /** Clear the complete view
-
- This method clears the full view area (not only the
- transformed unit rectangle, or within the clip). If
- this ViewLayer represents the background layer, the
- whole XSlideShowView is cleared. If this ViewLayer is
- implemented using sprites (i.e. one of the upper
- layers), the sprite is cleared to fully transparent.
- */
- virtual void clearAll() const = 0;
-
- /** Create a sprite for this layer
-
- @param rSpriteSizePixel
- Sprite size in device pixel
-
- @param nPriority
- Sprite priority. This value determines the priority of
- this sprite, relative to all other sprites of this
- ViewLayer. The higher the priority, the closer to the
- foreground the sprite will be.
-
- @return the sprite, or NULL on failure (or if this
- canvas does not support sprites).
- */
- virtual boost::shared_ptr< cppcanvas::CustomSprite >
- createSprite( const basegfx::B2DVector& rSpriteSizePixel,
- double nPriority ) const = 0;
-
- /** Set the layer priority range
-
- This method influences the relative priority of this
- layer, i.e. the z position in relation to other layers
- on the parent view. The higher the priority range, the
- further in front the layer resides.
-
- @param rRange
- Priority range, must be in the range [0,1]
- */
- virtual void setPriority( const basegfx::B1DRange& rRange ) = 0;
-
- /** Get the overall view transformation.
-
- This method should <em>not</em> simply return the
- underlying canvas' transformation, but rather provide
- a layer above that. This enables clients of the
- slideshow to set their own user space transformation
- at the canvas, whilst the slideshow adds their
- transformation on top of that. Concretely, this method
- returns the user transform (implicitely calculated
- from the setViewSize() method), combined with the view
- transformation.
- */
- virtual basegfx::B2DHomMatrix getTransformation() const = 0;
-
- /** Get the overall view transformation.
-
- Same transformation as with getTransformation(), only
- that you can safely use this one to position sprites
- on screen (no ViewLayer offsets included whatsoever).
- */
- virtual basegfx::B2DHomMatrix getSpriteTransformation() const = 0;
-
- /** Set clipping on this view layer.
-
- @param rClip
- Clip poly-polygon to set. The polygon is interpreted
- in the user coordinate system, i.e. the view layer has
- the size as given by setViewSize() on its
- corresponding View.
- */
- virtual void setClip( const basegfx::B2DPolyPolygon& rClip ) = 0;
-
- /** Resize this view layer.
-
- @param rArea
- New area to cover. The area is interpreted in the user
- coordinate system, i.e. relative to the size as given
- by setViewSize() on the corresponding View.
-
- @return true, if layer was actually resized (which
- invalidates its content)
- */
- virtual bool resize( const basegfx::B2DRange& rArea ) = 0;
-
- };
-
- typedef boost::shared_ptr< ViewLayer > ViewLayerSharedPtr;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_VIEWLAYER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/viewrepainthandler.hxx b/slideshow/source/inc/viewrepainthandler.hxx
deleted file mode 100644
index a361825a1..000000000
--- a/slideshow/source/inc/viewrepainthandler.hxx
+++ /dev/null
@@ -1,76 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_VIEWREPAINTHANDLER_HXX
-#define INCLUDED_SLIDESHOW_VIEWREPAINTHANDLER_HXX
-
-#include <boost/shared_ptr.hpp>
-#include <boost/weak_ptr.hpp>
-
-#include "unoview.hxx"
-
-
-/* Definition of ViewRepaintHandler interface */
-
-namespace slideshow
-{
- namespace internal
- {
-
- /** Interface for handling view repaint events.
-
- Classes implementing this interface can be added to an
- EventMultiplexer object, and are called from there to
- handle view repaint events.
- */
- class ViewRepaintHandler
- {
- public:
- virtual ~ViewRepaintHandler() {}
-
- /** Notify clobbered view.
-
- Reasons for a viewChanged notification can be
- different view size, transformation, or other device
- properties (color resolution or profile, etc.)
-
- @param rView
- The changed view
- */
- virtual void viewClobbered( const UnoViewSharedPtr& rView ) = 0;
- };
-
- typedef ::boost::shared_ptr< ViewRepaintHandler > ViewRepaintHandlerSharedPtr;
- typedef ::boost::weak_ptr< ViewRepaintHandler > ViewRepaintHandlerWeakPtr;
-
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_VIEWREPAINTHANDLER_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/viewupdate.hxx b/slideshow/source/inc/viewupdate.hxx
deleted file mode 100644
index 7cddf1cbe..000000000
--- a/slideshow/source/inc/viewupdate.hxx
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#ifndef INCLUDED_SLIDESHOW_VIEWUPDATE_HXX
-#define INCLUDED_SLIDESHOW_VIEWUPDATE_HXX
-
-#include "disposable.hxx"
-#include "view.hxx"
-#include <boost/shared_ptr.hpp>
-
-/* Definition of ViewUpdate interface */
-
-namespace slideshow
-{
- namespace internal
- {
- /** Interface for something that can perform view updates.
-
- Use this interface for objects that perform view updates
- from time to time, e.g. slide content. Availability of
- updates can be queried, and subsequently performed.
- */
- class ViewUpdate : public Disposable
- {
- public:
- /** Perform the update action on all views
-
- @return true, if the update was performed
- successfully, false otherwise.
- */
- virtual bool update() = 0;
-
- /** Perform the update action on given view only
-
- @return true, if the update was performed
- successfully, false otherwise.
- */
- virtual bool update( ViewSharedPtr const& rView ) = 0;
-
- /** Query whether updates are pending
-
- @return true, if updates are pending. Calling update()
- subsequently will perform the pending update then.
- */
- virtual bool needsUpdate() const = 0;
- };
-
- typedef ::boost::shared_ptr< ViewUpdate > ViewUpdateSharedPtr;
- }
-}
-
-#endif /* INCLUDED_SLIDESHOW_VIEWUPDATE_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/slideshow/source/inc/wakeupevent.hxx b/slideshow/source/inc/wakeupevent.hxx
deleted file mode 100644
index 602993ebd..000000000
--- a/slideshow/source/inc/wakeupevent.hxx
+++ /dev/null
@@ -1,96 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef INCLUDED_SLIDESHOW_WAKEUPEVENT_HXX
-#define INCLUDED_SLIDESHOW_WAKEUPEVENT_HXX
-
-#include <canvas/elapsedtime.hxx>
-
-#include "event.hxx"
-#include "activitiesqueue.hxx"
-
-#include <boost/bind.hpp>
-#include <boost/noncopyable.hpp>
-
-namespace slideshow {
-namespace internal {
-
-/** Little helper class, used to set Activities active again
- after some sleep period.
-
- Clients can use this class to schedule wakeup events at
- the EventQueue, to avoid busy-waiting for the next
- discrete time instant.
-*/
-class WakeupEvent : public Event,
- private ::boost::noncopyable
-{
-public:
- WakeupEvent(
- ::boost::shared_ptr< ::canvas::tools::ElapsedTime > const& pTimeBase,
- ActivitiesQueue & rActivityQueue );
-
- virtual void dispose();
- virtual bool fire();
- virtual bool isCharged() const;
- virtual double getActivationTime( double nCurrentTime ) const;
-
- /// Start the internal timer
- void start();
-
- /** Set the next timeout this object should generate.
-
- @param nextTime
- Absolute time, measured from the last start() call,
- when this event should wakeup the Activity again. If
- your time is relative, simply call start() just before
- every setNextTimeout() call.
- */
- void setNextTimeout( double nextTime );
-
- /** Set activity to wakeup.
-
- The activity given here will be reinserted into the
- ActivitiesQueue, once the timeout is reached.
- */
- void setActivity( const ActivitySharedPtr& rActivity );
-
-private:
- ::canvas::tools::ElapsedTime maTimer;
- double mnNextTime;
- ActivitySharedPtr mpActivity;
- ActivitiesQueue& mrActivityQueue;
-};
-
-typedef ::boost::shared_ptr< WakeupEvent > WakeupEventSharedPtr;
-
-} // namespace internal
-} // namespace presentation
-
-#endif /* INCLUDED_SLIDESHOW_WAKEUPEVENT_HXX */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */