77class KRITAPIGMENT_EXPORT
KoColorSpace :
public boost::equality_comparable<KoColorSpace>
107 QPolygonF estimatedTRCXYY()
const;
144 QBitArray channelFlags(
bool color =
true,
bool alpha =
false)
const;
179 virtual quint8
scaleToU8(
const quint8 * srcPixel, qint32 channelPos)
const = 0;
186 virtual void singleChannelPixel(quint8 *dstPixel,
const quint8 *srcPixel, quint32 channelIndex)
const = 0;
238 virtual bool hasCompositeOp(
const QString &
id,
const KoColorSpace *srcSpace =
nullptr)
const;
282 virtual void transparentColor(quint8 *dst, quint32 nPixels)
const;
292 virtual void fromQColor(
const QColor& color, quint8 *dst)
const = 0;
302 virtual void toQColor(
const quint8 *src, QColor *c)
const = 0;
312 virtual void toQColor16(
const quint8 *src, QColor *c)
const = 0;
324 virtual QImage
convertToQImage(
const quint8 *data, qint32 width, qint32 height,
327 KoColorConversionTransformation::ConversionFlags conversionFlags)
const;
336 virtual void toLabA16(
const quint8 * src, quint8 * dst, quint32 nPixels)
const;
346 virtual void fromLabA16(
const quint8 * src, quint8 * dst, quint32 nPixels)
const;
355 virtual void toRgbA16(
const quint8 * src, quint8 * dst, quint32 nPixels)
const;
365 virtual void fromRgbA16(
const quint8 * src, quint8 * dst, quint32 nPixels)
const;
372 KoColorConversionTransformation::ConversionFlags conversionFlags)
const;
391 virtual bool convertPixelsTo(
const quint8 * src,
395 KoColorConversionTransformation::ConversionFlags conversionFlags)
const;
416 bool bpcFirstTransform,
417 quint8 *gamutWarning,
418 KoColorConversionTransformation::ConversionFlags displayConversionFlags)
const;
427 virtual bool proofPixelsTo(
const quint8 * src,
471 virtual quint8
opacityU8(
const quint8 * pixel)
const = 0;
472 virtual qreal
opacityF(
const quint8 * pixel)
const = 0;
482 virtual void setOpacity(quint8 * pixels, quint8 alpha, qint32 nPixels)
const = 0;
483 virtual void setOpacity(quint8 * pixels, qreal alpha, qint32 nPixels)
const = 0;
494 virtual void copyOpacityU8(quint8* src, quint8* dst, qint32 nPixels)
const = 0;
504 virtual void multiplyAlpha(quint8 * pixels, quint8 alpha, qint32 nPixels)
const = 0;
511 virtual void applyAlphaU8Mask(quint8 * pixels,
const quint8 * alpha, qint32 nPixels)
const = 0;
564 virtual void fillGrayBrushWithColorAndLightnessOverlay(quint8 *dst,
const QRgb *brush, quint8 *brushColor, qint32 nPixels)
const;
566 virtual void fillGrayBrushWithColorAndLightnessWithStrength(quint8* dst,
const QRgb* brush, quint8* brushColor, qreal strength, qint32 nPixels)
const;
568 virtual void modulateLightnessByGrayBrush(quint8* dst,
const QRgb *brush, qreal strength, qint32 nPixels)
const;
610 virtual quint8
difference(
const quint8* src1,
const quint8* src2)
const = 0;
621 virtual quint8
differenceA(
const quint8* src1,
const quint8* src2)
const = 0;
646 virtual void increaseLuminosity(quint8 * pixel, qreal step)
const;
647 virtual void decreaseLuminosity(quint8 * pixel, qreal step)
const;
648 virtual void increaseSaturation(quint8 * pixel, qreal step)
const;
649 virtual void decreaseSaturation(quint8 * pixel, qreal step)
const;
650 virtual void increaseHue(quint8 * pixel, qreal step)
const;
651 virtual void decreaseHue(quint8 * pixel, qreal step)
const;
652 virtual void increaseRed(quint8 * pixel, qreal step)
const;
653 virtual void increaseGreen(quint8 * pixel, qreal step)
const;
654 virtual void increaseBlue(quint8 * pixel, qreal step)
const;
655 virtual void increaseYellow(quint8 * pixel, qreal step)
const;
657 virtual QVector <double>
fromHSY(qreal *hue, qreal *sat, qreal *luma)
const = 0;
659 virtual QVector <double>
fromYUV(qreal *y, qreal *
u, qreal *
v)
const = 0;
682 KoColorConversionTransformation::ConversionFlags conversionFlags)
const;
697 virtual void colorToXML(
const quint8* pixel, QDomDocument& doc, QDomElement& colorElt)
const = 0;
708 virtual void colorFromXML(quint8* pixel,
const QDomElement& elt)
const = 0;
710 KoColorTransformation* createColorTransformation(
const QString &
id,
const QHash<QString, QVariant> & parameters)
const;
747 virtual bool preferCompositionInSourceColorSpace()
const;