Krita Source Code Documentation
Loading...
Searching...
No Matches
KisColor Class Reference

#include <kis_color.h>

Public Types

enum  Type { HSY , HSV , HSL , HSI }
 

Public Member Functions

void fromKoColor (const KoColor &color)
 
qreal getH () const
 
qreal getS () const
 
Type getType () const
 
qreal getX () const
 
 KisColor (const KisColor &color, KisDisplayColorConverter *converter, Type type=HSY, qreal lR=DEFAULT_LUMA_R, qreal lG=DEFAULT_LUMA_G, qreal lB=DEFAULT_LUMA_B, qreal lGamma=DEFAULT_LUMA_GAMMA)
 
 KisColor (const KoColor &color, KisDisplayColorConverter *converter, Type type=HSY, qreal lR=DEFAULT_LUMA_R, qreal lG=DEFAULT_LUMA_G, qreal lB=DEFAULT_LUMA_B, qreal lGamma=DEFAULT_LUMA_GAMMA)
 
 KisColor (const QColor &color, KisDisplayColorConverter *converter, Type type=HSY, qreal lR=DEFAULT_LUMA_R, qreal lG=DEFAULT_LUMA_G, qreal lB=DEFAULT_LUMA_B, qreal lGamma=DEFAULT_LUMA_GAMMA)
 
 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)
 
 KisColor (qreal hue, KisDisplayColorConverter *converter, Type type, qreal lR=DEFAULT_LUMA_R, qreal lG=DEFAULT_LUMA_G, qreal lB=DEFAULT_LUMA_B, qreal lGamma=DEFAULT_LUMA_GAMMA)
 
 KisColor (Qt::GlobalColor color, KisDisplayColorConverter *converter, Type type=HSY, qreal lR=DEFAULT_LUMA_R, qreal lG=DEFAULT_LUMA_G, qreal lB=DEFAULT_LUMA_B, qreal lGamma=DEFAULT_LUMA_GAMMA)
 
qreal lumaB () const
 
qreal lumaG () const
 
qreal lumaGamma () const
 
qreal lumaR () const
 
void setH (qreal v)
 
void setHSX (qreal h, qreal s, qreal x)
 
void setS (qreal v)
 
void setX (qreal v)
 
KoColor toKoColor () const
 
QColor toQColor () const
 
 ~KisColor ()
 

Private Member Functions

void initHSX (Type type, qreal h, qreal s, qreal x)
 

Private Attributes

KisDisplayColorConverterm_colorConverter
 
qreal m_hue
 
qreal m_lumaB
 
qreal m_lumaG
 
qreal m_lumaGamma
 
qreal m_lumaR
 
qreal m_saturation
 
KisColor::Type m_type
 
qreal m_value
 

Detailed Description

Definition at line 17 of file kis_color.h.

Member Enumeration Documentation

◆ Type

Enumerator
HSY 
HSV 
HSL 
HSI 

Definition at line 20 of file kis_color.h.

20{ HSY, HSV, HSL, HSI };

Constructor & Destructor Documentation

◆ KisColor() [1/6]

KisColor::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 at line 12 of file kis_color.cpp.

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}
qreal m_lumaGamma
Definition kis_color.h:81
qreal m_lumaG
Definition kis_color.h:79
KisDisplayColorConverter * m_colorConverter
Definition kis_color.h:83
qreal m_lumaR
Definition kis_color.h:78
void initHSX(Type type, qreal h, qreal s, qreal x)
KisColor::Type m_type
Definition kis_color.h:82
qreal m_lumaB
Definition kis_color.h:80

References initHSX(), m_colorConverter, m_lumaB, m_lumaG, m_lumaGamma, m_lumaR, and m_type.

◆ KisColor() [2/6]

KisColor::KisColor ( qreal hue,
KisDisplayColorConverter * converter,
Type type,
qreal lR = DEFAULT_LUMA_R,
qreal lG = DEFAULT_LUMA_G,
qreal lB = DEFAULT_LUMA_B,
qreal lGamma = DEFAULT_LUMA_GAMMA )

Definition at line 25 of file kis_color.cpp.

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}

