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 184 of file kis_layer_utils.cpp.

Constructor & Destructor Documentation

◆ ConvertToPaintLayerInfo()

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

Definition at line 185 of file kis_layer_utils.cpp.

186 : storage(new SwitchFrameCommand::SharedStorage())
187 , m_sourceNode(node)
188 , m_image(image)
189 , m_pinnedToTimeline(false)
190 {
192
194
197
199
200 KisColorizeMask *colorizeMask = dynamic_cast<KisColorizeMask*>(m_sourceNode.data());
201 if (colorizeMask) {
202 m_sourcePaintDevice = colorizeMask->coloringProjection();
203 const bool putBehind = colorizeMask->compositeOpId() == COMPOSITE_BEHIND;
204 if (putBehind) {
206 }
207
210
211 } else if (dynamic_cast<KisMask*>(m_sourceNode.data())) {
214 } else {
217 }
218
219 KisCloneLayer *cloneLayer = dynamic_cast<KisCloneLayer*>(m_sourceNode.data());
220 if (cloneLayer) {
222 } else if (m_sourcePaintDevice) {
223 KisPaintDeviceSP clone;
224
227
229 clone->setDefaultPixel(
232
233 QRect rc(m_sourcePaintDevice->extent());
234 KisPainter::copyAreaOptimized(rc.topLeft(), m_sourcePaintDevice, clone, rc);
235 } else {
237 }
238
242 clone);
243
245
246 if (sourceLayer() && targetLayer()) {
247 targetLayer()->disableAlphaChannel(sourceLayer()->alphaChannelDisabled());
248 }
249
252 }
253 }
254 }
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 256 of file kis_layer_utils.cpp.

256 {
257 return m_frames;
258 }

References m_frames.

◆ hasTargetNode()

bool KisLayerUtils::ConvertToPaintLayerInfo::hasTargetNode ( )
inline

Definition at line 278 of file kis_layer_utils.cpp.

278 {
279 return m_targetNode != nullptr;
280 }

References m_targetNode.

◆ image()

KisImageSP KisLayerUtils::ConvertToPaintLayerInfo::image ( )
inline

Definition at line 295 of file kis_layer_utils.cpp.

295 {
296 return m_image;
297 }

References m_image.

◆ insertionParent()

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

Definition at line 313 of file kis_layer_utils.cpp.

313 {
314 return m_insertionParent;
315 }

References m_insertionParent.

◆ insertionPutAfter()

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

Definition at line 309 of file kis_layer_utils.cpp.

309 {
310 return m_insertionPutAfter;
311 }

References m_insertionPutAfter.

◆ paintDevice()

KisPaintDeviceSP KisLayerUtils::ConvertToPaintLayerInfo::paintDevice ( )
inline

Definition at line 299 of file kis_layer_utils.cpp.

299 {
300 return m_sourcePaintDevice;
301 }

References m_sourcePaintDevice.

◆ sourceLayer()

KisLayerSP KisLayerUtils::ConvertToPaintLayerInfo::sourceLayer ( )
inline

Definition at line 264 of file kis_layer_utils.cpp.

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

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

◆ sourceNode()

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::sourceNode ( )
inline

Definition at line 260 of file kis_layer_utils.cpp.

260 {
261 return m_sourceNode;
262 }

References m_sourceNode.

◆ sourceNodes()

KisNodeList KisLayerUtils::ConvertToPaintLayerInfo::sourceNodes ( )
inline

Definition at line 268 of file kis_layer_utils.cpp.

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

References m_sourceNode.

◆ sourcePaintLayer()

KisPaintLayerSP KisLayerUtils::ConvertToPaintLayerInfo::sourcePaintLayer ( )
inline

Definition at line 274 of file kis_layer_utils.cpp.

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

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

◆ targetLayer()

KisLayerSP KisLayerUtils::ConvertToPaintLayerInfo::targetLayer ( )
inline

Definition at line 286 of file kis_layer_utils.cpp.

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

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

◆ targetNode()

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::targetNode ( )
inline

Definition at line 282 of file kis_layer_utils.cpp.

282 {
283 return m_targetNode;
284 }

References m_targetNode.

◆ targetPaintLayer()

KisPaintLayerSP KisLayerUtils::ConvertToPaintLayerInfo::targetPaintLayer ( )
inline

Definition at line 290 of file kis_layer_utils.cpp.

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

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

◆ toRemove()

KisNodeList KisLayerUtils::ConvertToPaintLayerInfo::toRemove ( )
inline

Definition at line 303 of file kis_layer_utils.cpp.

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

References m_sourceNode.

Member Data Documentation

◆ m_compositeOp

QString KisLayerUtils::ConvertToPaintLayerInfo::m_compositeOp
private

Definition at line 325 of file kis_layer_utils.cpp.

◆ m_frames

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

Definition at line 324 of file kis_layer_utils.cpp.

◆ m_image

KisImageWSP KisLayerUtils::ConvertToPaintLayerInfo::m_image
private

Definition at line 322 of file kis_layer_utils.cpp.

◆ m_insertionParent

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::m_insertionParent
private

Definition at line 328 of file kis_layer_utils.cpp.

◆ m_insertionPutAfter

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::m_insertionPutAfter
private

Definition at line 329 of file kis_layer_utils.cpp.

◆ m_pinnedToTimeline

bool KisLayerUtils::ConvertToPaintLayerInfo::m_pinnedToTimeline
private

Definition at line 326 of file kis_layer_utils.cpp.

◆ m_sourceNode

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::m_sourceNode
private

Definition at line 320 of file kis_layer_utils.cpp.

◆ m_sourcePaintDevice

KisPaintDeviceSP KisLayerUtils::ConvertToPaintLayerInfo::m_sourcePaintDevice
private

Definition at line 323 of file kis_layer_utils.cpp.

◆ m_targetNode

KisNodeSP KisLayerUtils::ConvertToPaintLayerInfo::m_targetNode
private

Definition at line 321 of file kis_layer_utils.cpp.

◆ storage

SwitchFrameCommand::SharedStorageSP KisLayerUtils::ConvertToPaintLayerInfo::storage

Definition at line 317 of file kis_layer_utils.cpp.


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