Changeset View
Changeset View
Standalone View
Standalone View
plugins/dockers/artisticcolorselector/kis_color.h
Show All 20 Lines | |||||
21 | #define H_KIS_COLOR_H | 21 | #define H_KIS_COLOR_H | ||
22 | 22 | | |||
23 | #include <QtGlobal> | 23 | #include <QtGlobal> | ||
24 | #include <QColor> | 24 | #include <QColor> | ||
25 | 25 | | |||
26 | #include <kis_display_color_converter.h> | 26 | #include <kis_display_color_converter.h> | ||
27 | #include <kis_arcs_constants.h> | 27 | #include <kis_arcs_constants.h> | ||
28 | 28 | | |||
29 | class KisCanvas2; | ||||
30 | | ||||
29 | class KisColor | 31 | class KisColor | ||
30 | { | 32 | { | ||
31 | public: | 33 | public: | ||
32 | enum Type { HSY, HSV, HSL, HSI }; | 34 | enum Type { HSY, HSV, HSL, HSI }; | ||
33 | 35 | | |||
34 | KisColor(KisDisplayColorConverter *converter = KisDisplayColorConverter::dumbConverterInstance(), | 36 | KisColor(KisCanvas2* canvas = nullptr, Type type=HSY, | ||
35 | Type type=HSY, qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | 37 | qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | ||
36 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | 38 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | ||
37 | 39 | | |||
38 | KisColor(qreal hue, KisDisplayColorConverter *converter, Type type, | 40 | KisColor(qreal hue, KisCanvas2* canvas = nullptr, Type type = HSY, | ||
39 | qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | 41 | qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | ||
40 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | 42 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | ||
41 | 43 | | |||
42 | KisColor(const QColor& color, KisDisplayColorConverter* converter, Type type=HSY, | 44 | KisColor(const QColor& color, KisCanvas2* canvas = nullptr, Type type=HSY, | ||
43 | qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | 45 | qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | ||
44 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | 46 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | ||
45 | 47 | | |||
46 | KisColor(Qt::GlobalColor color, KisDisplayColorConverter* converter, Type type=HSY, | 48 | KisColor(Qt::GlobalColor color, KisCanvas2* canvas = nullptr, Type type=HSY, | ||
47 | qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | 49 | qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | ||
48 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | 50 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | ||
49 | 51 | | |||
50 | KisColor(const KisColor& color); | 52 | KisColor(const KisColor& color, KisCanvas2* canvas = nullptr, Type type = HSY, | ||
51 | | ||||
52 | KisColor(const KisColor& color, Type type, | | |||
53 | qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | 53 | qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | ||
54 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | 54 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | ||
55 | 55 | | |||
56 | KisColor(const KoColor &color, KisDisplayColorConverter* converter, Type type=HSY, | 56 | KisColor(const KoColor &color, KisCanvas2* canvas = nullptr, Type type=HSY, | ||
57 | qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | 57 | qreal lR = DEFAULT_LUMA_R, qreal lG = DEFAULT_LUMA_G, | ||
58 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | 58 | qreal lB = DEFAULT_LUMA_B, qreal lGamma = DEFAULT_LUMA_GAMMA); | ||
59 | 59 | | |||
60 | ~KisColor(); | 60 | ~KisColor(); | ||
61 | 61 | | |||
62 | inline Type getType() const { return m_type; } | 62 | inline Type getType() const { return m_type; } | ||
63 | inline qreal getH() const { return m_hue; } | 63 | inline qreal getH() const { return m_hue; } | ||
64 | inline qreal getS() const { return m_saturation; } | 64 | inline qreal getS() const { return m_saturation; } | ||
Show All 12 Lines | |||||
77 | void fromKoColor(const KoColor &color); | 77 | void fromKoColor(const KoColor &color); | ||
78 | 78 | | |||
79 | inline void setHSX(qreal h, qreal s, qreal x) { | 79 | inline void setHSX(qreal h, qreal s, qreal x) { | ||
80 | m_hue = h; | 80 | m_hue = h; | ||
81 | m_saturation = s; | 81 | m_saturation = s; | ||
82 | m_value = x; | 82 | m_value = x; | ||
83 | } | 83 | } | ||
84 | 84 | | |||
85 | inline KisDisplayColorConverter* colorConverter() const { return m_colorConverter; } | 85 | KisDisplayColorConverter* colorConverter() const; | ||
86 | 86 | | |||
87 | private: | 87 | private: | ||
88 | void initHSX(Type type, qreal h, qreal s, qreal x); | 88 | void initHSX(Type type, qreal h, qreal s, qreal x); | ||
89 | 89 | | |||
90 | private: | 90 | private: | ||
91 | qreal m_hue; | 91 | qreal m_hue; | ||
92 | qreal m_value; | 92 | qreal m_value; | ||
93 | qreal m_saturation; | 93 | qreal m_saturation; | ||
94 | qreal m_lumaR; | 94 | qreal m_lumaR; | ||
95 | qreal m_lumaG; | 95 | qreal m_lumaG; | ||
96 | qreal m_lumaB; | 96 | qreal m_lumaB; | ||
97 | qreal m_lumaGamma; | 97 | qreal m_lumaGamma; | ||
98 | KisColor::Type m_type; | 98 | KisColor::Type m_type; | ||
99 | KisDisplayColorConverter* m_colorConverter; | 99 | KisCanvas2* m_canvas; | ||
100 | }; | 100 | }; | ||
101 | 101 | | |||
102 | #endif // H_KIS_COLOR_H | 102 | #endif // H_KIS_COLOR_H |