30 #else  // TES_IS_BIG_ENDIAN    35 #endif // TES_IS_BIG_ENDIAN    48 #else  // TES_IS_BIG_ENDIAN    53 #endif // TES_IS_BIG_ENDIAN    60     Colour(uint32_t c = 0xffffffffu);
    84     explicit Colour(uint8_t r, uint8_t g, uint8_t b, uint8_t a = 255u);
    91     Colour(
int r, 
int g, 
int b, 
int a = 255);
    98     Colour(
float r, 
float g, 
float b, 
float a = 1.0f);
   129     void setf(
float f, 
int index);
   133     float getf(
int index) 
const;
   138     Colour adjust(
float factor) 
const;
   155     static void rgbToHsv(
float &h, 
float &s, 
float &v, 
const float r, 
const float g, 
const float b);
   164     static void hsvToRgb(
float &r, 
float &g, 
float &b, 
const float h, 
const float s, 
const float v);
   172     static void hsvToRgb(uint8_t &r, uint8_t &g, uint8_t &b,
   173                          const float h, 
const float s, 
const float v);
   185     bool operator==(
const Colour &other) 
const;
   189     bool operator!=(
const Colour &other) 
const;
   255       LightGoldenrodYellow,
   384     static const Colour Colours[PredefinedCount];
   390     static const int *ColourCycles[CycleCount];
   393     static const int CycleCounts[CycleCount];
   443     : r(r), g(g), b(b), a(a)
   515     rgba[index] = uint8_t(f * 255.0f);
   521     return rgba[index] / 255.0f;
   544 #endif // _3ESCOLOUR_H_ A 32-bit integer colour class. 
Definition: 3escolour.h:19
float getf(int index) const
Get a channel in floating point form. 
Definition: 3escolour.h:519
bool operator==(const Colour &other) const
Precise equality operator. 
Definition: 3escolour.h:532
Colour(uint32_t c=0xffffffffu)
Construct a colour with the given numeric value. 
Definition: 3escolour.h:409
void setGf(float f)
Set green channel from a floating point value. 
Definition: 3escolour.h:495
uint8_t r
Red channel. 
Definition: 3escolour.h:52
Colour lighten() const
Lighten the colour by 1.5. 
Definition: 3escolour.h:142
Channels
Channel index enumeration. 
Definition: 3escolour.h:23
uint8_t a
Alpha channel. 
Definition: 3escolour.h:49
uint8_t rgba[4]
Indexed channels. 
Definition: 3escolour.h:55
float rf() const
Get red channel in floating point form. 
Definition: 3escolour.h:465
Definition: 3esbounds.h:13
Colour & operator=(const Colour &other)
Assignment operator. 
Definition: 3escolour.h:525
void setf(float f, int index)
Set a channel in floating point form. 
Definition: 3escolour.h:513
void setAf(float f)
Set alpha channel from a floating point value. 
Definition: 3escolour.h:507
Predefined
Enumerates a set of predefined colours ("web safe" colours). 
Definition: 3escolour.h:192
uint8_t b
Blue channel. 
Definition: 3escolour.h:50
float gf() const
Get green channel in floating point form. 
Definition: 3escolour.h:471
A colour set which attempts to cater for Protanomaly colour blindness. 
Definition: 3escolour.h:374
A small grey scale colour set. 
Definition: 3escolour.h:378
float bf() const
Get blue channel in floating point form. 
Definition: 3escolour.h:477
uint32_t c
Encoded colour value. 
Definition: 3escolour.h:39
uint8_t g
Green channel. 
Definition: 3escolour.h:51
A colour set which attempts to cater for Deuteranomaly colour blindness. 
Definition: 3escolour.h:372
bool operator!=(const Colour &other) const
Precise inequality operator. 
Definition: 3escolour.h:538
float af() const
Get alpha channel in floating point form. 
Definition: 3escolour.h:483
ColourCycle
Enumerates the various available colour cycles. 
Definition: 3escolour.h:367
void setRf(float f)
Set red channel from a floating point value. 
Definition: 3escolour.h:489
Colour darken() const
Darken the colour by 0.5. 
Definition: 3escolour.h:146
A colour set which attempts to cater for Tritanomaly colour blindness. 
Definition: 3escolour.h:376
Standard colour set. 
Definition: 3escolour.h:370
void setBf(float f)
Set blue channel from a floating point value. 
Definition: 3escolour.h:501