Krita Source Code Documentation
Loading...
Searching...
No Matches
KoSnapStrategy Class Referenceabstract

#include <KoSnapStrategy.h>

+ Inheritance diagram for KoSnapStrategy:

Public Types

enum  SnapType { ToPoint = 0 , ToLine }
 

Public Member Functions

virtual QPainterPath decoration (const KoViewConverter &converter) const =0
 returns the current snap strategy decoration
 
 KoSnapStrategy (KoSnapGuide::Strategy type)
 
virtual bool snap (const QPointF &mousePosition, KoSnapProxy *proxy, qreal maxSnapDistance)=0
 
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 ()
 

Static Public Member Functions

static qreal scalarProduct (const QPointF &p1, const QPointF &p2)
 
static qreal squareDistance (const QPointF &p1, const QPointF &p2)
 

Protected Member Functions

void setSnappedPosition (const QPointF &position, SnapType snapType)
 sets the current snapped position
 

Private Attributes

QPointF m_snappedPosition
 
SnapType m_snappedType = ToPoint
 
KoSnapGuide::Strategy m_snapStrategyType
 

Detailed Description

Definition at line 22 of file KoSnapStrategy.h.

Member Enumeration Documentation

◆ SnapType

Enumerator
ToPoint 
ToLine 

Definition at line 25 of file KoSnapStrategy.h.

25 {
26 ToPoint = 0,
27 ToLine
28 };

Constructor & Destructor Documentation

◆ KoSnapStrategy()

KoSnapStrategy::KoSnapStrategy ( KoSnapGuide::Strategy type)

Definition at line 25 of file KoSnapStrategy.cpp.

27{
28}
KoSnapGuide::Strategy type() const
returns the strategies type
KoSnapGuide::Strategy m_snapStrategyType

◆ ~KoSnapStrategy()

virtual KoSnapStrategy::~KoSnapStrategy ( )
inlinevirtual

Definition at line 32 of file KoSnapStrategy.h.

32{};

Member Function Documentation

◆ decoration()

virtual QPainterPath KoSnapStrategy::decoration ( const KoViewConverter & converter) const
pure virtual

◆ scalarProduct()

qreal KoSnapStrategy::scalarProduct ( const QPointF & p1,
const QPointF & p2 )
static

Definition at line 59 of file KoSnapStrategy.cpp.

60{
61 return p1.x() * p2.x() + p1.y() * p2.y();
62}
QPointF p2
QPointF p1

References p1, and p2.

◆ setSnappedPosition()

void KoSnapStrategy::setSnappedPosition ( const QPointF & position,
SnapType snapType )
protected

sets the current snapped position

Definition at line 40 of file KoSnapStrategy.cpp.

41{
42 m_snappedPosition = position;
43 m_snappedType = snapType;
44}
QPointF m_snappedPosition
SnapType m_snappedType

References m_snappedPosition, and m_snappedType.

◆ snap()

virtual bool KoSnapStrategy::snap ( const QPointF & mousePosition,
KoSnapProxy * proxy,
qreal maxSnapDistance )
pure virtual

◆ snappedPosition()

QPointF KoSnapStrategy::snappedPosition ( ) const

returns the snapped position form the last call to snapToPoints

Definition at line 30 of file KoSnapStrategy.cpp.

31{
32 return m_snappedPosition;
33}

References m_snappedPosition.

◆ snappedType()

KoSnapStrategy::SnapType KoSnapStrategy::snappedType ( ) const

Definition at line 35 of file KoSnapStrategy.cpp.

36{
37 return m_snappedType;
38}

References m_snappedType.

◆ squareDistance()

qreal KoSnapStrategy::squareDistance ( const QPointF & p1,
const QPointF & p2 )
static

Definition at line 51 of file KoSnapStrategy.cpp.

52{
53 const qreal dx = p1.x() - p2.x();
54 const qreal dy = p1.y() - p2.y();
55
56 return dx*dx + dy*dy;
57}

References p1, and p2.

◆ type()

KoSnapGuide::Strategy KoSnapStrategy::type ( ) const

returns the strategies type

Definition at line 46 of file KoSnapStrategy.cpp.

47{
48 return m_snapStrategyType;
49}

References m_snapStrategyType.

Member Data Documentation

◆ m_snappedPosition

QPointF KoSnapStrategy::m_snappedPosition
private

Definition at line 55 of file KoSnapStrategy.h.

◆ m_snappedType

SnapType KoSnapStrategy::m_snappedType = ToPoint
private

Definition at line 56 of file KoSnapStrategy.h.

◆ m_snapStrategyType

KoSnapGuide::Strategy KoSnapStrategy::m_snapStrategyType
private

Definition at line 54 of file KoSnapStrategy.h.


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