27 const QSize& thumbnailSize,
31 KoColorConversionTransformation::ConversionFlags conversionFlags)
35 m_thumbnailSize(thumbnailSize),
36 m_isPixelArt(isPixelArt),
38 m_renderingIntent(renderingIntent),
39 m_conversionFlags(conversionFlags)
66 Q_FOREACH (
const QRect &rc, tileRects) {
67 addJobConcurrent(jobs, [
this, tileRect = rc] () {
75 addJobSequential(jobs, [
this] () {
const int thumbnailTileDim
virtual QRect bounds() const =0
static KisFilterStrategyRegistry * instance()
void initStrokeCallback() override
KisPaintDeviceSP m_device
KoColorConversionTransformation::ConversionFlags m_conversionFlags
virtual void reportThumbnailGenerationCompleted(KisPaintDeviceSP device, const QRect &rect)=0
KoColorConversionTransformation::Intent m_renderingIntent
KisPaintDeviceSP m_thumbnailDevice
void initStrokeCallback() override
QSize m_thumbnailOversampledSize
~KisImageThumbnailStrokeStrategyBase() override
KisImageThumbnailStrokeStrategyBase(KisPaintDeviceSP device, const QRect &rect, const QSize &thumbnailSize, bool isPixelArt, const KoColorProfile *profile, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags)
const KoColorProfile * m_profile
void thumbnailUpdated(QImage pixmap)
virtual void reportThumbnailGenerationCompleted(KisPaintDeviceSP device, const QRect &rect)
const KoColorSpace * colorSpace() const
KisPaintDeviceSP createThumbnailDeviceOversampled(qint32 w, qint32 h, qreal oversample, QRect rect=QRect(), QRect outputRect=QRect()) const
QImage convertToQImage(const KoColorProfile *dstProfile, qint32 x, qint32 y, qint32 w, qint32 h, KoColorConversionTransformation::Intent renderingIntent=KoColorConversionTransformation::internalRenderingIntent(), KoColorConversionTransformation::ConversionFlags conversionFlags=KoColorConversionTransformation::internalConversionFlags()) const
KisDefaultBoundsBaseSP defaultBounds() const
static void copyAreaOptimized(const QPoint &dstPt, KisPaintDeviceSP src, KisPaintDeviceSP dst, const QRect &originalSrcRect)
KisRunnableStrokeJobsInterface * runnableJobsInterface() const
virtual void addRunnableJobs(const QVector< KisRunnableStrokeJobDataBase * > &list)=0
A holder for an updater that does nothing.
const T value(const QString &id) const
KUndo2MagicString kundo2_i18n(const char *text)
QVector< QRect > splitRectIntoPatches(const QRect &rc, const QSize &patchSize)
void addJobConcurrent(QVector< Job * > &jobs, Func func)
void addJobSequential(QVector< Job * > &jobs, Func func)