Krita Source Code Documentation
Loading...
Searching...
No Matches
KoScaleColorConversionTransformation.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2007 Cyrille Berger <cberger@cberger.net>
3 *
4 * SPDX-License-Identifier: LGPL-2.1-or-later
5 */
6
7#ifndef _KO_SCALE_COLOR_CONVERSION_TRANSFORMATION_H_
8#define _KO_SCALE_COLOR_CONVERSION_TRANSFORMATION_H_
9
16template<typename _src_CSTraits_, typename _dst_CSTraits_>
18{
19public:
21 Q_ASSERT(srcCs->colorModelId() == dstCs->colorModelId());
22 }
23 virtual void transform(const quint8 *srcU8, quint8 *dstU8, qint32 nPixels) const {
24 const typename _src_CSTraits_::channels_type* src = _src_CSTraits_::nativeArray(srcU8);
25 typename _dst_CSTraits_::channels_type* dst = _dst_CSTraits_::nativeArray(dstU8);
26 for (quint32 i = 0; i < _src_CSTraits_::channels_nb * nPixels; i++) {
28 }
29 }
30};
31
35template<typename _src_CSTraits_, typename _dst_CSTraits_>
37{
38public:
39 KoScaleColorConversionTransformationFactory(const QString& _colorModelId, const QString& _profileName, const QString& _srcDepthId, const QString& _dstDepthId)
40 : KoColorConversionTransformationFactory(_colorModelId, _srcDepthId, _profileName, _colorModelId, _dstDepthId, _profileName),
45 }
47 Q_UNUSED(renderingIntent);
48 Q_ASSERT(canBeSource(srcColorSpace));
49 Q_ASSERT(canBeDestination(dstColorSpace));
50 return new KoScaleColorConversionTransformation<_src_CSTraits_, _dst_CSTraits_>(srcColorSpace, dstColorSpace);
51 }
52 virtual bool conserveColorInformation() const {
53 return true;
54 }
55 virtual bool conserveDynamicRange() const {
56 return hdr;
57 }
58private:
59 bool hdr;
60};
61
62#endif
const KoID Float32BitsColorDepthID("F32", ki18n("32-bit float/channel"))
const KoID Float16BitsColorDepthID("F16", ki18n("16-bit float/channel"))
static _Tdst scaleToA(_T a)
virtual KoID colorModelId() const =0
virtual KoColorConversionTransformation * createColorTransformation(const KoColorSpace *srcColorSpace, const KoColorSpace *dstColorSpace, KoColorConversionTransformation::Intent renderingIntent=KoColorConversionTransformation::internalRenderingIntent()) const
KoScaleColorConversionTransformationFactory(const QString &_colorModelId, const QString &_profileName, const QString &_srcDepthId, const QString &_dstDepthId)
KoScaleColorConversionTransformation(const KoColorSpace *srcCs, const KoColorSpace *dstCs)
virtual void transform(const quint8 *srcU8, quint8 *dstU8, qint32 nPixels) const