Krita Source Code Documentation
Loading...
Searching...
No Matches
KoSimpleColorSpaceEngine.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2009 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-or-later
5 */
6
8
10
11#include <klocalizedstring.h>
12
13#include "KoColorSpace.h"
14
15#include "DebugPigment.h"
16
17#include <QColor>
18
19// -- KoSimpleColorConversionTransformation --
20
22{
23public:
29
32
33 void transform(const quint8 *src, quint8 *dst, qint32 numPixels) const override {
34 const KoColorSpace* srcCs = srcColorSpace();
35 const KoColorSpace* dstCs = dstColorSpace();
36
37 quint32 srcPixelsize = srcCs->pixelSize();
38 quint32 dstPixelsize = dstCs->pixelSize();
39
40 QColor c;
41 while (numPixels > 0) {
42
43 srcCs->toQColor(src, &c);
44 dstCs->fromQColor(c, dst);
45
46 src += srcPixelsize;
47 dst += dstPixelsize;
48
49 --numPixels;
50 }
51 }
52
53};
54
55
56
58 : KoColorSpaceEngine("simple", i18n("Simple Color Conversion Engine"))
59{
60}
61
65
67 const KoColorSpace* dstColorSpace,
69 KoColorConversionTransformation::ConversionFlags conversionFlags) const
70{
71 Q_UNUSED(renderingIntent);
72 Q_UNUSED(conversionFlags);
73 return new KoSimpleColorConversionTransformation(srcColorSpace, dstColorSpace);
74}
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
KoSimpleColorConversionTransformation(const KoColorSpace *srcCs, const KoColorSpace *dstCs)
void transform(const quint8 *src, quint8 *dst, qint32 numPixels) const override
KoColorConversionTransformation * createColorTransformation(const KoColorSpace *srcColorSpace, const KoColorSpace *dstColorSpace, KoColorConversionTransformation::Intent renderingIntent, KoColorConversionTransformation::ConversionFlags conversionFlags) const override