Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_color.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2011 Silvio Heinrich <plassy@web.de>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7
8#ifndef H_KIS_COLOR_H
9#define H_KIS_COLOR_H
10
11#include <QtGlobal>
12#include <QColor>
13
15#include <kis_arcs_constants.h>
16
18{
19public:
20 enum Type { HSY, HSV, HSL, HSI };
21
23 Type type=HSY, qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G,
24 qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA);
25
26 KisColor(qreal hue, KisDisplayColorConverter *converter, Type type,
27 qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G,
28 qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA);
29
30 KisColor(const QColor& color, KisDisplayColorConverter* converter, Type type=HSY,
31 qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G,
32 qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA);
33
34 KisColor(Qt::GlobalColor color, KisDisplayColorConverter* converter, Type type=HSY,
35 qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G,
36 qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA);
37
38 KisColor(const KisColor& color, KisDisplayColorConverter *converter, Type type = HSY,
39 qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G,
40 qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA);
41
42 KisColor(const KoColor &color, KisDisplayColorConverter* converter, Type type=HSY,
43 qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G,
44 qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA);
45
46 ~KisColor();
47
48 inline Type getType() const { return m_type; }
49 inline qreal getH() const { return m_hue; }
50 inline qreal getS() const { return m_saturation; }
51 inline qreal getX() const { return m_value; }
52 inline qreal lumaR() const { return m_lumaR; }
53 inline qreal lumaG() const { return m_lumaG; }
54 inline qreal lumaB() const { return m_lumaB; }
55 inline qreal lumaGamma() const { return m_lumaGamma; }
56
57 inline void setH(qreal v) { m_hue = v; }
58 inline void setS(qreal v) { m_saturation = v; }
59 inline void setX(qreal v) { m_value = v; }
60
61 QColor toQColor() const;
62 KoColor toKoColor() const;
63 void fromKoColor(const KoColor &color);
64
65 inline void setHSX(qreal h, qreal s, qreal x) {
66 m_hue = h;
67 m_saturation = s;
68 m_value = x;
69 }
70
71private:
72 void initHSX(Type type, qreal h, qreal s, qreal x);
73
74private:
75 qreal m_hue;
76 qreal m_value;
78 qreal m_lumaR;
79 qreal m_lumaG;
80 qreal m_lumaB;
84};
85
86#endif // H_KIS_COLOR_H
qreal v
qreal m_lumaGamma
Definition kis_color.h:81
void setS(qreal v)
Definition kis_color.h:58
void setHSX(qreal h, qreal s, qreal x)
Definition kis_color.h:65
qreal getS() const
Definition kis_color.h:50
void setH(qreal v)
Definition kis_color.h:57
qreal m_lumaG
Definition kis_color.h:79
qreal m_saturation
Definition kis_color.h:77
qreal lumaGamma() const
Definition kis_color.h:55
void fromKoColor(const KoColor &color)
QColor toQColor() const
Definition kis_color.cpp:95
void setX(qreal v)
Definition kis_color.h:59
KisDisplayColorConverter * m_colorConverter
Definition kis_color.h:83
qreal lumaR() const
Definition kis_color.h:52
qreal m_hue
Definition kis_color.h:75
Type getType() const
Definition kis_color.h:48
qreal lumaG() const
Definition kis_color.h:53
qreal m_lumaR
Definition kis_color.h:78
qreal m_value
Definition kis_color.h:76
void initHSX(Type type, qreal h, qreal s, qreal x)
KisColor::Type m_type
Definition kis_color.h:82
qreal getH() const
Definition kis_color.h:49
KoColor toKoColor() const
qreal lumaB() const
Definition kis_color.h:54
qreal getX() const
Definition kis_color.h:51
qreal m_lumaB
Definition kis_color.h:80
KisColor(KisDisplayColorConverter *converter=KisDisplayColorConverter::dumbConverterInstance(), Type type=HSY, qreal lR=DEFAULT_LUMA_R, qreal lG=DEFAULT_LUMA_G, qreal lB=DEFAULT_LUMA_B, qreal lGamma=DEFAULT_LUMA_GAMMA)
Definition kis_color.cpp:12
static KisDisplayColorConverter * dumbConverterInstance()
static const qreal DEFAULT_LUMA_R
static const qreal DEFAULT_LUMA_GAMMA
static const qreal DEFAULT_LUMA_B
static const qreal DEFAULT_LUMA_G