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

Public Member Functions

QList< KisEffectMaskSPeffectMasks ()
 
 KisLayerMasksCache (KisLayer *parent)
 
KisSelectionMaskSP selectionMask ()
 
void setDirty ()
 

Private Attributes

QList< KisEffectMaskSPm_effectMasks
 
bool m_isEffectMasksValid = false
 
bool m_isSelectionMaskValid = false
 
QReadWriteLock m_lock
 
KisLayerm_parent
 
KisSelectionMaskSP m_selectionMask
 

Detailed Description

Definition at line 82 of file kis_layer.cc.

Constructor & Destructor Documentation

◆ KisLayerMasksCache()

KisLayerMasksCache::KisLayerMasksCache ( KisLayer * parent)
inline

Definition at line 84 of file kis_layer.cc.

85 : m_parent(parent)
86 {
87 }
KisLayer * m_parent
Definition kis_layer.cc:150

Member Function Documentation

◆ effectMasks()

QList< KisEffectMaskSP > KisLayerMasksCache::effectMasks ( )
inline

Definition at line 120 of file kis_layer.cc.

120 {
121 QReadLocker readLock(&m_lock);
122
124 readLock.unlock();
125
126 QWriteLocker writeLock(&m_lock);
130 }
131
132 // return under write lock
133 return m_effectMasks;
134 }
135
136 // return under read lock
137 return m_effectMasks;
138 }
QReadWriteLock m_lock
Definition kis_layer.cc:152
QList< KisEffectMaskSP > m_effectMasks
Definition kis_layer.cc:157
QList< KisEffectMaskSP > searchEffectMasks(KisNodeSP lastNode) const
Definition kis_layer.cc:536

References m_effectMasks, m_isEffectMasksValid, m_lock, m_parent, and KisLayer::searchEffectMasks().

◆ selectionMask()

KisSelectionMaskSP KisLayerMasksCache::selectionMask ( )
inline

Definition at line 89 of file kis_layer.cc.

89 {
90 QReadLocker readLock(&m_lock);
91
93 readLock.unlock();
94
95 QWriteLocker writeLock(&m_lock);
97 KoProperties properties;
98 properties.setProperty("active", true);
99 properties.setProperty("visible", true);
100 QList<KisNodeSP> masks = m_parent->childNodes(QStringList("KisSelectionMask"), properties);
101
102 // return the first visible mask
103 Q_FOREACH (KisNodeSP mask, masks) {
104 if (mask) {
105 m_selectionMask = dynamic_cast<KisSelectionMask*>(mask.data());
106 break;
107 }
108 }
110 }
111
112 // return under write lock
113 return m_selectionMask;
114 }
115
116 // return under read lock
117 return m_selectionMask;
118 }
QList< QString > QStringList
KisSelectionMaskSP m_selectionMask
Definition kis_layer.cc:156
void setProperty(const QString &name, const QVariant &value)
QList< KisNodeSP > childNodes(const QStringList &nodeTypes, const KoProperties &properties) const
Definition kis_node.cpp:439

References KisNode::childNodes(), KisSharedPtr< T >::data(), m_isSelectionMaskValid, m_lock, m_parent, m_selectionMask, and KoProperties::setProperty().

◆ setDirty()

void KisLayerMasksCache::setDirty ( )
inline

Definition at line 140 of file kis_layer.cc.

141 {
142 QWriteLocker l(&m_lock);
144 m_isEffectMasksValid = false;
145 m_selectionMask = 0;
147 }

References KisSharedPtr< T >::clear(), m_effectMasks, m_isEffectMasksValid, m_isSelectionMaskValid, m_lock, and m_selectionMask.

Member Data Documentation

◆ m_effectMasks

QList<KisEffectMaskSP> KisLayerMasksCache::m_effectMasks
private

Definition at line 157 of file kis_layer.cc.

◆ m_isEffectMasksValid

bool KisLayerMasksCache::m_isEffectMasksValid = false
private

Definition at line 155 of file kis_layer.cc.

◆ m_isSelectionMaskValid

bool KisLayerMasksCache::m_isSelectionMaskValid = false
private

Definition at line 154 of file kis_layer.cc.

◆ m_lock

QReadWriteLock KisLayerMasksCache::m_lock
private

Definition at line 152 of file kis_layer.cc.

◆ m_parent

KisLayer* KisLayerMasksCache::m_parent
private

Definition at line 150 of file kis_layer.cc.

◆ m_selectionMask

KisSelectionMaskSP KisLayerMasksCache::m_selectionMask
private

Definition at line 156 of file kis_layer.cc.


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