37 const QRect &boundingRect)
43 m_d->boundingRect = boundingRect;
62 keyStrokeDevice->
region() &
65 Q_FOREACH (
const QRect &rc, region.
rects()) {
82 if (aTransparent && !bTransparent)
return true;
83 if (!aTransparent && bTransparent)
return false;
86 const QRect bRect = b.dev->extent();
88 const int aArea = aRect.width() * aRect.height();
89 const int bArea = bRect.width() * bRect.height();
110 while (
m_d->keyStrokes.size() > 1) {
126 m_d->keyStrokes.clear();
127 m_d->keyStrokes << current;
144 if (
m_d->keyStrokes.size() == 1) {
147 m_d->maskOutKeyStroke(current.
dev,
m_d->mask,
m_d->boundingRect);
152 Q_FOREACH (
const QPoint &pt, points) {
const quint8 OPACITY_TRANSPARENT_U8
KisMultiwayCut(KisPaintDeviceSP src, KisPaintDeviceSP dst, const QRect &boundingRect)
void addKeyStroke(KisPaintDeviceSP dev, const KoColor &color)
const QScopedPointer< Private > m_d
KisPaintDeviceSP dstDevice() const
KisPaintDeviceSP srcDevice() const
quint32 pixelSize() const
QRect exactBounds() const
void bitBlt(qint32 dstX, qint32 dstY, const KisPaintDeviceSP srcDev, qint32 srcX, qint32 srcY, qint32 srcWidth, qint32 srcHeight)
QVector< QRect > rects() const
ALWAYS_INLINE quint8 * rawData()
ALWAYS_INLINE const quint8 * rawDataConst() const
#define KIS_ASSERT_RECOVER_RETURN(cond)
bool keyStrokesOrder(const KeyStroke &a, const KeyStroke &b)
static void maskOutKeyStroke(KisPaintDeviceSP keyStrokeDevice, KisPaintDeviceSP mask, const QRect &boundingRect)
QVector< KeyStroke > keyStrokes
void fill(const KoColor &fillColor)
static KoColorSpaceRegistry * instance()