30 #ifndef _CEGUIColourPickerConversions_h_
31 #define _CEGUIColourPickerConversions_h_
33 #include "CEGUI/CommonDialogs/Module.h"
34 #include "CEGUI/CommonDialogs/ColourPicker/Types.h"
35 #include "CEGUI/Colour.h"
38 # pragma warning(push)
39 # pragma warning(disable : 4251)
45 class CEGUI_COMMONDIALOGS_API ColourPickerConversions
49 static Lab_Colour toLab(RGB_Colour colour);
52 static HSV_Colour toHSV(RGB_Colour colour);
55 static RGB_Colour toRGB(
const Lab_Colour& colour);
58 static RGB_Colour toRGB(
float L,
float a,
float b);
64 static RGB_Colour toRGB(
const HSV_Colour& colour);
67 static CEGUI::Colour toCeguiColour(
const RGB_Colour& colourRGB);
70 static float toX(
unsigned char R,
unsigned char G,
unsigned char B);
73 static float toY(
unsigned char R,
unsigned char G,
unsigned char B);
76 static float toZ(
unsigned char R,
unsigned char G,
unsigned char B);
79 static float toX(
float R,
float G,
float B);
82 static float toY(
float R,
float G,
float B);
85 static float toZ(
float R,
float G,
float B);
88 static float toL(
float Y);
91 static float toA(
float X,
float Y);
94 static float toB(
float Y,
float Z);
97 static RGB_Colour linearInterpolationRGB(
float interPolBalance,
98 const RGB_Colour& start,
99 const RGB_Colour& end);
102 static unsigned char linearInterpolationAlpha(
float interPolBalance,
103 unsigned char startAlpha,
104 unsigned char endAlpha);
107 static Lab_Colour linearInterpolationLab(
float interPolBalance,
108 const Lab_Colour& start,
109 const Lab_Colour& end);
112 static HSV_Colour linearInterpolationHSV(
float interPolBalance,
113 const HSV_Colour& start,
114 const HSV_Colour& end);
118 static void clampInterpolationValue(
float& interPolBalance);
121 static float normCalc(
float div);
124 static float XNormCalc(
float X);
127 static float YNormCalc(
float Y);
130 static float ZNormCalc(
float Z);
133 static void clamp(
float& value,
float min_val,
float max_val);
136 static const float Xn;
137 static const float Yn;
138 static const float Zn;
142 static const float LAB_COMPARE_VALUE_CONST;
147 #if defined(_MSC_VER)
148 # pragma warning(pop)
Main namespace for Crazy Eddie's GUI Library.
Definition: cegui/include/CEGUI/Affector.h:42
Class representing colour values within the system.
Definition: cegui/include/CEGUI/Colour.h:44