16#define PREVIEW_WIDTH 2048
17#define PREVIEW_HEIGHT 1
31 d->spread = QGradient::PadSpread;
32 d->type = QGradient::NoGradient;
49 if (canvasResourcesInterface) {
50 result->bakeVariableColors(canvasResourcesInterface);
57 Q_UNUSED(canvasResourcesInterface);
63 if (canvasResourcesInterface) {
64 result->updateVariableColors(canvasResourcesInterface);
71 Q_UNUSED(canvasResourcesInterface);
91 d->spread = spreadMethod;
101 d->type = repeatType;
111 QImage
image(width, height, QImage::Format_ARGB32);
113 QRgb * firstLine =
reinterpret_cast<QRgb*
>(
image.scanLine(0));
118 for (
int x = 0; x <
image.width(); ++x) {
120 qreal t =
static_cast<qreal
>(x) / (
image.width() - 1);
124 firstLine[x] = color.rgba();
127 int bytesPerLine =
image.bytesPerLine();
130 for (
int y = 1; y <
image.height(); ++y) {
133 memcpy(line, firstLine, bytesPerLine);
145 result = gradient->generatePreview(width, height);
void toQColor(QColor *c) const
a convenience method for the above.
virtual void colorAt(KoColor &, qreal t) const
gets the color at position 0 <= t <= 1
void setSpread(QGradient::Spread spreadMethod)
QImage generatePreview(int width, int height) const
void setColorSpace(KoColorSpace *colorSpace)
KoAbstractGradientSP cloneAndBakeVariableColors(KoCanvasResourcesInterfaceSP canvasResourcesInterface) const
virtual void bakeVariableColors(KoCanvasResourcesInterfaceSP canvasResourcesInterface)
const KoColorSpace * colorSpace
KoAbstractGradient(const QString &filename)
virtual void updateVariableColors(KoCanvasResourcesInterfaceSP canvasResourcesInterface)
~KoAbstractGradient() override
KoAbstractGradientSP cloneAndUpdateVariableColors(KoCanvasResourcesInterfaceSP canvasResourcesInterface) const
void setType(QGradient::Type repeatType)
static KoColorSpaceRegistry * instance()
const KoColorSpace * rgb8(const QString &profileName=QString())
virtual KoResourceSP clone() const =0
virtual QList< int > requiredCanvasResources() const
void setImage(const QImage &image)