References initHSX(), m_colorConverter, m_lumaB, m_lumaG, m_lumaGamma, m_lumaR, and m_type.

◆ KisColor() [3/6]

KisColor::KisColor ( const QColor & color,
KisDisplayColorConverter * converter,
Type type = HSY,
qreal lR = DEFAULT_LUMA_R,
qreal lG = DEFAULT_LUMA_G,
qreal lB = DEFAULT_LUMA_B,
qreal lGamma = DEFAULT_LUMA_GAMMA )

Definition at line 38 of file kis_color.cpp.

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}
void fromKoColor(const KoColor &color)
KoColor approximateFromRenderedQColor(const QColor &c) const

References KisDisplayColorConverter::approximateFromRenderedQColor(), fromKoColor(), m_colorConverter, m_lumaB, m_lumaG, m_lumaGamma, m_lumaR, and m_type.

◆ KisColor() [4/6]

KisColor::KisColor ( Qt::GlobalColor color,
KisDisplayColorConverter * converter,
Type type = HSY,
qreal lR = DEFAULT_LUMA_R,
qreal lG = DEFAULT_LUMA_G,
qreal lB = DEFAULT_LUMA_B,
qreal lGamma = DEFAULT_LUMA_GAMMA )

Definition at line 52 of file kis_color.cpp.

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}

References KisDisplayColorConverter::approximateFromRenderedQColor(), fromKoColor(), m_colorConverter, m_lumaB, m_lumaG, m_lumaGamma, m_lumaR, and m_type.

◆ KisColor() [5/6]

KisColor::KisColor ( const KisColor & color,
KisDisplayColorConverter * converter,
KisColor::Type type = HSY,
qreal lR = DEFAULT_LUMA_R,
qreal lG = DEFAULT_LUMA_G,
qreal lB = DEFAULT_LUMA_B,
qreal lGamma = DEFAULT_LUMA_GAMMA )

Definition at line 79 of file kis_color.cpp.

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}
qreal getS() const
Definition kis_color.h:50
qreal getH() const
Definition kis_color.h:49
qreal getX() const
Definition kis_color.h:51

References getH(), getS(), getX(), initHSX(), m_colorConverter, m_lumaB, m_lumaG, m_lumaGamma, m_lumaR, and m_type.

◆ KisColor() [6/6]

KisColor::KisColor ( const KoColor & color,
KisDisplayColorConverter * converter,
KisColor::Type type = HSY,
qreal lR = DEFAULT_LUMA_R,
qreal lG = DEFAULT_LUMA_G,
qreal lB = DEFAULT_LUMA_B,
qreal lGamma = DEFAULT_LUMA_GAMMA )

Definition at line 67 of file kis_color.cpp.

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}

References fromKoColor(), m_colorConverter, m_lumaB, m_lumaG, m_lumaGamma, m_lumaR, and m_type.

◆ ~KisColor()

KisColor::~KisColor ( )

Definition at line 91 of file kis_color.cpp.

92{
93}

Member Function Documentation

◆ fromKoColor()

void KisColor::fromKoColor ( const KoColor & color)

Definition at line 122 of file kis_color.cpp.

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}
qreal m_saturation
Definition kis_color.h:77
qreal m_hue
Definition kis_color.h:75
qreal m_value
Definition kis_color.h:76
void getHslF(const KoColor &srcColor, qreal *h, qreal *s, qreal *l, qreal *a=0)
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)
void getHsvF(const KoColor &srcColor, qreal *h, qreal *s, qreal *v, qreal *a=0)

References KisDisplayColorConverter::getHsiF(), KisDisplayColorConverter::getHslF(), KisDisplayColorConverter::getHsvF(), KisDisplayColorConverter::getHsyF(), HSI, HSL, HSV, HSY, m_colorConverter, m_hue, m_lumaB, m_lumaG, m_lumaGamma, m_lumaR, m_saturation, m_type, and m_value.

◆ getH()

qreal KisColor::getH ( ) const
inline

Definition at line 49 of file kis_color.h.

49{ return m_hue; }

References m_hue.

◆ getS()

qreal KisColor::getS ( ) const
inline

Definition at line 50 of file kis_color.h.

50{ return m_saturation; }

References m_saturation.

