|
Krita Source Code Documentation
|
#include <kis_transparency_mask.h>
Inheritance diagram for KisTransparencyMask:Public Member Functions | |
| bool | accept (KisNodeVisitor &v) override |
| void | accept (KisProcessingVisitor &visitor, KisUndoAdapter *undoAdapter) override |
| QRect | changeRect (const QRect &rect, PositionToFilthy pos=N_FILTHY) const override |
| KisNodeSP | clone () const override |
| QRect | decorateRect (KisPaintDeviceSP &src, KisPaintDeviceSP &dst, const QRect &rc, PositionToFilthy maskPos, KisRenderPassFlags flags) const override |
| QRect | exactBounds () const override |
| QRect | extent () const override |
| QIcon | icon () const override |
| KisTransparencyMask (const KisTransparencyMask &rhs) | |
| KisTransparencyMask (KisImageWSP image, const QString &name) | |
| QRect | needRect (const QRect &rect, PositionToFilthy pos=N_FILTHY) const override |
| bool | paintsOutsideSelection () const override |
| ~KisTransparencyMask () override | |
Public Member Functions inherited from KisEffectMask | |
| void | apply (KisPaintDeviceSP projection, const QRect &applyRect, const QRect &needRect, PositionToFilthy maskPos, KisRenderPassFlags flags) const |
| KisEffectMask (const KisEffectMask &rhs) | |
| KisEffectMask (KisImageWSP image, const QString &name) | |
| ~KisEffectMask () override | |
Public Member Functions inherited from KisMask | |
| bool | allowAsChild (KisNodeSP node) const override |
| const KoColorSpace * | colorSpace () const override |
| const KoCompositeOp * | compositeOp () const override |
| QImage | createThumbnail (qint32 w, qint32 h, Qt::AspectRatioMode aspectRatioMode=Qt::IgnoreAspectRatio) override |
| void | initSelection (KisLayerSP parentLayer) |
| initSelection initializes an empty selection | |
| void | initSelection (KisPaintDeviceSP copyFromDevice, KisLayerSP parentLayer) |
| initSelection initializes the selection for the mask from the given paint device. | |
| void | initSelection (KisSelectionSP copyFrom, KisLayerSP parentLayer) |
| initSelection initializes the selection for the mask from the given selection's projection. | |
| void | initSelectionImpl (KisSelectionSP copyFrom, KisLayerSP parentLayer, KisPaintDeviceSP copyFromDevice, KisImageWSP image) |
| KisMask (const KisMask &rhs) | |
| KisMask (KisImageWSP image, const QString &name) | |
| virtual QRect | nonDependentExtent () const |
| KisPaintDeviceSP | original () const override |
| KisPaintDeviceSP | paintDevice () const override |
| Private (KisMask *_q) | |
| KisPaintDeviceSP | projection () const override |
| KisAbstractProjectionPlaneSP | projectionPlane () const override |
| void | select (const QRect &rc, quint8 selectedness=MAX_SELECTED) |
| KisSelectionSP | selection () const |
| void | setImage (KisImageWSP image) override |
| void | setSelection (KisSelectionSP selection) |
| void | setX (qint32 x) override |
| void | setY (qint32 y) override |
| bool | supportsLodPainting () const override |
| void | testingInitSelection (const QRect &rect, KisLayerSP parentLayer) |
| int | thumbnailSeqNo () const override |
| qint32 | x () const override |
| qint32 | y () const override |
| ~KisMask () override | |
Public Member Functions inherited from Private | |
| Private (KisCanvas2 *c) | |
Public Member Functions inherited from KisNode | |
| KisNodeSP | at (quint32 index) const |
| KisBusyProgressIndicator * | busyProgressIndicator () const |
| quint32 | childCount () const |
| QList< KisNodeSP > | childNodes (const QStringList &nodeTypes, const KoProperties &properties) const |
| const KisNode * | findSymmetricClone (const KisNode *srcRoot, const KisNode *dstRoot, const KisNode *srcTarget) |
| KisNodeSP | firstChild () const |
| virtual KisPaintDeviceList | getLodCapableDevices () const |
| KisNodeGraphListener * | graphListener () const |
| int | graphSequenceNumber () const |
| void | handleKeyframeChannelFrameAboutToBeRemoved (const KisKeyframeChannel *channel, int time) |
| virtual void | handleKeyframeChannelFrameAdded (const KisKeyframeChannel *channel, int time) |
| virtual void | handleKeyframeChannelFrameChange (const KisKeyframeChannel *channel, int time) |
| void | handleKeyframeChannelFrameHasBeenRemoved (const KisKeyframeChannel *channel, int time) |
| KisFrameChangeUpdateRecipe | handleKeyframeChannelUpdateImpl (const KisKeyframeChannel *channel, int time) |
| int | index (const KisNodeSP node) const |
| void | invalidateFrames (const KisTimeSpan &range, const QRect &rect) |
| KisNode (const KisNode &rhs) | |
| KisNode (KisImageWSP image) | |
| KisNodeSP | lastChild () const |
| KisNodeSP | nextSibling () const |
| KisNodeProgressProxy * | nodeProgressProxy () const |
| KisNodeSP | parent () const |
| KisNodeSP | prevSibling () const |
| Private (KisNode *node) | |
| void | processDuplicatedClones (const KisNode *srcDuplicationRoot, const KisNode *dstDuplicationRoot, KisNode *node) |
| virtual KisProjectionLeafSP | projectionLeaf () const |
| void | requestTimeSwitch (int time) |
| virtual void | setDirty () |
| void | setDirty (const KisRegion ®ion) |
| void | setDirty (const QRect &rect) |
| virtual void | setDirty (const QVector< QRect > &rects) |
| void | setDirtyDontResetAnimationCache () |
| void | setDirtyDontResetAnimationCache (const QRect &rect) |
| void | setDirtyDontResetAnimationCache (const QVector< QRect > &rects) |
| setDirtyDontResetAnimationCache does almost the same thing as usual setDirty() call, but doesn't reset the animation cache (since onion skins are not used when rendering animation. | |
| void | setGraphListener (KisNodeGraphListener *graphListener) |
| void | setImage (KisImageWSP newImage) override |
| virtual void | syncLodCache () |
| ~KisNode () override | |
Public Member Functions inherited from KisBaseNode | |
| bool | belongsToIsolatedGroup () const |
| bool | check (const KoProperties &properties) const |
| bool | collapsed () const |
| int | colorLabelIndex () const |
| virtual KisPaintDeviceSP | colorSampleSourceDevice () const |
| const QString & | compositeOpId () const |
| virtual QImage | createThumbnailForFrame (qint32 w, qint32 h, int time, Qt::AspectRatioMode aspectRatioMode=Qt::IgnoreAspectRatio) |
| void | enableAnimation () |
| KisKeyframeChannel * | getKeyframeChannel (const QString &id) const |
| KisKeyframeChannel * | getKeyframeChannel (const QString &id, bool create) |
| bool | hasEditablePaintDevice () const |
| KisImageWSP | image () const |
| bool | isAnimated () const |
| bool | isEditable (bool checkVisibility=true) const |
| virtual bool | isFakeNode () const |
| bool | isIsolatedRoot () const |
| bool | isPinnedToTimeline () const |
| QMap< QString, KisKeyframeChannel * > | keyframeChannels () const |
| KisBaseNode (const KisBaseNode &rhs) | |
| KisBaseNode (KisImageWSP image) | |
| void | mergeNodeProperties (const KoProperties &properties) |
| QString | name () const |
| const KoProperties & | nodeProperties () const |
| quint8 | opacity () const |
| quint8 | percentOpacity () const |
| Private (const Private &rhs) | |
| Private (KisImageWSP p_image) | |
| virtual PropertyList | sectionModelProperties () const |
| void | setCollapsed (bool collapsed) |
| void | setColorLabelIndex (int index) |
| void | setCompositeOpId (const QString &compositeOpId) |
| void | setName (const QString &name) |
| void | setNodeProperty (const QString &name, const QVariant &value) |
| void | setOpacity (quint8 val) |
| void | setPercentOpacity (quint8 val) |
| void | setPinnedToTimeline (bool pinned) |
| virtual void | setSectionModelProperties (const PropertyList &properties) |
| virtual void | setUserLocked (bool l) |
| void | setUuid (const QUuid &id) |
| virtual void | setVisible (bool visible, bool loading=false) |
| bool | supportsLodMoves () const |
| virtual void | updateSettings () |
| bool | userLocked () const |
| QUuid | uuid () const |
| virtual bool | visible (bool recursive=false) const |
| ~KisBaseNode () override | |
Public Member Functions inherited from KisShared | |
| bool | deref () |
| bool | ref () |
| int | refCount () |
| QAtomicInt * | sharedWeakReference () |
Public Member Functions inherited from KisIndirectPaintingSupport | |
| bool | hasTemporaryTarget () const |
| KisIndirectPaintingSupport () | |
| void | mergeToLayer (KisNodeSP layer, KUndo2Command *parentCommand, const KUndo2MagicString &transactionText, int timedID) |
| virtual void | mergeToLayerThreaded (KisNodeSP layer, KUndo2Command *parentCommand, const KUndo2MagicString &transactionText, int timedID, QVector< KisRunnableStrokeJobData * > *jobs) |
| virtual void | setCurrentColor (const KoColor &color) |
| void | setTemporaryChannelFlags (const QBitArray &channelFlags) |
| void | setTemporaryCompositeOp (const QString &id) |
| void | setTemporaryOpacity (qreal o) |
| void | setTemporarySelection (KisSelectionSP selection) |
| void | setTemporaryTarget (KisPaintDeviceSP t) |
| void | setupTemporaryPainter (KisPainter *painter) const |
| virtual bool | supportsNonIndirectPainting () const |
| KisPaintDeviceSP | temporaryTarget () const |
| FinalMergeSuspenderSP | trySuspendFinalMerge () |
| virtual | ~KisIndirectPaintingSupport () |
A transparency mask is a single channel mask that applies a particular transparency to the layer the mask belongs to. It differs from an adjustment layer in that it only works on its parent layer, while adjustment layers work on all layers below it in its layer group.
XXX: Use KisConfig::useProjections() to enable/disable the caching of the projection.
Definition at line 24 of file kis_transparency_mask.h.
| KisTransparencyMask::KisTransparencyMask | ( | KisImageWSP | image, |
| const QString & | name ) |
Definition at line 22 of file kis_transparency_mask.cc.
| KisTransparencyMask::KisTransparencyMask | ( | const KisTransparencyMask & | rhs | ) |
Definition at line 27 of file kis_transparency_mask.cc.
|
override |
Definition at line 32 of file kis_transparency_mask.cc.
|
overridevirtual |
Accept the KisNodeVisitor (for the Visitor design pattern), should call the correct function on the KisNodeVisitor for this node type, so you need to override it for all leaf classes in the node inheritance hierarchy.
return false if the visitor could not successfully act on this node instance.
Reimplemented from KisNode.
Definition at line 91 of file kis_transparency_mask.cc.
References v.
|
overridevirtual |
Accept the KisNodeVisitor (for the Visitor design pattern), should call the correct function on the KisProcessingVisitor for this node type, so you need to override it for all leaf classes in the node inheritance hierarchy.
The processing visitor differs from node visitor in the way that it accepts undo adapter, that allows the processing to be multithreaded
Reimplemented from KisNode.
Definition at line 96 of file kis_transparency_mask.cc.
References KisProcessingVisitor::visit().
|
overridevirtual |
Some filters will cause a change of pixels those are outside a requested rect. E.g. we change a rect of 2x2, then we want to apply a convolution filter with kernel 4x4 (changeRect is (2+2*3)x(2+2*3)=8x8) to that area. The rect that should be updated on the layer will be exactly 8x8. More than that the needRect for that update will be 14x14. See needRect.
Selection on transparency masks have no special meaning: They do crop both: change and need area
Reimplemented from KisMask.
Definition at line 63 of file kis_transparency_mask.cc.
References KisMask::changeRect().
|
inlineoverridevirtual |
Implements KisNode.
Definition at line 34 of file kis_transparency_mask.h.
|
overridevirtual |
Reimplemented from KisMask.
Definition at line 36 of file kis_transparency_mask.cc.
References KisPainter::copyAreaOptimized(), and KoColor::createTransparent().
|
overridevirtual |
Returns the exact bounds of where the actual data resides in this node.
Reimplemented from KisMask.
Definition at line 58 of file kis_transparency_mask.cc.
References KisBaseNode::exactBounds(), and KisNode::parent.
|
overridevirtual |
The extent and bounds of the mask are those of the selection inside
Reimplemented from KisMask.
Definition at line 53 of file kis_transparency_mask.cc.
References KisBaseNode::extent(), and KisNode::parent.
|
overridevirtual |
Reimplemented from KisEffectMask.
Definition at line 86 of file kis_transparency_mask.cc.
References KisIconUtils::loadIcon().
|
overridevirtual |
Some filters need pixels outside the current processing rect to compute the new value (for instance, convolution filters) See changeRect See accessRect
Selection on transparency masks have no special meaning: They do crop both: change and need area
Reimplemented from KisMask.
Definition at line 72 of file kis_transparency_mask.cc.
References KisMask::needRect().
|
overridevirtual |
Reimplemented from KisMask.
Definition at line 81 of file kis_transparency_mask.cc.