133 if (src->defaultBounds()->wrapAroundMode() && src->supportsWraproundMode()) {
147 const QRect boundsRect = src->defaultBounds()->bounds();
148 const QRect requestedRect = QRect(srcPos, areaSize);
149 QRect dataRect = requestedRect | boundsRect;
152 dataRect = requestedRect | src->exactBounds();
165 if(dataRect.isValid()) {
167 worker = createWorker<RepeatIteratorFactory>(kernel,
this,
progressUpdater());
168 worker->
execute(kernel, src, srcPos, dstPos, areaSize, dataRect);
176 worker = createWorker<StandardIteratorFactory>(kernel,
this,
progressUpdater());
177 worker->
execute(kernel, src, srcPos, dstPos, areaSize, QRect());
void applyMatrix(const KisConvolutionKernelSP kernel, const KisPaintDeviceSP src, QPoint srcPos, QPoint dstPos, QSize areaSize, KisConvolutionBorderOp borderOp=BORDER_REPEAT)
virtual void execute(const KisConvolutionKernelSP kernel, const KisPaintDeviceSP src, QPoint srcPos, QPoint dstPos, QSize areaSize, const QRect &dataRect)=0