8#ifndef KIS_CONVOLUTION_WORKER_H
9#define KIS_CONVOLUTION_WORKER_H
24 return src->createHLineIteratorNG(x, y, w);
27 return src->createVLineIteratorNG(x, y, h);
30 return src->createHLineConstIteratorNG(x, y, w);
33 return src->createVLineConstIteratorNG(x, y, h);
43 return src->createHLineIteratorNG(x, y, w);
46 return src->createVLineIteratorNG(x, y, h);
49 return src->createRepeatHLineConstIterator(x, y, w, _dataRect);
52 return src->createRepeatVLineConstIterator(x, y, h, _dataRect);
56template <
class _IteratorFactory_>
76 if (painterChannelFlags.isEmpty()) {
77 painterChannelFlags = QBitArray(src->colorSpace()->channelCount(),
true);
79 Q_ASSERT(
static_cast<quint32
>(painterChannelFlags.size()) == src->colorSpace()->channelCount());
83 for (qint32 c = 0; c < channelInfo.count(); ++c) {
84 if (painterChannelFlags.testBit(c)) {
85 convChannelList.append(channelInfo[c]);
89 return convChannelList;
virtual ~KisConvolutionWorker()
KisConvolutionWorker(KisPainter *painter, KoUpdater *progress)
QList< KoChannelInfo * > convolvableChannelList(const KisPaintDeviceSP src)
virtual void execute(const KisConvolutionKernelSP kernel, const KisPaintDeviceSP src, QPoint srcPos, QPoint dstPos, QSize areaSize, const QRect &dataRect)=0
KisVLineIteratorSP VLineIterator
static HLineConstIterator createHLineConstIterator(KisPaintDeviceSP src, qint32 x, qint32 y, qint32 w, const QRect &_dataRect)
static KisVLineIteratorSP createVLineIterator(KisPaintDeviceSP src, qint32 x, qint32 y, qint32 h, const QRect &)
KisRepeatHLineConstIteratorSP HLineConstIterator
static KisHLineIteratorSP createHLineIterator(KisPaintDeviceSP src, qint32 x, qint32 y, qint32 w, const QRect &)
KisHLineIteratorSP HLineIterator
static VLineConstIterator createVLineConstIterator(KisPaintDeviceSP src, qint32 x, qint32 y, qint32 h, const QRect &_dataRect)
KisRepeatVLineConstIteratorSP VLineConstIterator
static KisHLineIteratorSP createHLineIterator(KisPaintDeviceSP src, qint32 x, qint32 y, qint32 w, const QRect &)
KisHLineIteratorSP HLineIterator
static KisHLineConstIteratorSP createHLineConstIterator(KisPaintDeviceSP src, qint32 x, qint32 y, qint32 w, const QRect &)
static KisVLineConstIteratorSP createVLineConstIterator(KisPaintDeviceSP src, qint32 x, qint32 y, qint32 h, const QRect &)
KisVLineConstIteratorSP VLineConstIterator
static KisVLineIteratorSP createVLineIterator(KisPaintDeviceSP src, qint32 x, qint32 y, qint32 h, const QRect &)
KisHLineConstIteratorSP HLineConstIterator
KisVLineIteratorSP VLineIterator