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

#include <kis_painting_assistant.h>

+ Inheritance diagram for KisPaintingAssistantHandle:

Classes

struct  Private
 

Public Member Functions

KisPaintingAssistantchiefAssistant () const
 
char handleType () const
 
 KisPaintingAssistantHandle (const KisPaintingAssistantHandle &)
 
 KisPaintingAssistantHandle (double x, double y)
 
 KisPaintingAssistantHandle (QPointF p)
 
void mergeWith (KisPaintingAssistantHandleSP)
 
KisPaintingAssistantHandleoperator= (const QPointF &)
 
void setType (char type)
 
void uncache ()
 
 ~KisPaintingAssistantHandle ()
 
- Public Member Functions inherited from KisShared
bool deref ()
 
bool ref ()
 
int refCount ()
 
QAtomicInt * sharedWeakReference ()
 

Private Member Functions

bool containsAssistant (KisPaintingAssistant *) const
 
void registerAssistant (KisPaintingAssistant *)
 
void unregisterAssistant (KisPaintingAssistant *)
 

Private Attributes

Private *const d
 

Friends

class KisPaintingAssistant
 

Additional Inherited Members

- Protected Member Functions inherited from KisShared
 KisShared ()
 
 ~KisShared ()
 

Detailed Description

Represent an handle of the assistant, used to edit the parameters of an assistants. Handles can be shared between assistants.

Definition at line 55 of file kis_painting_assistant.h.

Constructor & Destructor Documentation

◆ KisPaintingAssistantHandle() [1/3]

KisPaintingAssistantHandle::KisPaintingAssistantHandle ( double x,
double y )

Definition at line 38 of file kis_painting_assistant.cc.

38 : QPointF(x, y), d(new Private)
39{
40}

◆ KisPaintingAssistantHandle() [2/3]

KisPaintingAssistantHandle::KisPaintingAssistantHandle ( QPointF p)
explicit

Definition at line 42 of file kis_painting_assistant.cc.

42 : QPointF(p), d(new Private)
43{
44}
const Params2D p

◆ KisPaintingAssistantHandle() [3/3]

KisPaintingAssistantHandle::KisPaintingAssistantHandle ( const KisPaintingAssistantHandle & rhs)

Definition at line 46 of file kis_painting_assistant.cc.

47 : QPointF(rhs)
48 , KisShared()
49 , d(new Private)
50{
51 dbgUI << "KisPaintingAssistantHandle ctor";
52}
#define dbgUI
Definition kis_debug.h:52

References dbgUI.

◆ ~KisPaintingAssistantHandle()

KisPaintingAssistantHandle::~KisPaintingAssistantHandle ( )

Definition at line 76 of file kis_painting_assistant.cc.

77{
78 Q_ASSERT(d->assistants.empty());
79 delete d;
80}
QList< KisPaintingAssistant * > assistants

References KisPaintingAssistantHandle::Private::assistants, and d.

Member Function Documentation

◆ chiefAssistant()

KisPaintingAssistant * KisPaintingAssistantHandle::chiefAssistant ( ) const

Returns the pointer to the "chief" assistant, which is supposed to handle transformations of the handle, when all the assistants are transformed

Definition at line 71 of file kis_painting_assistant.cc.

72{
73 return !d->assistants.isEmpty() ? d->assistants.first() : 0;
74}

References KisPaintingAssistantHandle::Private::assistants, and d.

◆ containsAssistant()

bool KisPaintingAssistantHandle::containsAssistant ( KisPaintingAssistant * assistant) const
private

Definition at line 94 of file kis_painting_assistant.cc.

95{
96 return d->assistants.contains(assistant);
97}

References KisPaintingAssistantHandle::Private::assistants, and d.

◆ handleType()

char KisPaintingAssistantHandle::handleType ( ) const

◆ mergeWith()

void KisPaintingAssistantHandle::mergeWith ( KisPaintingAssistantHandleSP handle)

Definition at line 99 of file kis_painting_assistant.cc.

100{
101 if(this->handleType()== HandleType::NORMAL || handle.data()->handleType()== HandleType::SIDE) {
102 return;
103 }
104
105
106 Q_FOREACH (KisPaintingAssistant* assistant, handle->d->assistants) {
107 if (!assistant->handles().contains(this)) {
108 assistant->replaceHandle(handle, this);
109 }
110 }
111}
const QList< KisPaintingAssistantHandleSP > & handles() const
void replaceHandle(KisPaintingAssistantHandleSP _handle, KisPaintingAssistantHandleSP _with)

References KisPaintingAssistantHandle::Private::assistants, d, KisSharedPtr< T >::data(), KisPaintingAssistant::handles(), handleType(), NORMAL, KisPaintingAssistant::replaceHandle(), and SIDE.

◆ operator=()

KisPaintingAssistantHandle & KisPaintingAssistantHandle::operator= ( const QPointF & pt)

Definition at line 54 of file kis_painting_assistant.cc.

55{
56 setX(pt.x());
57 setY(pt.y());
58 return *this;
59}

◆ registerAssistant()

void KisPaintingAssistantHandle::registerAssistant ( KisPaintingAssistant * assistant)
private

Definition at line 82 of file kis_painting_assistant.cc.

83{
84 Q_ASSERT(!d->assistants.contains(assistant));
85 d->assistants.append(assistant);
86}

References KisPaintingAssistantHandle::Private::assistants, and d.

◆ setType()

void KisPaintingAssistantHandle::setType ( char type)

Definition at line 61 of file kis_painting_assistant.cc.

62{
63 d->handle_type = type;
64}

References d, and KisPaintingAssistantHandle::Private::handle_type.

◆ uncache()

void KisPaintingAssistantHandle::uncache ( )

Definition at line 113 of file kis_painting_assistant.cc.

114{
115 Q_FOREACH (KisPaintingAssistant* assistant, d->assistants) {
116 assistant->uncache();
117 }
118}

References KisPaintingAssistantHandle::Private::assistants, d, and KisPaintingAssistant::uncache().

◆ unregisterAssistant()

void KisPaintingAssistantHandle::unregisterAssistant ( KisPaintingAssistant * assistant)
private

Definition at line 88 of file kis_painting_assistant.cc.

89{
90 d->assistants.removeOne(assistant);
91 Q_ASSERT(!d->assistants.contains(assistant));
92}

References KisPaintingAssistantHandle::Private::assistants, and d.

Friends And Related Symbol Documentation

◆ KisPaintingAssistant

friend class KisPaintingAssistant
friend

Definition at line 57 of file kis_painting_assistant.h.

Member Data Documentation

◆ d

Private* const KisPaintingAssistantHandle::d
private

Definition at line 84 of file kis_painting_assistant.h.


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