21#include <com/sun/star/awt/MouseButton.hpp>
22#include <com/sun/star/awt/MouseEvent.hpp>
73 for(
const auto& rView : rViews )
128 for(
const auto& rxView :
maViews )
137 const ::basegfx::B2DHomMatrix aViewTransform( rxView->getTransformation() );
147 pBitmap->move( aOutPosPixel );
152 pBitmap->draw( pDevicePixelCanvas );
230 if (e.Buttons == awt::MouseButton::RIGHT)
236 if (e.Buttons != awt::MouseButton::LEFT)
253 if (e.Buttons == awt::MouseButton::RIGHT)
259 if (e.Buttons != awt::MouseButton::LEFT)
290 if (e.Buttons == awt::MouseButton::RIGHT)
328 for (
const auto& rxView :
maViews)
345 pBitmap->move( aOutPosPixel );
348 aViewTransform.
translate(-aOutPosPixel.getX(), -aOutPosPixel.getY());
351 pBitmap->clip(aPolyPoly);
352 pBitmap->draw( pDevicePixelCanvas );
377 for (
const auto& rxView :
maViews)
433 std::move(rPolygons),
446 rContext.mrScreenUpdater,
447 rContext.mrViewContainer,
450 std::move(rPolygons), bActive )),
478 catch (
const uno::Exception&)
void translate(double fX, double fY)
void transform(const basegfx::B2DHomMatrix &rMatrix)
void append(const basegfx::B2DPoint &rPoint, sal_uInt32 nCount)
static PolyPolygonSharedPtr createPolyPolygon(const CanvasSharedPtr &, const ::basegfx::B2DPolygon &rPoly)
void removeClickHandler(const MouseEventHandlerSharedPtr &rHandler)
void removeMouseMoveHandler(const MouseEventHandlerSharedPtr &rHandler)
void addClickHandler(const MouseEventHandlerSharedPtr &rHandler, double nPriority)
Register a mouse handler that is called on mouse click.
void addMouseMoveHandler(const MouseEventHandlerSharedPtr &rHandler, double nPriority)
Register a mouse handler that is called for mouse moves.
void removeViewHandler(const ViewEventHandlerWeakPtr &rHandler)
void addViewHandler(const ViewEventHandlerWeakPtr &rHandler)
Register an event handler that will be called when views are changed.
void addUserPaintHandler(const UserPaintEventHandlerSharedPtr &rHandler)
Register an event handler that will be called when user paint parameters change.
Interface for handling mouse events.
ScreenUpdater & mrScreenUpdater
virtual void viewRemoved(const UnoViewSharedPtr &rView) override
Notify removed view.
bool eraseInkWidthChanged(sal_Int32 rEraseInkSize) override
void repaintWithoutPolygons()
PaintOverlayHandler(const RGBColor &rStrokeColor, double nStrokeWidth, ScreenUpdater &rScreenUpdater, const UnoViewContainer &rViews, Slide &rSlide, PolyPolygonVector &&rPolygons, bool bActive)
bool mbIsLastMouseDownPosValid
PolyPolygonVector maPolygons
virtual void viewAdded(const UnoViewSharedPtr &rView) override
Notify new view.
bool eraseAllInkChanged(bool bEraseAllInk) override
virtual bool handleMousePressed(const awt::MouseEvent &e) override
virtual bool handleMouseReleased(const awt::MouseEvent &e) override
bool mbIsEraseModeActivated
virtual void viewChanged(const UnoViewSharedPtr &) override
Notify changed view.
const PolyPolygonVector & getPolygons() const
basegfx::B2DPoint maLastMouseDownPos
bool switchPenMode() override
bool colorChanged(RGBColor const &rUserColor) override
bool switchEraserMode() override
virtual void viewsChanged() override
Notify that all views changed.
virtual bool handleMouseMoved(const awt::MouseEvent &) override
basegfx::B2DPoint maLastPoint
bool mbIsEraseAllModeActivated
bool widthChanged(double nUserStrokeWidth) override
virtual bool handleMouseDragged(const awt::MouseEvent &e) override
::cppcanvas::IntSRGBA getIntegerColor() const
Create an integer sRGBA color.
void notifyUpdate()
Notify screen update.
virtual SlideBitmapSharedPtr getCurrentSlideBitmap(const UnoViewSharedPtr &rView) const =0
Request bitmap for current slide appearance.
Interface for handling user paint state changes.
EventMultiplexer & mrMultiplexer
PolyPolygonVector const & getPolygons() const
static UserPaintOverlaySharedPtr create(const RGBColor &rStrokeColor, double nStrokeWidth, const SlideShowContext &rContext, PolyPolygonVector &&rPolygons, bool bActive)
Create a UserPaintOverlay.
UserPaintOverlay(const UserPaintOverlay &)=delete
::std::shared_ptr< PaintOverlayHandler > mpHandler
Interface for handling view events.
#define TOOLS_WARN_EXCEPTION(area, stream)
HandlerSharedPtrT mpHandler
std::shared_ptr< PolyPolygon > PolyPolygonSharedPtr
std::shared_ptr< Canvas > CanvasSharedPtr
std::shared_ptr< T > make_shared(Args &&... args)
::std::shared_ptr< class UserPaintOverlay > UserPaintOverlaySharedPtr
::std::vector< ::cppcanvas::PolyPolygonSharedPtr > PolyPolygonVector
::std::shared_ptr< SlideBitmap > SlideBitmapSharedPtr
std::vector< UnoViewSharedPtr > UnoViewVector
std::shared_ptr< UnoView > UnoViewSharedPtr
CursorManager & mrCursorManager
parent cursor manager
EventMultiplexer & mrEventMultiplexer
Common arguments for slideshow objects.
EventMultiplexer & mrMultiplexer