44 RgbwColor(uint8_t r, uint8_t g, uint8_t b, uint8_t w = 0) :
45 R(r),
G(g),
B(b),
W(w)
55 R(0),
G(0),
B(0),
W(brightness)
98 return (
R == other.
R &&
G == other.
G &&
B == other.
B &&
W == other.
W);
103 return !(*
this == other);
116 return _Compare<RgbwColor, int16_t>(*
this, other, epsilon);
129 return _Compare<RgbwColor, int16_t>(left, right, epsilon);
177 return (
R ==
B &&
R ==
G);
186 return (
R == 0 &&
B == 0 &&
G == 0);
216 void Darken(uint8_t delta);
276 const static uint8_t
Max = 255;
280 inline static uint8_t _elementDim(uint8_t value, uint8_t ratio)
282 return (
static_cast<uint16_t
>(value) * (
static_cast<uint16_t
>(ratio) + 1)) >> 8;
285 inline static uint8_t _elementBrighten(uint8_t value, uint8_t ratio)
287 uint16_t element = ((
static_cast<uint16_t
>(value) + 1) << 8) / (
static_cast<uint16_t
>(ratio) + 1);
Definition: NeoSettings.h:65
const uint16_t RedTenthMilliAmpere
Definition: NeoSettings.h:94
const uint16_t GreenTenthMilliAmpere
Definition: NeoSettings.h:95
const uint16_t BlueTenthMilliAmpere
Definition: NeoSettings.h:96
const uint16_t WhiteTenthMilliAmpere
Definition: NeoSettings.h:97
Definition: HsbColor.h:35
Definition: HslColor.h:34
Definition: HtmlColor.h:70
Definition: RgbColorBase.h:34
Definition: RgbColor.h:36
Definition: RgbwColor.h:38
int16_t CompareTo(const RgbwColor &other, uint8_t epsilon=1)
Definition: RgbwColor.h:114
uint8_t R
Definition: RgbwColor.h:271
bool operator==(const RgbwColor &other) const
Definition: RgbwColor.h:96
RgbwColor()
Definition: RgbwColor.h:89
bool operator!=(const RgbwColor &other) const
Definition: RgbwColor.h:101
static RgbwColor LinearBlend(const RgbwColor &left, const RgbwColor &right, float progress)
Definition: RgbwColor.cpp:169
static const size_t Count
Definition: RgbwColor.h:277
RgbwColor(uint8_t r, uint8_t g, uint8_t b, uint8_t w=0)
Definition: RgbwColor.h:44
uint16_t CalcTotalTenthMilliAmpere(const SettingsObject &settings)
Definition: RgbwColor.h:254
RgbwColor(const RgbColor &color)
Definition: RgbwColor.h:62
uint8_t W
Definition: RgbwColor.h:274
void Lighten(uint8_t delta)
Definition: RgbwColor.cpp:125
static int16_t Compare(const RgbwColor &left, const RgbwColor &right, uint8_t epsilon=1)
Definition: RgbwColor.h:127
RgbwColor Brighten(uint8_t ratio) const
Definition: RgbwColor.cpp:80
uint8_t B
Definition: RgbwColor.h:273
uint8_t CalculateBrightness() const
Definition: RgbwColor.cpp:61
NeoRgbwCurrentSettings SettingsObject
Definition: RgbwColor.h:39
uint8_t G
Definition: RgbwColor.h:272
bool IsColorLess() const
Definition: RgbwColor.h:184
static const uint8_t Max
Definition: RgbwColor.h:276
uint8_t operator[](size_t idx) const
Definition: RgbwColor.h:137
bool IsMonotone() const
Definition: RgbwColor.h:175
static RgbwColor BilinearBlend(const RgbwColor &c00, const RgbwColor &c01, const RgbwColor &c10, const RgbwColor &c11, float x, float y)
Definition: RgbwColor.cpp:184
RgbwColor Dim(uint8_t ratio) const
Definition: RgbwColor.cpp:74
RgbwColor(uint8_t brightness)
Definition: RgbwColor.h:54
void Darken(uint8_t delta)
Definition: RgbwColor.cpp:86
uint8_t & operator[](size_t idx)
Definition: RgbwColor.h:157