Krita Source Code Documentation
Loading...
Searching...
No Matches
KisMultiwayCut::Private Struct Reference

Static Public Member Functions

static void maskOutKeyStroke (KisPaintDeviceSP keyStrokeDevice, KisPaintDeviceSP mask, const QRect &boundingRect)
 

Public Attributes

QRect boundingRect
 
KisPaintDeviceSP dst
 
QVector< KeyStrokekeyStrokes
 
KisPaintDeviceSP mask
 
KisPaintDeviceSP src
 

Detailed Description

Definition at line 23 of file kis_multiway_cut.cpp.

Member Function Documentation

◆ maskOutKeyStroke()

void KisMultiwayCut::Private::maskOutKeyStroke ( KisPaintDeviceSP keyStrokeDevice,
KisPaintDeviceSP mask,
const QRect & boundingRect )
static

Definition at line 56 of file kis_multiway_cut.cpp.

57{
58 KIS_ASSERT_RECOVER_RETURN(keyStrokeDevice->pixelSize() == 1);
60
61 KisRegion region =
62 keyStrokeDevice->region() &
64
65 Q_FOREACH (const QRect &rc, region.rects()) {
66 KisSequentialIterator dstIt(keyStrokeDevice, rc);
68
69 while (dstIt.nextPixel() && mskIt.nextPixel()) {
70 if (*mskIt.rawDataConst() > 0) {
71 *dstIt.rawData() = 0;
72 }
73 }
74 }
75}
quint32 pixelSize() const
KisRegion region() const
QRect exactBounds() const
QVector< QRect > rects() const
#define KIS_ASSERT_RECOVER_RETURN(cond)
Definition kis_assert.h:75

References boundingRect, KisPaintDevice::exactBounds(), KIS_ASSERT_RECOVER_RETURN, mask, KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::nextPixel(), KisPaintDevice::pixelSize(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::rawData(), KisSequentialIteratorBase< IteratorPolicy, SourcePolicy, ProgressPolicy >::rawDataConst(), KisRegion::rects(), and KisPaintDevice::region().

Member Data Documentation

◆ boundingRect

QRect KisMultiwayCut::Private::boundingRect

Definition at line 28 of file kis_multiway_cut.cpp.

◆ dst

KisPaintDeviceSP KisMultiwayCut::Private::dst

Definition at line 26 of file kis_multiway_cut.cpp.

◆ keyStrokes

QVector<KeyStroke> KisMultiwayCut::Private::keyStrokes

Definition at line 30 of file kis_multiway_cut.cpp.

◆ mask

KisPaintDeviceSP KisMultiwayCut::Private::mask

Definition at line 27 of file kis_multiway_cut.cpp.

◆ src

KisPaintDeviceSP KisMultiwayCut::Private::src

Definition at line 25 of file kis_multiway_cut.cpp.


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