LibreOffice Module slideshow (master) 1
Public Member Functions | Private Attributes | List of all members
slideshow::internal::PaintOverlayHandler Class Reference
Inheritance diagram for slideshow::internal::PaintOverlayHandler:
[legend]
Collaboration diagram for slideshow::internal::PaintOverlayHandler:
[legend]

Public Member Functions

 PaintOverlayHandler (const RGBColor &rStrokeColor, double nStrokeWidth, ScreenUpdater &rScreenUpdater, const UnoViewContainer &rViews, Slide &rSlide, PolyPolygonVector &&rPolygons, bool bActive)
 
void dispose ()
 
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 &) override
 Notify changed view. More...
 
virtual void viewsChanged () override
 Notify that all views changed. More...
 
bool colorChanged (RGBColor const &rUserColor) override
 
bool widthChanged (double nUserStrokeWidth) override
 
void repaintWithoutPolygons ()
 
bool eraseAllInkChanged (bool bEraseAllInk) override
 
bool eraseInkWidthChanged (sal_Int32 rEraseInkSize) override
 
bool switchPenMode () override
 
bool switchEraserMode () override
 
bool disable () override
 
void drawPolygons ()
 
const PolyPolygonVectorgetPolygons () const
 
virtual bool handleMousePressed (const awt::MouseEvent &e) override
 
virtual bool handleMouseReleased (const awt::MouseEvent &e) override
 
virtual bool handleMouseDragged (const awt::MouseEvent &e) override
 
virtual bool handleMouseMoved (const awt::MouseEvent &) override
 
- 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...
 
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::UserPaintEventHandler
virtual ~UserPaintEventHandler ()
 
virtual bool colorChanged (RGBColor const &rUserColor)=0
 
virtual bool widthChanged (double nUserStrokeWidth)=0
 
virtual bool eraseAllInkChanged (bool bEraseAllInk)=0
 
virtual bool eraseInkWidthChanged (sal_Int32 rEraseInkSize)=0
 
virtual bool switchEraserMode ()=0
 
virtual bool switchPenMode ()=0
 
virtual bool disable ()=0
 

Private Attributes

ScreenUpdatermrScreenUpdater
 
UnoViewVector maViews
 
PolyPolygonVector maPolygons
 
RGBColor maStrokeColor
 
double mnStrokeWidth
 
basegfx::B2DPoint maLastPoint
 
basegfx::B2DPoint maLastMouseDownPos
 
bool mbIsLastPointValid
 
bool mbIsLastMouseDownPosValid
 
bool mbIsEraseAllModeActivated
 
bool mbIsEraseModeActivated
 
SlidemrSlide
 
sal_Int32 mnSize
 
bool mbActive
 

Detailed Description

Definition at line 44 of file userpaintoverlay.cxx.

Constructor & Destructor Documentation

◆ PaintOverlayHandler()

slideshow::internal::PaintOverlayHandler::PaintOverlayHandler ( const RGBColor rStrokeColor,
double  nStrokeWidth,
ScreenUpdater rScreenUpdater,
const UnoViewContainer rViews,
Slide rSlide,
PolyPolygonVector &&  rPolygons,
bool  bActive 
)
inline

Definition at line 49 of file userpaintoverlay.cxx.

References drawPolygons(), and viewAdded().

Member Function Documentation

◆ colorChanged()

bool slideshow::internal::PaintOverlayHandler::colorChanged ( RGBColor const &  rUserColor)
inlineoverridevirtual

◆ disable()

bool slideshow::internal::PaintOverlayHandler::disable ( )
inlineoverridevirtual

◆ dispose()

void slideshow::internal::PaintOverlayHandler::dispose ( void  )
inline

Definition at line 79 of file userpaintoverlay.cxx.

References maViews.

◆ drawPolygons()

void slideshow::internal::PaintOverlayHandler::drawPolygons ( )
inline

◆ eraseAllInkChanged()

bool slideshow::internal::PaintOverlayHandler::eraseAllInkChanged ( bool  bEraseAllInk)
inlineoverridevirtual

◆ eraseInkWidthChanged()

bool slideshow::internal::PaintOverlayHandler::eraseInkWidthChanged ( sal_Int32  rEraseInkSize)
inlineoverridevirtual

Implements slideshow::internal::UserPaintEventHandler.

Definition at line 174 of file userpaintoverlay.cxx.

References mbIsEraseModeActivated, and mnSize.

◆ getPolygons()

const PolyPolygonVector & slideshow::internal::PaintOverlayHandler::getPolygons ( ) const
inline

Definition at line 219 of file userpaintoverlay.cxx.

References maPolygons.

◆ handleMouseDragged()

virtual bool slideshow::internal::PaintOverlayHandler::handleMouseDragged ( const awt::MouseEvent &  e)
inlineoverridevirtual

◆ handleMouseMoved()

virtual bool slideshow::internal::PaintOverlayHandler::handleMouseMoved ( const awt::MouseEvent &  )
inlineoverridevirtual

Definition at line 400 of file userpaintoverlay.cxx.

◆ handleMousePressed()

