Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_color.cpp
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#include <KoColor.h>
8#include "kis_color.h"
10
11
13 qreal lR, qreal lG, qreal lB, qreal lGamma)
14{
15 m_colorConverter = converter;
16 m_type = type;
17 m_lumaR = lR;
18 m_lumaG = lG;
19 m_lumaB = lB;
20 m_lumaGamma = lGamma;
21
22 initHSX(type, 0.0, 0.0, 0.0);
23}
24
26 qreal lR, qreal lG, qreal lB, qreal lGamma)
27{
28 m_colorConverter = converter;
29 m_type = type;
30 m_lumaR = lR;
31 m_lumaG = lG;
32 m_lumaB = lB;
33 m_lumaGamma = lGamma;
34
35 initHSX(type, hue, 0.0, 0.0);
36}
37
38KisColor::KisColor(const QColor& color, KisDisplayColorConverter* converter, Type type,
39 qreal lR, qreal lG, qreal lB, qreal lGamma)
40{
41 m_colorConverter = converter;
42 m_type = type;
43 m_lumaR = lR;
44 m_lumaG = lG;
45 m_lumaB = lB;
46 m_lumaGamma = lGamma;
47
49 fromKoColor(koColor);
50}
51
52KisColor::KisColor(Qt::GlobalColor color, KisDisplayColorConverter* converter,
53 Type type, qreal lR, qreal lG, qreal lB, qreal lGamma)
54{
55 QColor c(color);
56 m_colorConverter = converter;
57 m_type = type;
58 m_lumaR = lR;
59 m_lumaG = lG;
60 m_lumaB = lB;
61 m_lumaGamma = lGamma;
62
64 fromKoColor(koColor);
65}
66
68 qreal lR, qreal lG, qreal lB, qreal lGamma)
69{
70 m_colorConverter = converter;
71 m_type = type;
72 m_lumaR = lR;
73 m_lumaG = lG;
74 m_lumaB = lB;
75 m_lumaGamma = lGamma;
76 fromKoColor(color);
77}
78
80 qreal lR, qreal lG, qreal lB, qreal lGamma)
81{
82 m_colorConverter = converter;
83 m_type = type;
84 m_lumaR = lR;
85 m_lumaG = lG;
86 m_lumaB = lB;
87 m_lumaGamma = lGamma;
88 initHSX(type, color.getH(), color.getS(), color.getX());
89}
90
94
95QColor KisColor::toQColor() const
96{
98}
99
101{
102 KoColor color;
103
104 switch (m_type) {
105 case HSV:
107 break;
108 case HSI:
110 break;
111 case HSL:
113 break;
114 case HSY:
116 break;
117 }
118
119 return color;
120}
121
123{
124 switch (m_type) {
125 case HSV:
127 break;
128 case HSI:
130 break;
131 case HSL:
133 break;
134 case HSY:
136 break;
137 }
138}
139
140void KisColor::initHSX(Type type, qreal h, qreal s, qreal x)
141{
142 m_type = type;
143 m_hue = h;
144 m_saturation = s;
145 m_value = x;
146}
qreal m_lumaGamma
Definition kis_color.h:81
qreal getS() const
Definition kis_color.h:50
qreal m_lumaG
Definition kis_color.h:79
qreal m_saturation
Definition kis_color.h:77
void fromKoColor(const KoColor &color)
QColor toQColor() const
Definition kis_color.cpp:95
KisDisplayColorConverter * m_colorConverter
Definition kis_color.h:83
qreal m_hue
Definition kis_color.h:75
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 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
void getHslF(const KoColor &srcColor, qreal *h, qreal *s, qreal *l, qreal *a=0)
KoColor fromHsiF(qreal h, qreal s, qreal i)
void getHsiF(const KoColor &srcColor, qreal *h, qreal *s, qreal *i)
void getHsyF(const KoColor &srcColor, qreal *h, qreal *s, qreal *y, qreal R=0.2126, qreal G=0.7152, qreal B=0.0722, qreal gamma=2.2)
KoColor fromHslF(qreal h, qreal s, qreal l, qreal a=1.0)
void getHsvF(const KoColor &srcColor, qreal *h, qreal *s, qreal *v, qreal *a=0)
QColor toQColor(const KoColor &c, bool proofToPaintColors=false) const
KoColor approximateFromRenderedQColor(const QColor &c) const
KoColor fromHsyF(qreal h, qreal s, qreal y, qreal R=0.2126, qreal G=0.7152, qreal B=0.0722, qreal gamma=2.2)
KoColor fromHsvF(qreal h, qreal s, qreal v, qreal a=1.0)