Lumitronix_Iflex_Pro_Workshop
Library to interact with the iFlexPro
RgbwwColor Struct Reference

#include <RgbwwColor.h>

Inheritance diagram for RgbwwColor:
RgbColorBase

Public Types

typedef NeoRgbwwCurrentSettings SettingsObject
 

Public Member Functions

 RgbwwColor (uint8_t r, uint8_t g, uint8_t b, uint8_t warmW=0, uint8_t coolW=0)
 
 RgbwwColor (uint8_t brightness)
 
 RgbwwColor (const RgbColor &color)
 
 RgbwwColor (const RgbwColor &color)
 
 RgbwwColor (const HtmlColor &color)
 
 RgbwwColor (const HslColor &color)
 
 RgbwwColor (const HsbColor &color)
 
 RgbwwColor ()
 
bool operator== (const RgbwwColor &other) const
 
bool operator!= (const RgbwwColor &other) const
 
int16_t CompareTo (const RgbwwColor &other, uint8_t epsilon=1)
 
uint8_t operator[] (size_t idx) const
 
uint8_t & operator[] (size_t idx)
 
bool IsMonotone () const
 
bool IsColorLess () const
 
uint8_t CalculateBrightness () const
 
RgbwwColor Dim (uint8_t ratio) const
 
RgbwwColor Brighten (uint8_t ratio) const
 
void Darken (uint8_t delta)
 
void Lighten (uint8_t delta)
 
uint16_t CalcTotalTenthMilliAmpere (const SettingsObject &settings)
 

Static Public Member Functions

static int16_t Compare (const RgbwwColor &left, const RgbwwColor &right, uint8_t epsilon=1)
 
static RgbwwColor LinearBlend (const RgbwwColor &left, const RgbwwColor &right, float progress)
 
static RgbwwColor LinearBlend (const RgbwwColor &left, const RgbwwColor &right, uint8_t progress)
 
static RgbwwColor BilinearBlend (const RgbwwColor &c00, const RgbwwColor &c01, const RgbwwColor &c10, const RgbwwColor &c11, float x, float y)
 

Public Attributes

uint8_t R
 
uint8_t G
 
uint8_t B
 
uint8_t WW
 
uint8_t CW
 

Static Public Attributes

static const uint8_t Max = 255
 
static const size_t Count = 5
 

Additional Inherited Members

- Static Protected Member Functions inherited from RgbColorBase
static float _CalcColor (float p, float q, float t)
 
static void _HslToRgb (const HslColor &color, float *r, float *g, float *b)
 
static void _HsbToRgb (const HsbColor &color, float *r, float *g, float *b)
 
template<typename T_COLOR , typename T_RESULT >
static T_RESULT _Compare (const T_COLOR &left, const T_COLOR &right, T_RESULT epsilon)
 

Member Typedef Documentation

◆ SettingsObject

Constructor & Destructor Documentation

◆ RgbwwColor() [1/8]

RgbwwColor::RgbwwColor ( uint8_t  r,
uint8_t  g,
uint8_t  b,
uint8_t  warmW = 0,
uint8_t  coolW = 0 
)
inline

◆ RgbwwColor() [2/8]

RgbwwColor::RgbwwColor ( uint8_t  brightness)
inline

◆ RgbwwColor() [3/8]

RgbwwColor::RgbwwColor ( const RgbColor color)
inline

◆ RgbwwColor() [4/8]

RgbwwColor::RgbwwColor ( const RgbwColor color)
inline

◆ RgbwwColor() [5/8]

RgbwwColor::RgbwwColor ( const HtmlColor color)

◆ RgbwwColor() [6/8]

RgbwwColor::RgbwwColor ( const HslColor color)

◆ RgbwwColor() [7/8]

RgbwwColor::RgbwwColor ( const HsbColor color)

◆ RgbwwColor() [8/8]

RgbwwColor::RgbwwColor ( )
inline

Member Function Documentation

◆ BilinearBlend()

RgbwwColor RgbwwColor::BilinearBlend ( const RgbwwColor c00,
const RgbwwColor c01,
const RgbwwColor c10,
const RgbwwColor c11,
float  x,
float  y 
)
static

◆ Brighten()

RgbwwColor RgbwwColor::Brighten ( uint8_t  ratio) const

◆ CalcTotalTenthMilliAmpere()

uint16_t RgbwwColor::CalcTotalTenthMilliAmpere ( const SettingsObject settings)
inline

◆ CalculateBrightness()

uint8_t RgbwwColor::CalculateBrightness ( ) const

◆ Compare()

static int16_t RgbwwColor::Compare ( const RgbwwColor left,
const RgbwwColor right,
uint8_t  epsilon = 1 
)
inlinestatic

◆ CompareTo()

int16_t RgbwwColor::CompareTo ( const RgbwwColor other,
uint8_t  epsilon = 1 
)
inline

◆ Darken()

void RgbwwColor::Darken ( uint8_t  delta)

◆ Dim()

RgbwwColor RgbwwColor::Dim ( uint8_t  ratio) const

◆ IsColorLess()

bool RgbwwColor::IsColorLess ( ) const
inline

◆ IsMonotone()

bool RgbwwColor::IsMonotone ( ) const
inline

◆ Lighten()

void RgbwwColor::Lighten ( uint8_t  delta)

◆ LinearBlend() [1/2]

RgbwwColor RgbwwColor::LinearBlend ( const RgbwwColor left,
const RgbwwColor right,
float  progress 
)
static

◆ LinearBlend() [2/2]

RgbwwColor RgbwwColor::LinearBlend ( const RgbwwColor left,
const RgbwwColor right,
uint8_t  progress 
)
static

◆ operator!=()

bool RgbwwColor::operator!= ( const RgbwwColor other) const
inline

◆ operator==()

bool RgbwwColor::operator== ( const RgbwwColor other) const
inline

◆ operator[]() [1/2]

uint8_t& RgbwwColor::operator[] ( size_t  idx)
inline

◆ operator[]() [2/2]

uint8_t RgbwwColor::operator[] ( size_t  idx) const
inline

Member Data Documentation

◆ B

uint8_t RgbwwColor::B

◆ Count

const size_t RgbwwColor::Count = 5
static

◆ CW

uint8_t RgbwwColor::CW

◆ G

uint8_t RgbwwColor::G

◆ Max

const uint8_t RgbwwColor::Max = 255
static

◆ R

uint8_t RgbwwColor::R

◆ WW

uint8_t RgbwwColor::WW