virtual bool slideshow::internal::PaintOverlayHandler::handleMousePressed ( const awt::MouseEvent &  e)
inlineoverridevirtual

◆ handleMouseReleased()

virtual bool slideshow::internal::PaintOverlayHandler::handleMouseReleased ( const awt::MouseEvent &  e)
inlineoverridevirtual

◆ repaintWithoutPolygons()

void slideshow::internal::PaintOverlayHandler::repaintWithoutPolygons ( )
inline

◆ switchEraserMode()

bool slideshow::internal::PaintOverlayHandler::switchEraserMode ( )
inlineoverridevirtual

◆ switchPenMode()

bool slideshow::internal::PaintOverlayHandler::switchPenMode ( )
inlineoverridevirtual

◆ viewAdded()

virtual void slideshow::internal::PaintOverlayHandler::viewAdded ( const UnoViewSharedPtr rView)
inlineoverridevirtual

Notify new view.

Parameters
rViewThe newly added view

Implements slideshow::internal::ViewEventHandler.

Definition at line 85 of file userpaintoverlay.cxx.

References maViews.

Referenced by PaintOverlayHandler().

◆ viewChanged()

virtual void slideshow::internal::PaintOverlayHandler::viewChanged ( const UnoViewSharedPtr rView)
inlineoverridevirtual

Notify changed view.

Reasons for a viewChanged notification can be different view size, transformation, or other device properties (color resolution or profile, etc.)

Parameters
rViewThe changed view

Implements slideshow::internal::ViewEventHandler.

Definition at line 97 of file userpaintoverlay.cxx.

◆ viewRemoved()

virtual void slideshow::internal::PaintOverlayHandler::viewRemoved ( const UnoViewSharedPtr rView)
inlineoverridevirtual

Notify removed view.

Parameters
rViewThe removed view

Implements slideshow::internal::ViewEventHandler.

Definition at line 90 of file userpaintoverlay.cxx.

References maViews.

◆ viewsChanged()

virtual void slideshow::internal::PaintOverlayHandler::viewsChanged ( )
inlineoverridevirtual

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 103 of file userpaintoverlay.cxx.

◆ widthChanged()

bool slideshow::internal::PaintOverlayHandler::widthChanged ( double  nUserStrokeWidth)
inlineoverridevirtual

Member Data Documentation

◆ maLastMouseDownPos

basegfx::B2DPoint slideshow::internal::PaintOverlayHandler::maLastMouseDownPos
private

Definition at line 413 of file userpaintoverlay.cxx.

Referenced by handleMousePressed(), and handleMouseReleased().

◆ maLastPoint

basegfx::B2DPoint slideshow::internal::PaintOverlayHandler::maLastPoint
private

Definition at line 412 of file userpaintoverlay.cxx.

Referenced by handleMouseDragged().

◆ maPolygons

PolyPolygonVector slideshow::internal::PaintOverlayHandler::maPolygons
private

◆ maStrokeColor

RGBColor slideshow::internal::PaintOverlayHandler::maStrokeColor
private

Definition at line 410 of file userpaintoverlay.cxx.

Referenced by colorChanged(), and handleMouseDragged().

◆ maViews

UnoViewVector slideshow::internal::PaintOverlayHandler::maViews
private

◆ mbActive

bool slideshow::internal::PaintOverlayHandler::mbActive
private

◆ mbIsEraseAllModeActivated

bool slideshow::internal::PaintOverlayHandler::mbIsEraseAllModeActivated
private

Definition at line 417 of file userpaintoverlay.cxx.

Referenced by eraseAllInkChanged().

◆ mbIsEraseModeActivated

bool slideshow::internal::PaintOverlayHandler::mbIsEraseModeActivated
private

◆ mbIsLastMouseDownPosValid

bool slideshow::internal::PaintOverlayHandler::mbIsLastMouseDownPosValid
private

Definition at line 415 of file userpaintoverlay.cxx.

Referenced by disable(), handleMousePressed(), and handleMouseReleased().

◆ mbIsLastPointValid

bool slideshow::internal::PaintOverlayHandler::mbIsLastPointValid
private

◆ mnSize

sal_Int32 slideshow::internal::PaintOverlayHandler::mnSize
private

Definition at line 420 of file userpaintoverlay.cxx.

Referenced by eraseInkWidthChanged(), and handleMouseDragged().

◆ mnStrokeWidth

double slideshow::internal::PaintOverlayHandler::mnStrokeWidth
private

Definition at line 411 of file userpaintoverlay.cxx.

Referenced by handleMouseDragged(), and widthChanged().

◆ mrScreenUpdater

ScreenUpdater& slideshow::internal::PaintOverlayHandler::mrScreenUpdater
private

Definition at line 407 of file userpaintoverlay.cxx.

Referenced by drawPolygons(), handleMouseDragged(), and repaintWithoutPolygons().

◆ mrSlide

Slide& slideshow::internal::PaintOverlayHandler::mrSlide
private

Definition at line 419 of file userpaintoverlay.cxx.

Referenced by handleMouseDragged(), and repaintWithoutPolygons().


The documentation for this class was generated from the following file: