Krita Source Code Documentation
Loading...
Searching...
No Matches
KisLayerUtils::ConvertToPaintLayerInfo Struct Reference

Public Member Functions

 ConvertToPaintLayerInfo (KisImageSP image, KisNodeSP node)
 
QSet< int > frames ()
 
bool hasTargetNode ()
 
KisImageSP image ()
 
KisNodeSP insertionParent () const
 
KisNodeSP insertionPutAfter () const
 
KisPaintDeviceSP paintDevice ()
 
KisLayerSP sourceLayer ()
 
KisNodeSP sourceNode ()
 
KisNodeList sourceNodes ()
 
KisPaintLayerSP sourcePaintLayer ()
 
KisLayerSP targetLayer ()
 
KisNodeSP targetNode ()
 
KisPaintLayerSP targetPaintLayer ()
 
KisNodeList toRemove ()
 

Public Attributes

SwitchFrameCommand::SharedStorageSP storage
 

Private Attributes

QString m_compositeOp
 
QSet< int > m_frames
 
KisImageWSP m_image
 
KisNodeSP m_insertionParent
 
KisNodeSP m_insertionPutAfter
 
bool m_pinnedToTimeline
 
KisNodeSP m_sourceNode
 
KisPaintDeviceSP m_sourcePaintDevice
 
KisNodeSP m_targetNode
 

Detailed Description

Definition at line 183 of file kis_layer_utils.cpp.

Constructor & Destructor Documentation

◆ ConvertToPaintLayerInfo()

KisLayerUtils::ConvertToPaintLayerInfo::ConvertToPaintLayerInfo ( KisImageSP image,
KisNodeSP node )
inline

Definition at line 184 of file kis_layer_utils.cpp.

185 : storage(new SwitchFrameCommand::SharedStorage())
186 , m_sourceNode(node)
187 , m_image(image)
188 , m_pinnedToTimeline(false)
189 {
191
193
196
198
199 KisColorizeMask *colorizeMask = dynamic_cast<KisColorizeMask*>(m_sourceNode.data());
200 if (colorizeMask) {
201 m_sourcePaintDevice = colorizeMask->coloringProjection();
202 const bool putBehind = colorizeMask->compositeOpId() == COMPOSITE_BEHIND;
203 if (putBehind) {
205 }
206
209
210 } else if (dynamic_cast<KisMask*>(m_sourceNode.data())) {
213 } else {
216 }
217
218 KisCloneLayer *cloneLayer = dynamic_cast<KisCloneLayer*>(m_sourceNode.data());
219 if (cloneLayer) {
221 } else if (m_sourcePaintDevice) {
222 KisPaintDeviceSP clone;
223
226
228 clone->setDefaultPixel(
231
232 QRect rc(m_sourcePaintDevice->extent());
233 KisPainter::copyAreaOptimized(rc.topLeft(), m_sourcePaintDevice, clone, rc);
234 } else {
236 }
237
241 clone);
242
244
245 if (sourceLayer() && targetLayer()) {
246 targetLayer()->disableAlphaChannel(sourceLayer()->alphaChannelDisabled());
247 }
248
251 }
252 }
253 }
const QString COMPOSITE_OVER
const QString COMPOSITE_BEHIND
KisPaintDeviceSP coloringProjection() const
void setDefaultPixel(const KoColor &defPixel)
virtual const KoColorSpace * compositionSourceColorSpace() const
QRect extent() const
const KoColorSpace * colorSpace() const
KoColor defaultPixel() const
static void copyAreaOptimized(const QPoint &dstPt, KisPaintDeviceSP src, KisPaintDeviceSP dst, const QRect &originalSrcRect)
KoColor convertedTo(const KoColorSpace *cs, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags) const
Definition KoColor.cpp:163
QSet< int > fetchLayerFramesRecursive(KisNodeSP rootNode)
virtual KisPaintDeviceSP projection() const =0
const QString & compositeOpId() const
bool isPinnedToTimeline() const
virtual KisPaintDeviceSP original() const =0
virtual KisPaintDeviceSP paintDevice() const =0
QString name() const
void setCompositeOpId(const QString &compositeOpId)
quint8 opacity() const
KisLayerSP reincarnateAsPaintLayer() const
SwitchFrameCommand::SharedStorageSP storage
void disableAlphaChannel(bool disable)
Definition kis_layer.cc:319
KisNodeSP prevSibling() const
Definition kis_node.cpp:402
KisProjectionLeafSP projectionLeaf
Definition kis_node.cpp:93
KisNodeWSP parent
Definition kis_node.cpp:86
void setAlphaLocked(bool lock)

References KisColorizeMask::coloringProjection(), KisPaintDevice::colorSpace(), COMPOSITE_BEHIND, COMPOSITE_OVER, KisBaseNode::compositeOpId(), KisPaintDevice::compositionSourceColorSpace(), KoColor::convertedTo(), KisPainter::copyAreaOptimized(), KisSharedPtr< T >::data(), KisPaintDevice::defaultPixel(), KisLayer::disableAlphaChannel(), KisPaintDevice::extent(), KisLayerUtils::fetchLayerFramesRecursive(), KisBaseNode::isPinnedToTimeline(), m_compositeOp, m_frames, m_image, m_insertionParent, m_insertionPutAfter, m_pinnedToTimeline, m_sourceNode, m_sourcePaintDevice, m_targetNode, KisBaseNode::name(), KisBaseNode::opacity(), KisBaseNode::original(), KisBaseNode::paintDevice(), KisNode::parent, KisNode::prevSibling(), KisBaseNode::projection(), KisNode::projectionLeaf, KisCloneLayer::reincarnateAsPaintLayer(), KisPaintLayer::setAlphaLocked(), KisBaseNode::setCompositeOpId(), KisPaintDevice::setDefaultPixel(), sourceLayer(), sourcePaintLayer(), targetLayer(), and targetPaintLayer().

Member Function Documentation

◆ frames()

QSet< int > KisLayerUtils::ConvertToPaintLayerInfo::frames ( )
inline

Definition at line 255 of file kis_layer_utils.cpp.

255 {
256 return m_frames;
257 }

References m_frames.

◆ hasTargetNode()

bool KisLayerUtils::ConvertToPaintLayerInfo::hasTargetNode ( )
inline

Definition at line 277 of file kis_layer_utils.cpp.

277 {
278 return m_targetNode != nullptr;
279 }

References m_targetNode.

◆ image()

KisImageSP KisLayerUtils::ConvertToPaintLayerInfo::image ( )
inline

Definition at line 294 of file kis_layer_utils.cpp.

294 {
295 return m_image;
296 }

References m_image.

◆ insertionParent()

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::insertionParent ( ) const
inline

Definition at line 312 of file kis_layer_utils.cpp.

312 {
313 return m_insertionParent;
314 }

References m_insertionParent.

◆ insertionPutAfter()

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::insertionPutAfter ( ) const
inline

Definition at line 308 of file kis_layer_utils.cpp.

308 {
309 return m_insertionPutAfter;
310 }

References m_insertionPutAfter.

◆ paintDevice()

KisPaintDeviceSP KisLayerUtils::ConvertToPaintLayerInfo::paintDevice ( )
inline

Definition at line 298 of file kis_layer_utils.cpp.

298 {
299 return m_sourcePaintDevice;
300 }

References m_sourcePaintDevice.

◆ sourceLayer()

KisLayerSP KisLayerUtils::ConvertToPaintLayerInfo::sourceLayer ( )
inline

Definition at line 263 of file kis_layer_utils.cpp.

263 {
264 return qobject_cast<KisLayer*>(m_sourceNode.data());
265 }

References KisSharedPtr< T >::data(), and m_sourceNode.

◆ sourceNode()

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::sourceNode ( )
inline

Definition at line 259 of file kis_layer_utils.cpp.

259 {
260 return m_sourceNode;
261 }

References m_sourceNode.

◆ sourceNodes()

KisNodeList KisLayerUtils::ConvertToPaintLayerInfo::sourceNodes ( )
inline

Definition at line 267 of file kis_layer_utils.cpp.

267 {
268 KisNodeList list;
269 list << m_sourceNode;
270 return list;
271 }

References m_sourceNode.

◆ sourcePaintLayer()

KisPaintLayerSP KisLayerUtils::ConvertToPaintLayerInfo::sourcePaintLayer ( )
inline

Definition at line 273 of file kis_layer_utils.cpp.

273 {
274 return qobject_cast<KisPaintLayer*>(m_sourceNode.data());
275 }

References KisSharedPtr< T >::data(), and m_sourceNode.

◆ targetLayer()

KisLayerSP KisLayerUtils::ConvertToPaintLayerInfo::targetLayer ( )
inline

Definition at line 285 of file kis_layer_utils.cpp.

285 {
286 return qobject_cast<KisLayer*>(m_targetNode.data());
287 }

References KisSharedPtr< T >::data(), and m_targetNode.

◆ targetNode()

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::targetNode ( )
inline

Definition at line 281 of file kis_layer_utils.cpp.

281 {
282 return m_targetNode;
283 }

References m_targetNode.

◆ targetPaintLayer()

KisPaintLayerSP KisLayerUtils::ConvertToPaintLayerInfo::targetPaintLayer ( )
inline

Definition at line 289 of file kis_layer_utils.cpp.

289 {
290 return qobject_cast<KisPaintLayer*>(m_targetNode.data());
291 }

References KisSharedPtr< T >::data(), and m_targetNode.

◆ toRemove()

KisNodeList KisLayerUtils::ConvertToPaintLayerInfo::toRemove ( )
inline

Definition at line 302 of file kis_layer_utils.cpp.

302 {
303 KisNodeList lst;
304 lst << m_sourceNode;
305 return lst;
306 }

References m_sourceNode.

Member Data Documentation

◆ m_compositeOp

QString KisLayerUtils::ConvertToPaintLayerInfo::m_compositeOp
private

Definition at line 324 of file kis_layer_utils.cpp.

◆ m_frames

QSet<int> KisLayerUtils::ConvertToPaintLayerInfo::m_frames
private

Definition at line 323 of file kis_layer_utils.cpp.

◆ m_image

KisImageWSP KisLayerUtils::ConvertToPaintLayerInfo::m_image
private

Definition at line 321 of file kis_layer_utils.cpp.

◆ m_insertionParent

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::m_insertionParent
private

Definition at line 327 of file kis_layer_utils.cpp.

◆ m_insertionPutAfter

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::m_insertionPutAfter
private

Definition at line 328 of file kis_layer_utils.cpp.

◆ m_pinnedToTimeline

bool KisLayerUtils::ConvertToPaintLayerInfo::m_pinnedToTimeline
private

Definition at line 325 of file kis_layer_utils.cpp.

◆ m_sourceNode

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::m_sourceNode
private

Definition at line 319 of file kis_layer_utils.cpp.

◆ m_sourcePaintDevice

KisPaintDeviceSP KisLayerUtils::ConvertToPaintLayerInfo::m_sourcePaintDevice
private

Definition at line 322 of file kis_layer_utils.cpp.

◆ m_targetNode

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::m_targetNode
private

Definition at line 320 of file kis_layer_utils.cpp.

◆ storage

SwitchFrameCommand::SharedStorageSP KisLayerUtils::ConvertToPaintLayerInfo::storage

Definition at line 316 of file kis_layer_utils.cpp.


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