LibreOffice Module slideshow (master) 1
|
#include <rehearsetimingsactivity.hxx>
Classes | |
class | MouseHandler |
class | WakeupEvent |
Public Member Functions | |
virtual | ~RehearseTimingsActivity () override |
RehearseTimingsActivity (const RehearseTimingsActivity &)=delete | |
RehearseTimingsActivity & | operator= (const RehearseTimingsActivity &)=delete |
void | start () |
Starts and shows the timer; adds to activity queue. More... | |
double | stop () |
Stops and hides the timer. More... | |
bool | hasBeenClicked () const |
Determines whether the timer button has been clicked. More... | |
virtual void | viewAdded (const UnoViewSharedPtr &rView) override |
Notify new view. More... | |
virtual void | viewRemoved (const UnoViewSharedPtr &rView) override |
Notify removed view. More... | |
virtual void | viewChanged (const UnoViewSharedPtr &rView) override |
Notify changed view. More... | |
virtual void | viewsChanged () override |
Notify that all views changed. More... | |
virtual void | dispose () override |
Dispose all object references. More... | |
virtual double | calcTimeLag () const override |
Calculates whether the activity lags time. More... | |
virtual bool | perform () override |
Perform the activity associated with this interface's implementation. More... | |
virtual bool | isActive () const override |
Query whether this activity is still continuing. More... | |
virtual void | dequeued () override |
Notifies the Activity that it has now left the ActivitiesQueue. More... | |
virtual void | end () override |
Forces this activity deactivate and get to its end state (if possible), but does not dispose. More... | |
virtual bool | perform ()=0 |
Perform the activity associated with this interface's implementation. More... | |
virtual double | calcTimeLag () const =0 |
Calculates whether the activity lags time. More... | |
virtual bool | isActive () const =0 |
Query whether this activity is still continuing. More... | |
virtual void | dequeued ()=0 |
Notifies the Activity that it has now left the ActivitiesQueue. More... | |
virtual void | end ()=0 |
Forces this activity deactivate and get to its end state (if possible), but does not dispose. More... | |
Public Member Functions inherited from slideshow::internal::Disposable | |
virtual | ~Disposable () |
virtual void | dispose ()=0 |
Dispose all object references. More... | |
Public Member Functions inherited from slideshow::internal::SharedPtrAble | |
virtual | ~SharedPtrAble () |
virtual void | viewAdded (const UnoViewSharedPtr &rView)=0 |
Notify new view. More... | |
virtual void | viewRemoved (const UnoViewSharedPtr &rView)=0 |
Notify removed view. More... | |
virtual void | viewChanged (const UnoViewSharedPtr &rView)=0 |
Notify changed view. More... | |
virtual void | viewsChanged ()=0 |
Notify that all views changed. More... | |
Static Public Member Functions | |
static std::shared_ptr< RehearseTimingsActivity > | create (const SlideShowContext &rContext) |
Creates the activity. More... | |
Private Types | |
typedef std::vector< std::pair< UnoViewSharedPtr, std::shared_ptr< cppcanvas::CustomSprite > > > | ViewsVecT |
Private Member Functions | |
RehearseTimingsActivity (const SlideShowContext &rContext) | |
void | paint (::cppcanvas::CanvasSharedPtr const &canvas) const |
void | paintAllSprites () const |
template<typename func_type > | |
void | for_each_sprite (func_type const &func) const |
::basegfx::B2DRange | calcSpriteRectangle (UnoViewSharedPtr const &rView) const |
Private Attributes | |
EventQueue & | mrEventQueue |
ScreenUpdater & | mrScreenUpdater |
EventMultiplexer & | mrEventMultiplexer |
ActivitiesQueue & | mrActivitiesQueue |
canvas::tools::ElapsedTime | maElapsedTime |
ViewsVecT | maViews |
::basegfx::B2DRange | maSpriteRectangle |
screen rect of sprite (in view coordinates!) More... | |
vcl::Font | maFont |
std::shared_ptr< WakeupEvent > | mpWakeUpEvent |
std::shared_ptr< MouseHandler > | mpMouseHandler |
::basegfx::B2IVector | maSpriteSizePixel |
sal_Int32 | mnYOffset |
bool | mbActive |
bool | mbDrawPressed |
Friends | |
class | MouseHandler |
Definition at line 49 of file rehearsetimingsactivity.hxx.
|
private |
Definition at line 103 of file rehearsetimingsactivity.hxx.
|
overridevirtual |
Definition at line 174 of file rehearsetimingsactivity.cxx.
References stop(), and TOOLS_WARN_EXCEPTION.
|
delete |
Referenced by create().
|
explicitprivate |
Definition at line 137 of file rehearsetimingsactivity.cxx.
References ALIGN_BASELINE, COL_BLACK(), FontMetric::GetAscent(), vcl::Font::GetAverageFontWidth(), vcl::Font::GetFontHeight(), FontMetric::GetLineHeight(), tools::Rectangle::getOpenWidth(), maFont, maSpriteSizePixel, mnYOffset, slideshow::internal::SlideShowContext::mrViewContainer, vcl::Font::SetAlignment(), vcl::Font::SetAverageFontWidth(), vcl::Font::SetColor(), vcl::Font::SetFontHeight(), basegfx::Tuple2D< typename TYPE >::setX(), basegfx::Tuple2D< typename TYPE >::setY(), and viewAdded().
|
private |
Definition at line 301 of file rehearsetimingsactivity.cxx.
References basegfx::Size2D< typename TYPE >::getHeight(), basegfx::Size2D< typename TYPE >::getWidth(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), basegfx::B2DHomMatrix::invert(), slideshow::internal::LEFT_BORDER_SPACE, slideshow::internal::LOWER_BORDER_SPACE, and maSpriteSizePixel.
Referenced by viewAdded(), viewChanged(), and viewsChanged().
|
overridevirtual |
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.
Implements slideshow::internal::Activity.
Definition at line 256 of file rehearsetimingsactivity.cxx.
|
static |
Creates the activity.
Definition at line 186 of file rehearsetimingsactivity.cxx.
References slideshow::internal::EventMultiplexer::addViewHandler(), slideshow::internal::EventQueue::getTimer(), slideshow::internal::SlideShowContext::mrActivitiesQueue, slideshow::internal::SlideShowContext::mrEventMultiplexer, slideshow::internal::SlideShowContext::mrEventQueue, and RehearseTimingsActivity().
|
overridevirtual |
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.
Implements slideshow::internal::Activity.
Definition at line 287 of file rehearsetimingsactivity.cxx.
|
overridevirtual |
Dispose all object references.
An implementor of this method must first call dispose() on any of its external references, and release them after that.
Implements slideshow::internal::Disposable.
Definition at line 245 of file rehearsetimingsactivity.cxx.
References maViews, mpMouseHandler, mpWakeUpEvent, and stop().
|
overridevirtual |
Forces this activity deactivate and get to its end state (if possible), but does not dispose.
Implements slideshow::internal::Activity.
Definition at line 292 of file rehearsetimingsactivity.cxx.
References isActive(), mbActive, and stop().
|
inlineprivate |
Definition at line 106 of file rehearsetimingsactivity.hxx.
References maViews.
Referenced by paintAllSprites(), start(), stop(), and viewsChanged().
bool slideshow::internal::RehearseTimingsActivity::hasBeenClicked | ( | ) | const |
Determines whether the timer button has been clicked.
Definition at line 237 of file rehearsetimingsactivity.cxx.
References mpMouseHandler.
|
overridevirtual |
Query whether this activity is still continuing.
Implements slideshow::internal::Activity.
Definition at line 282 of file rehearsetimingsactivity.cxx.
References mbActive.
Referenced by end(), perform(), and viewAdded().
|
delete |
|
private |
Definition at line 410 of file rehearsetimingsactivity.cxx.
References COL_BLACK(), COL_GRAY(), COL_LIGHTGRAY(), COL_WHITE(), cppcanvas::VCLFactory::createRenderer(), canvas::tools::ElapsedTime::getElapsedTime(), tools::Rectangle::getOpenWidth(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), maElapsedTime, maFont, maSpriteSizePixel, mbDrawPressed, mnYOffset, n, GDIMetaFile::Record(), GDIMetaFile::SetPrefSize(), GDIMetaFile::Stop(), and GDIMetaFile::WindStart().
Referenced by paintAllSprites().
|
private |
Definition at line 403 of file rehearsetimingsactivity.cxx.
References for_each_sprite(), and paint().
|
overridevirtual |
Perform the activity associated with this interface's implementation.
Implements slideshow::internal::Activity.
Definition at line 261 of file rehearsetimingsactivity.cxx.
References slideshow::internal::EventQueue::addEvent(), isActive(), mpWakeUpEvent, mrEventQueue, mrScreenUpdater, slideshow::internal::ScreenUpdater::notifyUpdate(), and paintAllSprites().
void slideshow::internal::RehearseTimingsActivity::start | ( | ) |
Starts and shows the timer; adds to activity queue.
Definition at line 204 of file rehearsetimingsactivity.cxx.
References slideshow::internal::ActivitiesQueue::addActivity(), slideshow::internal::EventMultiplexer::addClickHandler(), slideshow::internal::EventMultiplexer::addMouseMoveHandler(), for_each_sprite(), maElapsedTime, mbActive, mbDrawPressed, mpMouseHandler, mrActivitiesQueue, mrEventMultiplexer, paintAllSprites(), and canvas::tools::ElapsedTime::reset().
double slideshow::internal::RehearseTimingsActivity::stop | ( | ) |
Stops and hides the timer.
Definition at line 224 of file rehearsetimingsactivity.cxx.
References for_each_sprite(), canvas::tools::ElapsedTime::getElapsedTime(), maElapsedTime, mbActive, mpMouseHandler, mrEventMultiplexer, slideshow::internal::EventMultiplexer::removeClickHandler(), and slideshow::internal::EventMultiplexer::removeMouseMoveHandler().
Referenced by dispose(), end(), and ~RehearseTimingsActivity().
|
overridevirtual |
Notify new view.
rView | The newly added view |
Implements slideshow::internal::ViewEventHandler.
Definition at line 326 of file rehearsetimingsactivity.cxx.
References calcSpriteRectangle(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinX(), basegfx::Range2D< typename TYPE, typename TRAITS >::getMinY(), basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), isActive(), maSpriteRectangle, maSpriteSizePixel, and maViews.
Referenced by RehearseTimingsActivity().
|
overridevirtual |
Notify changed view.
Reasons for a viewChanged notification can be different view size, transformation, or other device properties (color resolution or profile, etc.)
rView | The changed view |
Implements slideshow::internal::ViewEventHandler.
Definition at line 360 of file rehearsetimingsactivity.cxx.
References calcSpriteRectangle(), basegfx::B2DRange::getMinimum(), maSpriteRectangle, maViews, mrScreenUpdater, and slideshow::internal::ScreenUpdater::notifyUpdate().
|
overridevirtual |
Notify removed view.
rView | The removed view |
Implements slideshow::internal::ViewEventHandler.
Definition at line 350 of file rehearsetimingsactivity.cxx.
References maViews.
|
overridevirtual |
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)
Implements slideshow::internal::ViewEventHandler.
Definition at line 386 of file rehearsetimingsactivity.cxx.
References calcSpriteRectangle(), for_each_sprite(), basegfx::B2DRange::getMinimum(), maSpriteRectangle, maViews, mrScreenUpdater, and slideshow::internal::ScreenUpdater::notifyUpdate().
|
friend |
Definition at line 99 of file rehearsetimingsactivity.hxx.
|
private |
Definition at line 121 of file rehearsetimingsactivity.hxx.
|
private |
Definition at line 128 of file rehearsetimingsactivity.hxx.
Referenced by paint(), and RehearseTimingsActivity().
|
private |
screen rect of sprite (in view coordinates!)
Definition at line 126 of file rehearsetimingsactivity.hxx.
Referenced by viewAdded(), viewChanged(), and viewsChanged().
|
private |
Definition at line 131 of file rehearsetimingsactivity.hxx.
Referenced by calcSpriteRectangle(), paint(), RehearseTimingsActivity(), and viewAdded().
|
private |
Definition at line 123 of file rehearsetimingsactivity.hxx.
Referenced by dispose(), for_each_sprite(), viewAdded(), viewChanged(), viewRemoved(), and viewsChanged().
|
private |
Definition at line 133 of file rehearsetimingsactivity.hxx.
Referenced by end(), isActive(), start(), and stop().
|
private |
Definition at line 134 of file rehearsetimingsactivity.hxx.
|
private |
Definition at line 132 of file rehearsetimingsactivity.hxx.
Referenced by paint(), and RehearseTimingsActivity().
|
private |
Definition at line 130 of file rehearsetimingsactivity.hxx.
Referenced by dispose(), hasBeenClicked(), start(), and stop().
|
private |
Definition at line 129 of file rehearsetimingsactivity.hxx.
|
private |
Definition at line 120 of file rehearsetimingsactivity.hxx.
Referenced by start().
|
private |
Definition at line 119 of file rehearsetimingsactivity.hxx.
|
private |
Definition at line 117 of file rehearsetimingsactivity.hxx.
Referenced by perform().
|
private |
Definition at line 118 of file rehearsetimingsactivity.hxx.
Referenced by perform(), viewChanged(), and viewsChanged().