Lumitronix_Iflex_Pro_Workshop
Library to interact with the iFlexPro
Rgbw64Color Struct Reference

#include <Rgbw64Color.h>

Inheritance diagram for Rgbw64Color:
RgbColorBase

Public Types

typedef NeoRgbwCurrentSettings SettingsObject
 

Public Member Functions

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

Static Public Member Functions

static int32_t Compare (const Rgbw64Color &left, const Rgbw64Color &right, uint16_t epsilon=256)
 
static Rgbw64Color LinearBlend (const Rgbw64Color &left, const Rgbw64Color &right, float progress)
 
static Rgbw64Color LinearBlend (const Rgbw64Color &left, const Rgbw64Color &right, uint8_t progress)
 
static Rgbw64Color BilinearBlend (const Rgbw64Color &c00, const Rgbw64Color &c01, const Rgbw64Color &c10, const Rgbw64Color &c11, float x, float y)
 

Public Attributes

uint16_t R
 
uint16_t G
 
uint16_t B
 
uint16_t W
 

Static Public Attributes

static const uint16_t Max = 65535
 
static const size_t Count = 4
 

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

◆ Rgbw64Color() [1/9]

Rgbw64Color::Rgbw64Color ( uint16_t  r,
uint16_t  g,
uint16_t  b,
uint16_t  w = 0 
)
inline

◆ Rgbw64Color() [2/9]

Rgbw64Color::Rgbw64Color ( uint16_t  brightness)
inline

◆ Rgbw64Color() [3/9]

Rgbw64Color::Rgbw64Color ( const RgbColor color)
inline

◆ Rgbw64Color() [4/9]

Rgbw64Color::Rgbw64Color ( const Rgb48Color color)
inline

◆ Rgbw64Color() [5/9]

Rgbw64Color::Rgbw64Color ( const RgbwColor color)
inline

◆ Rgbw64Color() [6/9]

Rgbw64Color::Rgbw64Color ( const HtmlColor color)
inline

◆ Rgbw64Color() [7/9]

Rgbw64Color::Rgbw64Color ( const HslColor color)

◆ Rgbw64Color() [8/9]

Rgbw64Color::Rgbw64Color ( const HsbColor color)

◆ Rgbw64Color() [9/9]

Rgbw64Color::Rgbw64Color ( )
inline

Member Function Documentation

◆ BilinearBlend()

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

◆ Brighten() [1/2]

Rgbw64Color Rgbw64Color::Brighten ( uint16_t  ratio) const

◆ Brighten() [2/2]

Rgbw64Color Rgbw64Color::Brighten ( uint8_t  ratio) const
inline

◆ CalcTotalTenthMilliAmpere()

uint16_t Rgbw64Color::CalcTotalTenthMilliAmpere ( const SettingsObject settings)
inline

◆ CalculateBrightness()

uint16_t Rgbw64Color::CalculateBrightness ( ) const

◆ Compare()

static int32_t Rgbw64Color::Compare ( const Rgbw64Color left,
const Rgbw64Color right,
uint16_t  epsilon = 256 
)
inlinestatic

◆ CompareTo()

int32_t Rgbw64Color::CompareTo ( const Rgbw64Color other,
uint16_t  epsilon = 256 
)
inline

◆ Darken()

void Rgbw64Color::Darken ( uint16_t  delta)

◆ Dim() [1/2]

Rgbw64Color Rgbw64Color::Dim ( uint16_t  ratio) const

◆ Dim() [2/2]

Rgbw64Color Rgbw64Color::Dim ( uint8_t  ratio) const
inline

◆ IsColorLess()

bool Rgbw64Color::IsColorLess ( ) const
inline

◆ IsMonotone()

bool Rgbw64Color::IsMonotone ( ) const
inline

◆ Lighten()

void Rgbw64Color::Lighten ( uint16_t  delta)

◆ LinearBlend() [1/2]

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

◆ LinearBlend() [2/2]

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

◆ operator!=()

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

◆ operator==()

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

◆ operator[]() [1/2]

uint16_t& Rgbw64Color::operator[] ( size_t  idx)
inline

◆ operator[]() [2/2]

uint16_t Rgbw64Color::operator[] ( size_t  idx) const
inline

Member Data Documentation

◆ B

uint16_t Rgbw64Color::B

◆ Count

const size_t Rgbw64Color::Count = 4
static

◆ G

uint16_t Rgbw64Color::G

◆ Max

const uint16_t Rgbw64Color::Max = 65535
static

◆ R

uint16_t Rgbw64Color::R

◆ W

uint16_t Rgbw64Color::W