LibreOffice Module slideshow (master) 1
|
#include <slideoverlaybutton.hxx>
Public Member Functions | |
SlideOverlayButton (const SlideOverlayButton &)=delete | |
SlideOverlayButton & | operator= (const SlideOverlayButton &)=delete |
void | show () |
Shows button icon. More... | |
void | hide () |
Hides button icon. More... | |
css::geometry::IntegerSize2D | getSize () const |
basegfx::B2DPoint | calcSpritePos (UnoViewSharedPtr const &rView) const |
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... | |
Public Member Functions inherited from slideshow::internal::SharedPtrAble | |
virtual | ~SharedPtrAble () |
Public Member Functions inherited from slideshow::internal::MouseEventHandler | |
virtual | ~MouseEventHandler () |
virtual bool | handleMousePressed (const css::awt::MouseEvent &e)=0 |
Handle a mouse button pressed event. More... | |
virtual bool | handleMouseReleased (const css::awt::MouseEvent &e)=0 |
Handle a mouse button released event. More... | |
virtual bool | handleMouseDragged (const css::awt::MouseEvent &e)=0 |
Handle a mouse was moved with a pressed button event. More... | |
virtual bool | handleMouseMoved (const css::awt::MouseEvent &e)=0 |
Handle a mouse was moved event. More... | |
Static Public Member Functions | |
static SlideOverlayButtonSharedPtr | create (const css::uno::Reference< css::rendering::XBitmap > &xIconBitmap, css::awt::Point pPosition, std::function< void(basegfx::B2DPoint)> clickHandler, ScreenUpdater &rScreenUpdater, EventMultiplexer &rEventMultiplexer, const UnoViewContainer &rViewContainer) |
Private Types | |
typedef std::vector< std::pair< UnoViewSharedPtr, cppcanvas::CustomSpriteSharedPtr > > | ViewsVecT |
Private Member Functions | |
SlideOverlayButton (css::uno::Reference< css::rendering::XBitmap > xIconBitmap, css::awt::Point pPosition, std::function< void(basegfx::B2DPoint)> clickHandler, ScreenUpdater &rScreenUpdater, EventMultiplexer &rEventMultiplexer, const UnoViewContainer &rViewContainer) | |
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 bool | handleMousePressed (const css::awt::MouseEvent &e) override |
Handle a mouse button pressed event. More... | |
virtual bool | handleMouseReleased (const css::awt::MouseEvent &e) override |
Handle a mouse button released event. More... | |
virtual bool | handleMouseDragged (const css::awt::MouseEvent &e) override |
Handle a mouse was moved with a pressed button event. More... | |
virtual bool | handleMouseMoved (const css::awt::MouseEvent &e) override |
Handle a mouse was moved event. More... | |
void | setVisible (const bool bVisible) |
Private Attributes | |
css::uno::Reference< css::rendering::XBitmap > | mxIconBitmap |
EventMultiplexer & | mrEventMultiplexer |
css::awt::Point | mpPosition |
std::function< void(basegfx::B2DPoint)> | mClickHandler |
ViewsVecT | maViews |
ScreenUpdater & | mrScreenUpdater |
bool | mbVisible = false |
Definition at line 45 of file slideoverlaybutton.hxx.
|
private |
Definition at line 89 of file slideoverlaybutton.hxx.
|
delete |
Referenced by create().
|
private |
Definition at line 52 of file slideoverlaybutton.cxx.
References viewAdded().
basegfx::B2DPoint slideshow::internal::SlideOverlayButton::calcSpritePos | ( | UnoViewSharedPtr const & | rView | ) | const |
Definition at line 85 of file slideoverlaybutton.cxx.
References mpPosition, and mxIconBitmap.
Referenced by viewAdded(), viewChanged(), and viewsChanged().
|
static |
Definition at line 38 of file slideoverlaybutton.cxx.
References slideshow::internal::EventMultiplexer::addClickHandler(), slideshow::internal::EventMultiplexer::addViewHandler(), and SlideOverlayButton().
css::geometry::IntegerSize2D slideshow::internal::SlideOverlayButton::getSize | ( | ) | const |
Definition at line 83 of file slideoverlaybutton.cxx.
References mxIconBitmap.
|
overrideprivatevirtual |
Handle a mouse was moved with a pressed button event.
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. |
Implements slideshow::internal::MouseEventHandler.
Definition at line 181 of file slideoverlaybutton.cxx.
|
overrideprivatevirtual |
Handle a mouse was moved event.
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. |
Implements slideshow::internal::MouseEventHandler.
Definition at line 183 of file slideoverlaybutton.cxx.
|
overrideprivatevirtual |
Handle a mouse button pressed event.
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. |
Implements slideshow::internal::MouseEventHandler.
Definition at line 157 of file slideoverlaybutton.cxx.
|
overrideprivatevirtual |
Handle a mouse button released event.
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. |
Implements slideshow::internal::MouseEventHandler.
Definition at line 159 of file slideoverlaybutton.cxx.
References basegfx::Tuple2D< typename TYPE >::getX(), basegfx::Tuple2D< typename TYPE >::getY(), mClickHandler, mpPosition, mrEventMultiplexer, mxIconBitmap, and slideshow::internal::EventMultiplexer::toNormalPoint().
|
inline |
|
delete |
|
private |
Definition at line 68 of file slideoverlaybutton.cxx.
References bVisible, maViews, mbVisible, mrScreenUpdater, and slideshow::internal::ScreenUpdater::requestImmediateUpdate().
|
inline |
|
overrideprivatevirtual |
Notify new view.
rView | The newly added view |
Implements slideshow::internal::ViewEventHandler.
Definition at line 95 of file slideoverlaybutton.cxx.
References calcSpritePos(), canvas::tools::initRenderState(), canvas::tools::initViewState(), maViews, mxIconBitmap, and TOOLS_WARN_EXCEPTION.
Referenced by SlideOverlayButton().
|
overrideprivatevirtual |
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 132 of file slideoverlaybutton.cxx.
References calcSpritePos(), and maViews.
|
overrideprivatevirtual |
Notify removed view.
rView | The removed view |
Implements slideshow::internal::ViewEventHandler.
Definition at line 124 of file slideoverlaybutton.cxx.
References maViews.
|
overrideprivatevirtual |
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 147 of file slideoverlaybutton.cxx.
References calcSpritePos(), and maViews.
|
private |
Definition at line 96 of file slideoverlaybutton.hxx.
Referenced by setVisible(), viewAdded(), viewChanged(), viewRemoved(), and viewsChanged().
|
private |
Definition at line 98 of file slideoverlaybutton.hxx.
Referenced by setVisible().
|
private |
Definition at line 94 of file slideoverlaybutton.hxx.
Referenced by handleMouseReleased().
|
private |
Definition at line 93 of file slideoverlaybutton.hxx.
Referenced by calcSpritePos(), and handleMouseReleased().
|
private |
Definition at line 92 of file slideoverlaybutton.hxx.
Referenced by handleMouseReleased().
|
private |
Definition at line 97 of file slideoverlaybutton.hxx.
Referenced by setVisible().
|
private |
Definition at line 91 of file slideoverlaybutton.hxx.
Referenced by calcSpritePos(), getSize(), handleMouseReleased(), and viewAdded().