|
Krita Source Code Documentation
|
#include <kis_mask.h>
Inheritance diagram for KisMask:Public Member Functions | |
| bool | allowAsChild (KisNodeSP node) const override |
| QRect | changeRect (const QRect &rect, PositionToFilthy pos=N_FILTHY) const override |
| const KoColorSpace * | colorSpace () const override |
| const KoCompositeOp * | compositeOp () const override |
| QImage | createThumbnail (qint32 w, qint32 h, Qt::AspectRatioMode aspectRatioMode=Qt::IgnoreAspectRatio) override |
| QRect | exactBounds () const override |
| QRect | extent () const 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) | |
| QRect | needRect (const QRect &rect, PositionToFilthy pos=N_FILTHY) const override |
| 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 | |
| bool | accept (KisNodeVisitor &v) override |
| void | accept (KisProcessingVisitor &visitor, KisUndoAdapter *undoAdapter) override |
| KisNodeSP | at (quint32 index) const |
| KisBusyProgressIndicator * | busyProgressIndicator () const |
| quint32 | childCount () const |
| QList< KisNodeSP > | childNodes (const QStringList &nodeTypes, const KoProperties &properties) const |
| virtual KisNodeSP | clone () const =0 |
| 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 |
| virtual QIcon | icon () 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 () |
Protected Member Functions | |
| void | apply (KisPaintDeviceSP projection, const QRect &applyRect, const QRect &needRect, PositionToFilthy maskPos, KisRenderPassFlags flags) const |
| void | baseNodeChangedCallback () override |
| virtual QRect | decorateRect (KisPaintDeviceSP &src, KisPaintDeviceSP &dst, const QRect &rc, PositionToFilthy maskPos, KisRenderPassFlags flags) const |
| virtual void | flattenSelectionProjection (KisSelectionSP selection, const QRect &dirtyRect) const |
| virtual void | mergeInMaskInternal (KisPaintDeviceSP projection, KisSelectionSP effectiveSelection, const QRect &applyRect, const QRect &preparedNeedRect, PositionToFilthy maskPos, KisRenderPassFlags flags) const |
| virtual bool | paintsOutsideSelection () const |
| KisKeyframeChannel * | requestKeyframeChannel (const QString &id) override |
| bool | supportsKeyframeChannel (const QString &id) override |
Protected Member Functions inherited from KisNode | |
| virtual QRect | accessRect (const QRect &rect, PositionToFilthy pos=N_FILTHY) const |
| void | addKeyframeChannel (KisKeyframeChannel *channel) override |
| void | baseNodeChangedCallback () override |
| void | baseNodeCollapsedChangedCallback () override |
| void | baseNodeInvalidateAllFramesCallback () override |
| virtual void | childNodeChanged (KisNodeSP changedChildNode) |
| virtual KisFrameChangeUpdateRecipe | handleKeyframeChannelFrameAboutToBeRemovedImpl (const KisKeyframeChannel *channel, int time) |
| void | notifyParentVisibilityChanged (bool value) override |
| KisBaseNodeSP | parentCallback () const override |
Protected Member Functions inherited from KisBaseNode | |
| void | setSupportsLodMoves (bool value) |
Protected Member Functions inherited from KisShared | |
| KisShared () | |
| ~KisShared () | |
Protected Member Functions inherited from KisIndirectPaintingSupport | |
| void | lockTemporaryTargetForWrite () const |
| void | mergeToLayerImpl (KisPaintDeviceSP dst, KUndo2Command *parentCommand, const KUndo2MagicString &transactionText, int timedID, bool cleanResources, WriteLockerSP sharedWriteLock, QVector< KisRunnableStrokeJobData * > *jobs) |
| void | releaseResources () |
| QString | temporaryCompositeOp () const |
| virtual void | writeMergeData (KisPainter *painter, KisPaintDeviceSP src, const QRect &rc) |
Private Attributes | |
| Private *const | m_d |
Friends | |
| class | KisMaskProjectionPlane |
Additional Inherited Members | |
Public Types inherited from KisNode | |
| enum | PositionToFilthy { N_ABOVE_FILTHY = 0x08 , N_FILTHY_PROJECTION = 0x20 , N_FILTHY = 0x40 , N_BELOW_FILTHY = 0x80 } |
Public Types inherited from KisBaseNode | |
| typedef QList< Property > | PropertyList |
Public Types inherited from KisIndirectPaintingSupport | |
| using | FinalMergeSuspenderSP = QSharedPointer<FinalMergeSuspender> |
Signals inherited from KisNode | |
| void | sigNodeChangedInternal () |
Signals inherited from KisBaseNode | |
| void | keyframeChannelAdded (KisKeyframeChannel *channel) |
| void | opacityChanged (quint8 value) |
Protected Types inherited from KisIndirectPaintingSupport | |
| using | WriteLockerSP = QSharedPointer<WriteLocker> |
KisMask is the base class for all single channel mask-like paint devices in Krita. Masks can be rendered in different ways at different moments during the rendering stack. Masks are "owned" by layers (of any type), and cannot occur by themselves on themselves.
The properties that masks implement are made available through the iterators created on their parent layer, or through iterators that can be created on the paint device that holds the mask data: masks are just paint devices, too.
Masks should show up in the layerbox as sub-layers for the layer they are associated with and be cut/copy-able and draggable to other layers.
Examples of masks are:
painterly overlays: painterly overlays indicate a particular property of the pixel in the parent paint device they are associated with, like wetness, height or gravity.
XXX: For now, all masks are 8 bit. Make the channel depth settable.
Definition at line 37 of file kis_mask.cc.
| KisMask::KisMask | ( | KisImageWSP | image, |
| const QString & | name ) |
Create a new KisMask.
Definition at line 64 of file kis_mask.cc.
References KisBaseNode::image, m_d, KisBaseNode::name(), and KisBaseNode::setName().
| KisMask::KisMask | ( | const KisMask & | rhs | ) |
Copy the mask
Definition at line 73 of file kis_mask.cc.
References KisNode::addKeyframeChannel(), KisBaseNode::enableAnimation(), KisPaintDevice::framesInterface(), KisPaintDevice::keyframeChannel(), m_d, KisBaseNode::name(), and KisBaseNode::setName().
|
override |
|
overridevirtual |
Re-implement this method to add constraints for the subclasses that can be added as children to this node
Implements KisNode.
Definition at line 129 of file kis_mask.cc.
|
protected |
Apply the effect the projection using the mask as a selection. Made public in KisEffectMask
Definition at line 289 of file kis_mask.cc.
References KisPainter::bitBlt(), KisPainter::copyAreaOptimized(), KisPaintDevice::extent(), flattenSelectionProjection(), KisIndirectPaintingSupport::hasTemporaryTarget(), m_d, mergeInMaskInternal(), needRect(), paintsOutsideSelection(), KisSelection::pixelSelection, projection(), selection, KisIndirectPaintingSupport::setupTemporaryPainter(), and KisIndirectPaintingSupport::temporaryTarget.
|
overrideprotectedvirtual |
This callback is called when some meta state of the base node that can be interesting to the UI has changed. E.g. visibility, lockness, opacity, compositeOp and etc. This signal is forwarded by the KisNode and KisNodeGraphListener to the model in KisLayerBox, so it can update its controls when information changes.
Reimplemented from KisBaseNode.
Definition at line 532 of file kis_mask.cc.
References KisNode::baseNodeChangedCallback(), KisLayer::notifyChildMaskChanged(), and KisNode::parent.
|
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.
Reimplemented from KisNode.
Reimplemented in KisSelectionMask, KisTransformMask, and KisTransparencyMask.
Definition at line 386 of file kis_mask.cc.
References needRect().
|
overridevirtual |
Implements KisBaseNode.
Definition at line 135 of file kis_mask.cc.
References KisBaseNode::colorSpace(), and KisNode::parent.
|
overridevirtual |
Return the composite op associated with this layer.
FIXME: This function duplicates the same function from KisLayer. We can't move it to KisBaseNode as it doesn't know anything about parent() method of KisNode Please think it over...
Implements KisBaseNode.
Definition at line 141 of file kis_mask.cc.
References colorSpace(), COMPOSITE_OVER, KoColorSpace::compositeOp(), and KisBaseNode::compositeOpId().
|
overridevirtual |
Reimplemented from KisBaseNode.
Definition at line 472 of file kis_mask.cc.
References KisPaintDevice::createThumbnail(), KoColorConversionTransformation::internalConversionFlags(), KoColorConversionTransformation::internalRenderingIntent(), KisSelection::projection(), and selection.
|
protectedvirtual |
Reimplemented in KisFilterMask, KisTransformMask, KisTransparencyMask, and KisColorizeMask.
Definition at line 270 of file kis_mask.cc.
|
overridevirtual |
Returns the exact bounds of where the actual data resides in this node.
Reimplemented from KisBaseNode.
Reimplemented in KisSelectionMask, KisTransformMask, and KisTransparencyMask.
Definition at line 411 of file kis_mask.cc.
References KisBaseNode::exactBounds(), KisPaintDevice::exactBounds(), m_d, KisNode::parent, and KisIndirectPaintingSupport::temporaryTarget.
|
overridevirtual |
The extent and bounds of the mask are those of the selection inside
Reimplemented from KisBaseNode.
Reimplemented in KisSelectionMask, KisTransformMask, and KisTransparencyMask.
Definition at line 391 of file kis_mask.cc.
References KisBaseNode::extent(), KisPaintDevice::extent(), m_d, KisNode::parent, and KisIndirectPaintingSupport::temporaryTarget.
|
protectedvirtual |
A special callback for calling selection->updateProjection() during the projection calculation process. Some masks (e.g. selection masks) don't need it, because they do it separately.
Reimplemented in KisSelectionMask.
Definition at line 361 of file kis_mask.cc.
References selection, and KisSelection::updateProjection().
| void KisMask::initSelection | ( | KisLayerSP | parentLayer | ) |
initSelection initializes an empty selection
| parentLayer | the parent of this mask; it determines the default bounds of the mask. |
Definition at line 167 of file kis_mask.cc.
References KisBaseNode::image, and m_d.
| void KisMask::initSelection | ( | KisPaintDeviceSP | copyFromDevice, |
| KisLayerSP | parentLayer ) |
initSelection initializes the selection for the mask from the given paint device.
| copyFromDevice | the paint device we base the mask on |
| parentLayer | the parent of this mask; it determines the default bounds of the mask. |
Definition at line 162 of file kis_mask.cc.
References KisBaseNode::image, and m_d.
| void KisMask::initSelection | ( | KisSelectionSP | copyFrom, |
| KisLayerSP | parentLayer ) |
initSelection initializes the selection for the mask from the given selection's projection.
| copyFrom | the selection we base the mask on |
| parentLayer | the parent of this mask; it determines the default bounds of the mask. |
Definition at line 157 of file kis_mask.cc.
References KisBaseNode::image, and m_d.
| void KisMask::initSelectionImpl | ( | KisSelectionSP | copyFrom, |
| KisLayerSP | parentLayer, | ||
| KisPaintDeviceSP | copyFromDevice, | ||
| KisImageWSP | image ) |
|
protectedvirtual |
Reimplemented in KisSelectionMask.
Definition at line 337 of file kis_mask.cc.
References KisPaintDevice::clear(), KisPainter::copyAreaOptimized(), decorateRect(), KisCachedPaintDevice::Guard::device(), m_d, KisPaintDevice::makeCloneFromRough(), and projection().
|
overridevirtual |
Some filters need pixels outside the current processing rect to compute the new value (for instance, convolution filters) See changeRect See accessRect
Reimplemented from KisNode.
Reimplemented in KisSelectionMask, KisTransformMask, and KisTransparencyMask.
Definition at line 366 of file kis_mask.cc.
References KisPaintDevice::extent(), m_d, and KisIndirectPaintingSupport::temporaryTarget.
|
virtual |
Usually masks themselves do not have any paint device and all their final effect on the layer stack is computed using the changeRect() of the dirty rect of the parent layer. Their extent() and exectBounds() methods work the same way: by taking the extent of the parent layer and computing the rect basing on it. But some of the masks like Colorize Mask may have their own "projection", which is painted independently from the changed area of the parent layer. This additional "non-dependent" extent is added to the extent of the parent layer.
Reimplemented in KisColorizeMask.
Definition at line 467 of file kis_mask.cc.
|
overridevirtual |
Implements KisBaseNode.
Definition at line 229 of file kis_mask.cc.
References paintDevice().
|
overridevirtual |
Implements KisBaseNode.
Reimplemented in KisTransformMask.
Definition at line 223 of file kis_mask.cc.
References KisSelection::pixelSelection, and selection.
|
protectedvirtual |
Reimplemented in KisSelectionMask, and KisTransparencyMask.
Definition at line 284 of file kis_mask.cc.
|
inline |
Definition at line 38 of file kis_mask.cc.
|
overridevirtual |
Implements KisBaseNode.
Definition at line 234 of file kis_mask.cc.
References KisIndirectPaintingSupport::hasTemporaryTarget(), m_d, original(), and selection.
|
overridevirtual |
Please note the difference between need/change/accessRect and the projectionPlane() interface. The former one gives information about internal composition of the layer, and the latter one about the total composition, including layer styles, pass-through blending and etc.
Reimplemented from KisNode.
|
overrideprotectedvirtual |
Attempt to create the requested channel. Used internally by getKeyframeChannel. Subclasses should implement this method to catch any new channel types they support.
| id | channel to create |
Reimplemented from KisBaseNode.
Reimplemented in KisTransformMask.
Definition at line 509 of file kis_mask.cc.
References KisPaintDevice::createKeyframeChannel(), paintDevice(), KisKeyframeChannel::Raster, KisBaseNode::requestKeyframeChannel(), and KisRasterKeyframeChannel::setFilenameSuffix().
| void KisMask::select | ( | const QRect & | rc, |
| quint8 | selectedness = MAX_SELECTED ) |
Selected the specified rect with the specified amount of selectedness.
Definition at line 261 of file kis_mask.cc.
References KisSelection::pixelSelection, KisPixelSelection::select(), selection, and KisSelection::updateProjection().
| KisSelectionSP KisMask::selection | ( | ) | const |
Return the selection associated with this mask. A selection can contain both a paint device and shapes.
|
overridevirtual |
Reimplemented from KisBaseNode.
Reimplemented in KisTransformMask.
Definition at line 103 of file kis_mask.cc.
References KisBaseNode::image, m_d, KisBaseNode::original(), KisNode::parent, and KisNode::setImage().
| void KisMask::setSelection | ( | KisSelectionSP | selection | ) |
Change the selection to the specified selection object. The selection is deep copied.
Definition at line 252 of file kis_mask.cc.
References KisBaseNode::image, m_d, selection, and toQShared().
|
overridevirtual |
overridden from KisBaseNode
Reimplemented from KisBaseNode.
Reimplemented in KisTransformMask.
Definition at line 445 of file kis_mask.cc.
|
overridevirtual |
overridden from KisBaseNode
Reimplemented from KisBaseNode.
Reimplemented in KisTransformMask.
Definition at line 456 of file kis_mask.cc.
|
overrideprotectedvirtual |
Ideally, this function would be used to query for keyframe support before trying to create channels. The ability to query would help in cases such as animation curves where you might want to ask which channels it supports before allowing the user to add.
| id | queried channel |
Reimplemented from KisBaseNode.
Reimplemented in KisTransformMask.
Definition at line 523 of file kis_mask.cc.
References paintDevice(), KisKeyframeChannel::Raster, and KisBaseNode::supportsKeyframeChannel().
|
overridevirtual |
Returns true if the node can be painted via KisPaintDevice. Notable exceptions are selection-based layers and masks.
Reimplemented from KisBaseNode.
Definition at line 504 of file kis_mask.cc.
References m_d.
| void KisMask::testingInitSelection | ( | const QRect & | rect, |
| KisLayerSP | parentLayer ) |
Definition at line 490 of file kis_mask.cc.
References KisBaseNode::image, m_d, OPACITY_OPAQUE_U8, KisBaseNode::paintDevice(), and toQShared().
|
overridevirtual |
Reimplemented from KisBaseNode.
Definition at line 483 of file kis_mask.cc.
References KisSelection::projection(), selection, and KisPaintDevice::sequenceNumber().
|
overridevirtual |
overridden from KisBaseNode
Reimplemented from KisBaseNode.
Reimplemented in KisTransformMask.
Definition at line 431 of file kis_mask.cc.
References m_d, KisNode::parent, and KisBaseNode::x().
|
overridevirtual |
overridden from KisBaseNode
Reimplemented from KisBaseNode.
Reimplemented in KisTransformMask.
Definition at line 438 of file kis_mask.cc.
References m_d, KisNode::parent, and KisBaseNode::y().
|
friend |
Definition at line 220 of file kis_mask.h.
| QScopedPointer<QPoint> KisMask::deferredSelectionOffset |
Due to the design of the Kra format the X,Y offset of the paint device belongs to the node, but not to the device itself. So the offset is set when the node is created, but not when the selection is initialized. This causes the X,Y values to be lost, since the selection does not exist at the moment. That is why we save it separately.
Definition at line 56 of file kis_mask.cc.
|
private |
Definition at line 226 of file kis_mask.h.
| KisCachedPaintDevice KisMask::paintDeviceCache |
Definition at line 45 of file kis_mask.cc.
| KisAbstractProjectionPlaneSP KisMask::projectionPlane |
Definition at line 58 of file kis_mask.cc.
| KisMask* KisMask::q |
Definition at line 46 of file kis_mask.cc.
| KisSafeSelectionNodeProjectionStoreSP KisMask::safeProjection |
Definition at line 59 of file kis_mask.cc.
|
mutable |
Definition at line 44 of file kis_mask.cc.