7#ifndef KOSIMPLECOLORSPACE_H
8#define KOSIMPLECOLORSPACE_H
19template<
class _CSTraits>
49 Q_UNUSED(independence);
57 quint8
difference(
const quint8 *src1,
const quint8 *src2)
const override {
64 quint8
differenceA(
const quint8 *src1,
const quint8 *src2)
const override {
107 void colorToXML(
const quint8* , QDomDocument& , QDomElement&)
const override {
117 QVector <double>
fromHSY(qreal *, qreal *, qreal *)
const override {
119 QVector <double> channelValues (2);
120 channelValues.fill(0.0);
121 return channelValues;
126 QVector <double>
fromYUV(qreal *, qreal *, qreal *)
const override {
128 QVector <double> channelValues (2);
129 channelValues.fill(0.0);
130 return channelValues;
133 void toLabA16(
const quint8* src, quint8* dst, quint32 nPixels)
const override {
135 memcpy(dst, src, nPixels * 2);
144 void fromLabA16(
const quint8* src, quint8* dst, quint32 nPixels)
const override {
146 memcpy(dst, src, nPixels * 2);
155 void toRgbA16(
const quint8* src, quint8* dst, quint32 nPixels)
const override {
157 memcpy(dst, src, nPixels * 2);
166 void fromRgbA16(
const quint8* src, quint8* dst, quint32 nPixels)
const override {
168 memcpy(dst, src, nPixels * 2);
181 KoColorConversionTransformation::ConversionFlags conversionFlags)
const override
183 Q_UNUSED(renderingIntent);
184 Q_UNUSED(conversionFlags);
187 quint32 srcPixelsize = this->
pixelSize();
188 quint32 dstPixelsize = dstColorSpace->
pixelSize();
190 while (numPixels > 0) {
const KoID Integer16BitsColorDepthID("U16", ki18n("16-bit integer/channel"))
const KoID LABAColorModelID("LABA", ki18n("L*a*b*/Alpha"))
const KoID RGBAColorModelID("RGBA", ki18n("RGB/Alpha"))
quint32 pixelSize() const override
virtual quint32 pixelSize() const =0
virtual void toQColor(const quint8 *src, QColor *c) const =0
virtual void fromQColor(const QColor &color, quint8 *dst) const =0
virtual bool convertPixelsTo(const quint8 *src, quint8 *dst, const KoColorSpace *dstColorSpace, quint32 numPixels, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags) const
quint8 differenceA(const quint8 *src1, const quint8 *src2) const override
void colorFromXML(quint8 *, const QDomElement &) const override
const KoColorProfile * profile() const override
void fromLabA16(const quint8 *src, quint8 *dst, quint32 nPixels) const override
KoColorTransformation * createBrightnessContrastAdjustment(const quint16 *) const override
QVector< double > fromYUV(qreal *, qreal *, qreal *) const override
KoID colorDepthId() const override
virtual void invertColor(quint8 *, qint32) const
void colorToXML(const quint8 *, QDomDocument &, QDomElement &) const override
virtual quint32 colorSpaceType() const
void toRgbA16(const quint8 *src, quint8 *dst, quint32 nPixels) const override
void toHSY(const QVector< double > &, qreal *, qreal *, qreal *) const override
bool willDegrade(ColorSpaceIndependence independence) const override
QVector< double > fromHSY(qreal *, qreal *, qreal *) const override
KoSimpleColorSpace(const QString &id, const QString &name, const KoID &colorModelId, const KoID &colorDepthId)
KoID colorModelId() const override
~KoSimpleColorSpace() override
KoColorProfile * m_profile
void fromRgbA16(const quint8 *src, quint8 *dst, quint32 nPixels) const override
bool convertPixelsTo(const quint8 *src, quint8 *dst, const KoColorSpace *dstColorSpace, quint32 numPixels, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags) const override
virtual KoColorTransformation * createDesaturateAdjustment() const
void toYUV(const QVector< double > &, qreal *, qreal *, qreal *) const override
bool profileIsCompatible(const KoColorProfile *) const override
KoColorTransformation * createPerChannelAdjustment(const quint16 *const *) const override
void toLabA16(const quint8 *src, quint8 *dst, quint32 nPixels) const override
virtual QString colorSpaceEngine() const
quint8 difference(const quint8 *src1, const quint8 *src2) const override
bool hasHighDynamicRange() const override
KoColorTransformation * createDarkenAdjustment(qint32, bool, qreal) const override
const KoColorSpace * lab16(const QString &profileName=QString())
static KoColorSpaceRegistry * instance()
const KoColorSpace * rgb16(const QString &profileName=QString())