FastLED 3.9.7
Loading...
Searching...
No Matches
Pixel Data Types (CRGB/CHSV)

Detailed Description

Structs that hold pixel color data

Classes

struct  CHSV
 Representation of an HSV pixel (hue, saturation, value (aka brightness)). More...
 
struct  CRGB
 Representation of an RGB pixel (Red, Green, Blue) More...
 

Enumerations

enum  HSVHue {
  HUE_RED = 0 , HUE_ORANGE = 32 , HUE_YELLOW = 64 , HUE_GREEN = 96 ,
  HUE_AQUA = 128 , HUE_BLUE = 160 , HUE_PURPLE = 192 , HUE_PINK = 224
}
 Pre-defined hue values for CHSV objects. More...
 

Functions

void hsv2rgb_rainbow (const struct CHSV &hsv, struct CRGB &rgb)
 Forward declaration of hsv2rgb_rainbow here, to avoid circular dependencies.
 
FASTLED_FORCE_INLINE bool operator== (const CRGB &lhs, const CRGB &rhs)
 Check if two CRGB objects have the same color data.
 
FASTLED_FORCE_INLINE bool operator!= (const CRGB &lhs, const CRGB &rhs)
 Check if two CRGB objects do not have the same color data.
 
FASTLED_FORCE_INLINE bool operator== (const CHSV &lhs, const CHSV &rhs)
 Check if two CHSV objects have the same color data.
 
FASTLED_FORCE_INLINE bool operator!= (const CHSV &lhs, const CHSV &rhs)
 Check if two CHSV objects do not have the same color data.
 
FASTLED_FORCE_INLINE bool operator< (const CRGB &lhs, const CRGB &rhs)
 Check if the sum of the color channels in one CRGB object is less than another.
 
FASTLED_FORCE_INLINE bool operator> (const CRGB &lhs, const CRGB &rhs)
 Check if the sum of the color channels in one CRGB object is greater than another.
 
FASTLED_FORCE_INLINE bool operator>= (const CRGB &lhs, const CRGB &rhs)
 Check if the sum of the color channels in one CRGB object is greater than or equal to another.
 
FASTLED_FORCE_INLINE bool operator<= (const CRGB &lhs, const CRGB &rhs)
 Check if the sum of the color channels in one CRGB object is less than or equal to another.
 
FASTLED_FORCE_INLINE CRGB operator/ (const CRGB &p1, uint8_t d)
 Divide each of the channels by a constant.
 
FASTLED_FORCE_INLINE CRGB operator& (const CRGB &p1, const CRGB &p2)
 Combine two CRGB objects, taking the smallest value of each channel.
 
FASTLED_FORCE_INLINE CRGB operator| (const CRGB &p1, const CRGB &p2)
 Combine two CRGB objects, taking the largest value of each channel.
 
FASTLED_FORCE_INLINE CRGB operator+ (const CRGB &p1, const CRGB &p2)
 Add one CRGB to another, saturating at 0xFF for each channel.
 
FASTLED_FORCE_INLINE CRGB operator- (const CRGB &p1, const CRGB &p2)
 Subtract one CRGB from another, saturating at 0x00 for each channel.
 
FASTLED_FORCE_INLINE CRGB operator* (const CRGB &p1, uint8_t d)
 Multiply each of the channels by a constant, saturating each channel at 0xFF.
 
FASTLED_FORCE_INLINE CRGB operator% (const CRGB &p1, uint8_t d)
 Scale using CRGB::nscale8_video()
 

Enumeration Type Documentation

◆ HSVHue

enum HSVHue

Pre-defined hue values for CHSV objects.

Enumerator
HUE_RED 

Red (0°)

HUE_ORANGE 

Orange (45°)

HUE_YELLOW 

Yellow (90°)

HUE_GREEN 

Green (135°)

HUE_AQUA 

Aqua (180°)

HUE_BLUE 

Blue (225°)

HUE_PURPLE 

Purple (270°)

HUE_PINK 

Pink (315°)

Definition at line 97 of file chsv.h.

Function Documentation

◆ hsv2rgb_rainbow()

