16#include "kritaimage_export.h"
90 QRect partialChangeRect(
KisNodeSP lastNode,
const QRect&
rect);
93 virtual bool needProjection()
const;
125 void disableAlphaChannel(
bool disable);
132 bool alphaChannelDisabled()
const;
140 virtual void setChannelFlags(
const QBitArray & channelFlags);
154 bool temporary()
const;
161 void setTemporary(
bool t);
180 virtual void fillMergedLayerTemplate(
KisLayerSP dstLayer,
KisLayerSP prevLayer,
bool skipPaintingThisLayer =
false);
208 bool hasClones()
const;
213 void updateClones(
const QRect &
rect,
bool dontInvalidateFrames);
218 void notifyChildMaskChanged();
221 qint32
x()
const override;
222 qint32
y()
const override;
224 void setX(qint32 x)
override;
225 void setY(qint32 y)
override;
231 QRect
extent()
const override;
239 QImage
createThumbnail(qint32 w, qint32 h, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio)
override;
243 QImage
createThumbnailForFrame(qint32 w, qint32 h,
int time, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio)
override;
251 QRect tightUserVisibleBounds()
const;
261 QRect looseUserVisibleBounds()
const;
267 bool hasEffectMasks()
const;
300 virtual QRect amortizedProjectionRectForCleanupInChangePass()
const;
313 QRect updateProjection(
const QRect&
rect,
KisNodeSP filthyNode, KisRenderPassFlags flags);
324 const QRect&
rect)
const;
366 virtual QRect incomingChangeRect(
const QRect &
rect)
const;
371 virtual QRect outgoingChangeRect(
const QRect &
rect)
const;
386 QRect needRectForOriginal(
const QRect &
rect)
const;
395 const QRect &requestedRect,
396 bool &rectVariesFlag)
const;
411 const QRect &changeRect,
413 bool &rectVariesFlag)
const;
417 const QRect &requestedRect,
420 KisRenderPassFlags flags)
const;
422 bool canMergeAndKeepBlendOptions(
KisLayerSP otherLayer);
430 friend class KisLayerTest;
433 QRect layerExtentImpl(
bool exactBounds)
const;
434 QRect userVisibleBoundsImpl(
bool exactBounds)
const;
KisMagneticGraph::vertex_descriptor source(typename KisMagneticGraph::edge_descriptor e, KisMagneticGraph g)
QSharedPointer< KisLayerProjectionPlane > KisLayerProjectionPlaneSP
Q_DECLARE_METATYPE(KisPaintopLodLimitations)
virtual KisPaintDeviceSP projection() const =0
virtual QRect exactBounds() const
virtual QImage createThumbnail(qint32 w, qint32 h, Qt::AspectRatioMode aspectRatioMode=Qt::IgnoreAspectRatio)
virtual void setX(qint32)
virtual void setY(qint32)
virtual const KoColorSpace * colorSpace() const =0
virtual int thumbnailSeqNo() const
virtual QRect extent() const
virtual PropertyList sectionModelProperties() const
virtual QImage createThumbnailForFrame(qint32 w, qint32 h, int time, Qt::AspectRatioMode aspectRatioMode=Qt::IgnoreAspectRatio)
virtual void setSectionModelProperties(const PropertyList &properties)
QBitArray & channelFlags() const
KisAbstractProjectionPlaneSP projectionPlane() const override
KisPaintDeviceSP original() const override=0
KisPSDLayerStyleSP layerStyle() const
void setImage(KisImageWSP newImage) override
virtual QRect changeRect(const QRect &rect, PositionToFilthy pos=N_FILTHY) const
virtual void childNodeChanged(KisNodeSP changedChildNode)
The KisPSDLayerStyle class implements loading, saving and applying the PSD layer effects.