Krita Source Code Documentation
Loading...
Searching...
No Matches
KisSnapPixelStrategy Class Reference

#include <KisSnapPixelStrategy.h>

+ Inheritance diagram for KisSnapPixelStrategy:

Public Member Functions

QPainterPath decoration (const KoViewConverter &converter) const override
 returns the current snap strategy decoration
 
 KisSnapPixelStrategy (KoSnapGuide::Strategy type=KoSnapGuide::PixelSnapping)
 
bool snap (const QPointF &mousePosition, KoSnapProxy *proxy, qreal maxSnapDistance) override
 
 ~KisSnapPixelStrategy () override
 
- Public Member Functions inherited from KoSnapStrategy
 KoSnapStrategy (KoSnapGuide::Strategy type)
 
QPointF snappedPosition () const
 returns the snapped position form the last call to snapToPoints
 
SnapType snappedType () const
 
KoSnapGuide::Strategy type () const
 returns the strategies type
 
virtual ~KoSnapStrategy ()
 

Additional Inherited Members

- Public Types inherited from KoSnapStrategy
enum  SnapType { ToPoint = 0 , ToLine }
 
- Static Public Member Functions inherited from KoSnapStrategy
static qreal scalarProduct (const QPointF &p1, const QPointF &p2)
 
static qreal squareDistance (const QPointF &p1, const QPointF &p2)
 
- Protected Member Functions inherited from KoSnapStrategy
void setSnappedPosition (const QPointF &position, SnapType snapType)
 sets the current snapped position
 

Detailed Description

Definition at line 14 of file KisSnapPixelStrategy.h.

Constructor & Destructor Documentation

◆ KisSnapPixelStrategy()

KisSnapPixelStrategy::KisSnapPixelStrategy ( KoSnapGuide::Strategy type = KoSnapGuide::PixelSnapping)

Definition at line 14 of file KisSnapPixelStrategy.cpp.

14 :
16{
17}
KoSnapGuide::Strategy type() const
returns the strategies type
KoSnapStrategy(KoSnapGuide::Strategy type)

◆ ~KisSnapPixelStrategy()

KisSnapPixelStrategy::~KisSnapPixelStrategy ( )
override

Definition at line 19 of file KisSnapPixelStrategy.cpp.

20{
21}

Member Function Documentation

◆ decoration()

QPainterPath KisSnapPixelStrategy::decoration ( const KoViewConverter & converter) const
overridevirtual

returns the current snap strategy decoration

Implements KoSnapStrategy.

Definition at line 36 of file KisSnapPixelStrategy.cpp.

37{
38 QSizeF unzoomedSize = converter.viewToDocument(QSizeF(5, 5));
39 QPainterPath decoration;
40 decoration.moveTo(snappedPosition() - QPointF(unzoomedSize.width(), 0));
41 decoration.lineTo(snappedPosition() + QPointF(unzoomedSize.width(), 0));
42 decoration.moveTo(snappedPosition() - QPointF(0, unzoomedSize.height()));
43 decoration.lineTo(snappedPosition() + QPointF(0, unzoomedSize.height()));
44 return decoration;
45}
QPainterPath decoration(const KoViewConverter &converter) const override
returns the current snap strategy decoration
QPointF snappedPosition() const
returns the snapped position form the last call to snapToPoints
virtual QPointF viewToDocument(const QPointF &viewPoint) const

References decoration(), KoSnapStrategy::snappedPosition(), and KoViewConverter::viewToDocument().

◆ snap()

bool KisSnapPixelStrategy::snap ( const QPointF & mousePosition,
KoSnapProxy * proxy,
qreal maxSnapDistance )
overridevirtual

Implements KoSnapStrategy.

Definition at line 23 of file KisSnapPixelStrategy.cpp.

24{
25 Q_UNUSED(maxSnapDistance);
26 KisCanvas2 *canvas2 = dynamic_cast<KisCanvas2*>(proxy->canvas());
28
29 const QPointF imagePos = canvas2->coordinatesConverter()->documentToImage(mousePosition);
30 const QPointF alignedDocPoint = canvas2->coordinatesConverter()->imageToDocument(imagePos.toPoint());
31 setSnappedPosition(alignedDocPoint, ToPoint);
32
33 return true;
34}
KisCoordinatesConverter * coordinatesConverter
_Private::Traits< T >::Result documentToImage(const T &obj) const
_Private::Traits< T >::Result imageToDocument(const T &obj) const
KoCanvasBase * canvas()
returns canvas we are working on
void setSnappedPosition(const QPointF &position, SnapType snapType)
sets the current snapped position
#define KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE(cond, val)
Definition kis_assert.h:129

References KoSnapProxy::canvas(), KisCanvas2::coordinatesConverter, KisCoordinatesConverter::documentToImage(), KisCoordinatesConverter::imageToDocument(), KIS_SAFE_ASSERT_RECOVER_RETURN_VALUE, KoSnapStrategy::setSnappedPosition(), and KoSnapStrategy::ToPoint.


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