void hsv2rgb_rainbow ( const struct CHSV & hsv,
struct CRGB & rgb )

Forward declaration of hsv2rgb_rainbow here, to avoid circular dependencies.

Convert an HSV value to RGB using a visually balanced rainbow. This "rainbow" yields better yellow and orange than a straight mathematical "spectrum".

FastLED 'Rainbow' Hue Chart

Parameters
hsvCHSV struct to convert to RGB. Max hue supported is HUE_MAX_RAINBOW
rgbCRGB struct to store the result of the conversion (will be modified)

◆ operator!=() [1/2]

FASTLED_FORCE_INLINE bool operator!= ( const CHSV & lhs,
const CHSV & rhs )

Check if two CHSV objects do not have the same color data.

Definition at line 669 of file crgb.h.

◆ operator!=() [2/2]

FASTLED_FORCE_INLINE bool operator!= ( const CRGB & lhs,
const CRGB & rhs )

Check if two CRGB objects do not have the same color data.

Definition at line 657 of file crgb.h.

◆ operator%()

FASTLED_FORCE_INLINE CRGB operator% ( const CRGB & p1,
uint8_t d )

Scale using CRGB::nscale8_video()

Definition at line 229 of file crgb.hpp.

◆ operator&()

FASTLED_FORCE_INLINE CRGB operator& ( const CRGB & p1,
const CRGB & p2 )

Combine two CRGB objects, taking the smallest value of each channel.

Definition at line 720 of file crgb.h.

◆ operator*()

FASTLED_FORCE_INLINE CRGB operator* ( const CRGB & p1,
uint8_t d )

Multiply each of the channels by a constant, saturating each channel at 0xFF.

Definition at line 221 of file crgb.hpp.

◆ operator+()

FASTLED_FORCE_INLINE CRGB operator+ ( const CRGB & p1,
const CRGB & p2 )

Add one CRGB to another, saturating at 0xFF for each channel.

Definition at line 205 of file crgb.hpp.

◆ operator-()

FASTLED_FORCE_INLINE CRGB operator- ( const CRGB & p1,
const CRGB & p2 )

Subtract one CRGB from another, saturating at 0x00 for each channel.

Definition at line 213 of file crgb.hpp.

◆ operator/()

FASTLED_FORCE_INLINE CRGB operator/ ( const CRGB & p1,
uint8_t d )

Divide each of the channels by a constant.

Definition at line 713 of file crgb.h.

◆ operator<()

FASTLED_FORCE_INLINE bool operator< ( const CRGB & lhs,
const CRGB & rhs )

Check if the sum of the color channels in one CRGB object is less than another.

Definition at line 675 of file crgb.h.

◆ operator<=()

FASTLED_FORCE_INLINE bool operator<= ( const CRGB & lhs,
const CRGB & rhs )

Check if the sum of the color channels in one CRGB object is less than or equal to another.

Definition at line 702 of file crgb.h.

◆ operator==() [1/2]

FASTLED_FORCE_INLINE bool operator== ( const CHSV & lhs,
const CHSV & rhs )

Check if two CHSV objects have the same color data.

Definition at line 663 of file crgb.h.

◆ operator==() [2/2]

FASTLED_FORCE_INLINE bool operator== ( const CRGB & lhs,
const CRGB & rhs )

Check if two CRGB objects have the same color data.

Definition at line 651 of file crgb.h.

◆ operator>()

FASTLED_FORCE_INLINE bool operator> ( const CRGB & lhs,
const CRGB & rhs )

Check if the sum of the color channels in one CRGB object is greater than another.

Definition at line 684 of file crgb.h.

◆ operator>=()

FASTLED_FORCE_INLINE bool operator>= ( const CRGB & lhs,
const CRGB & rhs )

Check if the sum of the color channels in one CRGB object is greater than or equal to another.

Definition at line 693 of file crgb.h.

◆ operator|()

FASTLED_FORCE_INLINE CRGB operator| ( const CRGB & p1,
const CRGB & p2 )

Combine two CRGB objects, taking the largest value of each channel.

Definition at line 728 of file crgb.h.