20#include <klocalizedstring.h>
21#include <kpluginfactory.h>
51 const QRect& applyRect,
56 Q_ASSERT(!device.
isNull());
59 const quint32 numberOfTiles = config->getInt(
"numberOfTiles", 2);
61 const QRect srcRect = applyRect;
63 const int w =
static_cast<int>(srcRect.width() / numberOfTiles);
64 const int h =
static_cast<int>(srcRect.height() / numberOfTiles);
69 device->
clear(applyRect);
74 if (progressUpdater) {
75 progressUpdater->
setRange(0, numberOfTiles);
78 for (
uint y = 0; y < numberOfTiles; ++y) {
79 for (
uint x = 0; x < numberOfTiles; ++x) {
80 gc.
bitBlt(w * x, h * y, tile, 0, 0, w, h);
82 if (progressUpdater) progressUpdater->
setValue(y);
98 config->setProperty(
"numberOfTiles", 2);
const QString COMPOSITE_COPY
KisPaintDeviceSP createThumbnailDevice(qint32 w, qint32 h, QRect rect=QRect(), QRect outputRect=QRect()) const
void bitBlt(qint32 dstX, qint32 dstY, const KisPaintDeviceSP srcDev, qint32 srcX, qint32 srcY, qint32 srcWidth, qint32 srcHeight)
void setCompositeOpId(const KoCompositeOp *op)
void processImpl(KisPaintDeviceSP device, const QRect &applyRect, const KisFilterConfigurationSP config, KoUpdater *progressUpdater) const override
KisConfigWidget * createConfigurationWidget(QWidget *parent, const KisPaintDeviceSP dev, bool useForMasks) const override
KisFilterConfigurationSP defaultConfiguration(KisResourcesInterfaceSP resourcesInterface) const override
void setValue(int value) override
void setRange(int minimum, int maximum) override
const KoID FiltersCategoryMapId("map_filters", ki18nc("The category of mapping filters, like bump map or gradient filter map. Verb.", "Map"))
void setSupportsThreading(bool v)
virtual KisFilterConfigurationSP factoryConfiguration(KisResourcesInterfaceSP resourcesInterface) const
void setSupportsAdjustmentLayers(bool v)
void setSupportsPainting(bool v)