Krita Source Code Documentation
Loading...
Searching...
No Matches
KoRgbU8ColorSpace.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2004 Boudewijn Rempt <boud@valdyas.org>
3 * SPDX-FileCopyrightText: 2006 Cyrille Berger <cberger@cberger.net>
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 */
7#ifndef KORGBU8COLORSPACE_H
8#define KORGBU8COLORSPACE_H
9
10#include <QColor>
11
12#include "KoSimpleColorSpace.h"
15
16struct KoBgrU8Traits;
17
22class KoRgbU8ColorSpace : public KoSimpleColorSpace<KoBgrU8Traits>
23{
24
25public:
26
28
29 ~KoRgbU8ColorSpace() override;
30
31 static QString colorSpaceId();
32
33 virtual KoColorSpace* clone() const;
34
35 void fromQColor(const QColor& color, quint8 *dst) const override;
36
37 void toQColor(const quint8 *src, QColor *c) const override;
38
39 void toHSY(const QVector<double> &channelValues, qreal *hue, qreal *sat, qreal *luma) const override;
40 QVector <double> fromHSY(qreal *hue, qreal *sat, qreal *luma) const override;
41 void toYUV(const QVector<double> &channelValues, qreal *y, qreal *u, qreal *v) const override;
42 QVector <double> fromYUV(qreal *y, qreal *u, qreal *v) const override;
43
44 void fillGrayBrushWithColorAndLightnessOverlay(quint8 *dst, const QRgb *brush, quint8 *brushColor, qint32 nPixels) const override;
45 void fillGrayBrushWithColorAndLightnessWithStrength(quint8* dst, const QRgb* brush, quint8* brushColor, qreal strength, qint32 nPixels) const override;
46 void modulateLightnessByGrayBrush(quint8 *dst, const QRgb *brush, qreal strength, qint32 nPixels) const override;
47};
48
50{
51
52public:
54 : KoSimpleColorSpaceFactory(QStringLiteral("RGBA"),
55 i18n("RGB (8-bit integer/channel, unmanaged)"),
56 true,
59 }
60
61 KoColorSpace *createColorSpace(const KoColorProfile *) const override {
62 return new KoRgbU8ColorSpace();
63 }
64
65};
66
67#endif
qreal v
qreal u
const KoID Integer8BitsColorDepthID("U8", ki18n("8-bit integer/channel"))
const KoID RGBAColorModelID("RGBA", ki18n("RGB/Alpha"))
KoColorSpace * createColorSpace(const KoColorProfile *) const override
void fillGrayBrushWithColorAndLightnessWithStrength(quint8 *dst, const QRgb *brush, quint8 *brushColor, qreal strength, qint32 nPixels) const override
virtual KoColorSpace * clone() const
void toHSY(const QVector< double > &channelValues, qreal *hue, qreal *sat, qreal *luma) const override
void fromQColor(const QColor &color, quint8 *dst) const override
QVector< double > fromYUV(qreal *y, qreal *u, qreal *v) const override
void modulateLightnessByGrayBrush(quint8 *dst, const QRgb *brush, qreal strength, qint32 nPixels) const override
void toYUV(const QVector< double > &channelValues, qreal *y, qreal *u, qreal *v) const override
static QString colorSpaceId()
QVector< double > fromHSY(qreal *hue, qreal *sat, qreal *luma) const override
void fillGrayBrushWithColorAndLightnessOverlay(quint8 *dst, const QRgb *brush, quint8 *brushColor, qint32 nPixels) const override
void toQColor(const quint8 *src, QColor *c) const override
unsigned int QRgb