◆ getType()

Type KisColor::getType ( ) const
inline

Definition at line 48 of file kis_color.h.

48{ return m_type; }

References m_type.

◆ getX()

qreal KisColor::getX ( ) const
inline

Definition at line 51 of file kis_color.h.

51{ return m_value; }

References m_value.

◆ initHSX()

void KisColor::initHSX ( Type type,
qreal h,
qreal s,
qreal x )
private

Definition at line 140 of file kis_color.cpp.

References m_hue, m_saturation, m_type, and m_value.

◆ lumaB()

qreal KisColor::lumaB ( ) const
inline

Definition at line 54 of file kis_color.h.

54{ return m_lumaB; }

References m_lumaB.

◆ lumaG()

qreal KisColor::lumaG ( ) const
inline

Definition at line 53 of file kis_color.h.

53{ return m_lumaG; }

References m_lumaG.

◆ lumaGamma()

qreal KisColor::lumaGamma ( ) const
inline

Definition at line 55 of file kis_color.h.

55{ return m_lumaGamma; }

References m_lumaGamma.

◆ lumaR()

qreal KisColor::lumaR ( ) const
inline

Definition at line 52 of file kis_color.h.

52{ return m_lumaR; }

References m_lumaR.

◆ setH()

void KisColor::setH ( qreal v)
inline

Definition at line 57 of file kis_color.h.

57{ m_hue = v; }
qreal v

References m_hue, and v.

◆ setHSX()

void KisColor::setHSX ( qreal h,
qreal s,
qreal x )
inline

Definition at line 65 of file kis_color.h.

65 {
66 m_hue = h;
67 m_saturation = s;
68 m_value = x;
69 }

References m_hue, m_saturation, and m_value.

◆ setS()

void KisColor::setS ( qreal v)
inline

Definition at line 58 of file kis_color.h.

58{ m_saturation = v; }

References m_saturation, and v.

◆ setX()

void KisColor::setX ( qreal v)
inline

Definition at line 59 of file kis_color.h.

59{ m_value = v; }

References m_value, and v.

◆ toKoColor()

KoColor KisColor::toKoColor ( ) const

Definition at line 100 of file kis_color.cpp.

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}
KoColor fromHsiF(qreal h, qreal s, qreal i)
KoColor fromHslF(qreal h, qreal s, qreal l, qreal a=1.0)
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)

References KisDisplayColorConverter::fromHsiF(), KisDisplayColorConverter::fromHslF(), KisDisplayColorConverter::fromHsvF(), KisDisplayColorConverter::fromHsyF(), HSI, HSL, HSV, HSY, m_colorConverter, m_hue, m_lumaB, m_lumaG, m_lumaGamma, m_lumaR, m_saturation, m_type, and m_value.

◆ toQColor()

QColor KisColor::toQColor ( ) const

Definition at line 95 of file kis_color.cpp.

96{
98}
KoColor toKoColor() const
QColor toQColor(const KoColor &c, bool proofToPaintColors=false) const

References m_colorConverter, toKoColor(), and KisDisplayColorConverter::toQColor().

Member Data Documentation

◆ m_colorConverter

KisDisplayColorConverter* KisColor::m_colorConverter
private

Definition at line 83 of file kis_color.h.

◆ m_hue

qreal KisColor::m_hue
private

Definition at line 75 of file kis_color.h.

◆ m_lumaB

qreal KisColor::m_lumaB
private

Definition at line 80 of file kis_color.h.

◆ m_lumaG

qreal KisColor::m_lumaG
private

Definition at line 79 of file kis_color.h.

◆ m_lumaGamma

qreal KisColor::m_lumaGamma
private

Definition at line 81 of file kis_color.h.

◆ m_lumaR

qreal KisColor::m_lumaR
private

Definition at line 78 of file kis_color.h.

◆ m_saturation

qreal KisColor::m_saturation
private

Definition at line 77 of file kis_color.h.

◆ m_type

KisColor::Type KisColor::m_type
private

Definition at line 82 of file kis_color.h.

◆ m_value

qreal KisColor::m_value
private

Definition at line 76 of file kis_color.h.


The documentation for this class was generated from the following files: