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 54 of file kis_painting_assistant.h.

Constructor & Destructor Documentation

◆ KisPaintingAssistantHandle() [1/3]

KisPaintingAssistantHandle::KisPaintingAssistantHandle ( double x,
double y )

Definition at line 37 of file kis_painting_assistant.cc.

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

◆ KisPaintingAssistantHandle() [2/3]

KisPaintingAssistantHandle::KisPaintingAssistantHandle ( QPointF p)
explicit

Definition at line 41 of file kis_painting_assistant.cc.

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

◆ KisPaintingAssistantHandle() [3/3]

KisPaintingAssistantHandle::KisPaintingAssistantHandle ( const KisPaintingAssistantHandle & rhs)

Definition at line 45 of file kis_painting_assistant.cc.

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

References dbgUI.

◆ ~KisPaintingAssistantHandle()

KisPaintingAssistantHandle::~KisPaintingAssistantHandle ( )

Definition at line 75 of file kis_painting_assistant.cc.

76{
77 Q_ASSERT(d->assistants.empty());
78 delete d;
79}
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 70 of file kis_painting_assistant.cc.

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

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

◆ containsAssistant()

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

Definition at line 93 of file kis_painting_assistant.cc.

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

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

◆ handleType()

char KisPaintingAssistantHandle::handleType ( ) const

◆ mergeWith()

void KisPaintingAssistantHandle::mergeWith ( KisPaintingAssistantHandleSP handle)

Definition at line 98 of file kis_painting_assistant.cc.

99{
100 if(this->handleType()== HandleType::NORMAL || handle.data()->handleType()== HandleType::SIDE) {
101 return;
102 }
103
104
105 Q_FOREACH (KisPaintingAssistant* assistant, handle->d->assistants) {
106 if (!assistant->handles().contains(this)) {
107 assistant->replaceHandle(handle, this);
108 }
109 }
110}
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 53 of file kis_painting_assistant.cc.

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

◆ registerAssistant()

void KisPaintingAssistantHandle::registerAssistant ( KisPaintingAssistant * assistant)
private

Definition at line 81 of file kis_painting_assistant.cc.

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

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

◆ setType()

void KisPaintingAssistantHandle::setType ( char type)

Definition at line 60 of file kis_painting_assistant.cc.

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

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

◆ uncache()

void KisPaintingAssistantHandle::uncache ( )

Definition at line 112 of file kis_painting_assistant.cc.

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

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

◆ unregisterAssistant()

void KisPaintingAssistantHandle::unregisterAssistant ( KisPaintingAssistant * assistant)
private

Definition at line 87 of file kis_painting_assistant.cc.

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

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

Friends And Related Symbol Documentation

◆ KisPaintingAssistant

friend class KisPaintingAssistant
friend

Definition at line 56 of file kis_painting_assistant.h.

Member Data Documentation

◆ d

Private* const KisPaintingAssistantHandle::d
private

Definition at line 83 of file kis_painting_assistant.h.


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