47 RgbwwColor(uint8_t r, uint8_t g, uint8_t b, uint8_t warmW = 0, uint8_t coolW = 0) :
48 R(r),
G(g),
B(b),
WW(warmW),
CW(coolW)
58 R(0),
G(0),
B(0),
WW(brightness),
CW(brightness)
114 return (
R == other.
R &&
G == other.
G &&
B == other.
B &&
WW == other.
WW &&
CW == other.
CW);
119 return !(*
this == other);
132 return _Compare<RgbwwColor, int16_t>(*
this, other, epsilon);
145 return _Compare<RgbwwColor, int16_t>(left, right, epsilon);
197 return (
R ==
B &&
R ==
G);
206 return (
R == 0 &&
B == 0 &&
G == 0);
236 void Darken(uint8_t delta);
301 const static uint8_t
Max = 255;
305 inline static uint8_t _elementDim(uint8_t value, uint8_t ratio)
307 return (
static_cast<uint16_t
>(value) * (
static_cast<uint16_t
>(ratio) + 1)) >> 8;
310 inline static uint8_t _elementBrighten(uint8_t value, uint8_t ratio)
312 uint16_t element = ((
static_cast<uint16_t
>(value) + 1) << 8) / (
static_cast<uint16_t
>(ratio) + 1);
Definition: NeoSettings.h:101
const uint16_t GreenTenthMilliAmpere
Definition: NeoSettings.h:134
const uint16_t BlueTenthMilliAmpere
Definition: NeoSettings.h:135
const uint16_t RedTenthMilliAmpere
Definition: NeoSettings.h:133
const uint16_t WarmWhiteTenthMilliAmpere
Definition: NeoSettings.h:136
const uint16_t CoolWhiteTenthMilliAmpere
Definition: NeoSettings.h:137
Definition: HsbColor.h:35
Definition: HslColor.h:34
Definition: HtmlColor.h:70
Definition: RgbColorBase.h:34
Definition: RgbColor.h:36
Definition: RgbwColor.h:38
Definition: RgbwwColor.h:41
bool IsColorLess() const
Definition: RgbwwColor.h:204
static int16_t Compare(const RgbwwColor &left, const RgbwwColor &right, uint8_t epsilon=1)
Definition: RgbwwColor.h:143
RgbwwColor Brighten(uint8_t ratio) const
Definition: RgbwwColor.cpp:82
uint8_t CW
Definition: RgbwwColor.h:299
RgbwwColor(uint8_t brightness)
Definition: RgbwwColor.h:57
uint8_t operator[](size_t idx) const
Definition: RgbwwColor.h:153
RgbwwColor()
Definition: RgbwwColor.h:105
static const uint8_t Max
Definition: RgbwwColor.h:301
uint8_t G
Definition: RgbwwColor.h:296
bool operator==(const RgbwwColor &other) const
Definition: RgbwwColor.h:112
bool operator!=(const RgbwwColor &other) const
Definition: RgbwwColor.h:117
RgbwwColor(uint8_t r, uint8_t g, uint8_t b, uint8_t warmW=0, uint8_t coolW=0)
Definition: RgbwwColor.h:47
static const size_t Count
Definition: RgbwwColor.h:302
static RgbwwColor LinearBlend(const RgbwwColor &left, const RgbwwColor &right, float progress)
Definition: RgbwwColor.cpp:193
void Lighten(uint8_t delta)
Definition: RgbwwColor.cpp:140
uint8_t & operator[](size_t idx)
Definition: RgbwwColor.h:175
NeoRgbwwCurrentSettings SettingsObject
Definition: RgbwwColor.h:42
RgbwwColor Dim(uint8_t ratio) const
Definition: RgbwwColor.cpp:72
uint8_t CalculateBrightness() const
Definition: RgbwwColor.cpp:64
RgbwwColor(const RgbColor &color)
Definition: RgbwwColor.h:65
uint8_t WW
Definition: RgbwwColor.h:298
int16_t CompareTo(const RgbwwColor &other, uint8_t epsilon=1)
Definition: RgbwwColor.h:130
uint16_t CalcTotalTenthMilliAmpere(const SettingsObject &settings)
Definition: RgbwwColor.h:274
RgbwwColor(const RgbwColor &color)
Definition: RgbwwColor.h:77
bool IsMonotone() const
Definition: RgbwwColor.h:195
uint8_t R
Definition: RgbwwColor.h:295
static RgbwwColor BilinearBlend(const RgbwwColor &c00, const RgbwwColor &c01, const RgbwwColor &c10, const RgbwwColor &c11, float x, float y)
Definition: RgbwwColor.cpp:211
void Darken(uint8_t delta)
Definition: RgbwwColor.cpp:92
uint8_t B
Definition: RgbwwColor.h:297