Krita Source Code Documentation
Loading...
Searching...
No Matches
KoCmykColorSpaceMaths.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2006, 2007, 2010 Cyrille Berger <cberger@cberger.net>
3 * SPDX-FileCopyrightText: 2017, 2020 L. E. Segovia <amy@amyspark.me>
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6*/
7
8#ifndef KOCMYKCOLORSPACEMATHS_H_
9#define KOCMYKCOLORSPACEMATHS_H_
10
11#include <cmath>
12#include <limits>
13
14#include "kritapigment_export.h"
15#include <KoIntegerMaths.h>
16#include "KoChannelInfo.h"
17#include "KoLut.h"
18
19#include <KoColorSpaceMaths.h>
20
21#undef _T
22
41template<typename _T>
43{
44public:
45};
46
50template<>
51class KRITAPIGMENT_EXPORT KoCmykColorSpaceMathsTraits<quint8> : public KoColorSpaceMathsTraits<quint8>
52{
53};
54
55template<>
56class KRITAPIGMENT_EXPORT KoCmykColorSpaceMathsTraits<quint16> : public KoColorSpaceMathsTraits<quint16>
57{
58};
59
60template<>
61class KRITAPIGMENT_EXPORT KoCmykColorSpaceMathsTraits<qint16> : public KoColorSpaceMathsTraits<qint16>
62{
63};
64
65template<>
66class KRITAPIGMENT_EXPORT KoCmykColorSpaceMathsTraits<quint32> : public KoColorSpaceMathsTraits<quint32>
67{
68};
69
70#include <KoConfig.h>
71#ifdef HAVE_OPENEXR
72#include <half.h>
73
74template<>
75class KRITAPIGMENT_EXPORT KoCmykColorSpaceMathsTraits<half> : public KoColorSpaceMathsTraits<half>
76{
77public:
78 static const half zeroValueCMYK;
79 static const half unitValueCMYK;
80 static const half halfValueCMYK;
81};
82#endif
83
84template<>
85class KRITAPIGMENT_EXPORT KoCmykColorSpaceMathsTraits<float> : public KoColorSpaceMathsTraits<float>
86{
87public:
88 static const float zeroValueCMYK;
89 static const float unitValueCMYK;
90 static const float halfValueCMYK;
91};
92
93template<>
94class KRITAPIGMENT_EXPORT KoCmykColorSpaceMathsTraits<double> : public KoColorSpaceMathsTraits<double>
95{
96public:
97 static const double zeroValueCMYK;
98 static const double unitValueCMYK;
99 static const double halfValueCMYK;
100};
101
102#endif