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

Detailed Description

Structs that hold pixel color data

Classes

struct  CRGB
 Representation of an RGB pixel (Red, Green, Blue) More...
 

Enumerations

enum  CRGB::HTMLColorCode {
  CRGB::AliceBlue =0xF0F8FF , CRGB::Amethyst =0x9966CC , CRGB::AntiqueWhite =0xFAEBD7 , CRGB::Aqua =0x00FFFF ,
  CRGB::Aquamarine =0x7FFFD4 , CRGB::Azure =0xF0FFFF , CRGB::Beige =0xF5F5DC , CRGB::Bisque =0xFFE4C4 ,
  CRGB::Black =0x000000 , CRGB::BlanchedAlmond =0xFFEBCD , CRGB::Blue =0x0000FF , CRGB::BlueViolet =0x8A2BE2 ,
  CRGB::Brown =0xA52A2A , CRGB::BurlyWood =0xDEB887 , CRGB::CadetBlue =0x5F9EA0 , CRGB::Chartreuse =0x7FFF00 ,
  CRGB::Chocolate =0xD2691E , CRGB::Coral =0xFF7F50 , CRGB::CornflowerBlue =0x6495ED , CRGB::Cornsilk =0xFFF8DC ,
  CRGB::Crimson =0xDC143C , CRGB::Cyan =0x00FFFF , CRGB::DarkBlue =0x00008B , CRGB::DarkCyan =0x008B8B ,
  CRGB::DarkGoldenrod =0xB8860B , CRGB::DarkGray =0xA9A9A9 , CRGB::DarkGrey =0xA9A9A9 , CRGB::DarkGreen =0x006400 ,
  CRGB::DarkKhaki =0xBDB76B , CRGB::DarkMagenta =0x8B008B , CRGB::DarkOliveGreen =0x556B2F , CRGB::DarkOrange =0xFF8C00 ,
  CRGB::DarkOrchid =0x9932CC , CRGB::DarkRed =0x8B0000 , CRGB::DarkSalmon =0xE9967A , CRGB::DarkSeaGreen =0x8FBC8F ,
  CRGB::DarkSlateBlue =0x483D8B , CRGB::DarkSlateGray =0x2F4F4F , CRGB::DarkSlateGrey =0x2F4F4F , CRGB::DarkTurquoise =0x00CED1 ,
  CRGB::DarkViolet =0x9400D3 , CRGB::DeepPink =0xFF1493 , CRGB::DeepSkyBlue =0x00BFFF , CRGB::DimGray =0x696969 ,
  CRGB::DimGrey =0x696969 , CRGB::DodgerBlue =0x1E90FF , CRGB::FireBrick =0xB22222 , CRGB::FloralWhite =0xFFFAF0 ,
  CRGB::ForestGreen =0x228B22 , CRGB::Fuchsia =0xFF00FF , CRGB::Gainsboro =0xDCDCDC , CRGB::GhostWhite =0xF8F8FF ,
  CRGB::Gold =0xFFD700 , CRGB::Goldenrod =0xDAA520 , CRGB::Gray =0x808080 , CRGB::Grey =0x808080 ,
  CRGB::Green =0x008000 , CRGB::GreenYellow =0xADFF2F , CRGB::Honeydew =0xF0FFF0 , CRGB::HotPink =0xFF69B4 ,
  CRGB::IndianRed =0xCD5C5C , CRGB::Indigo =0x4B0082 , CRGB::Ivory =0xFFFFF0 , CRGB::Khaki =0xF0E68C ,
  CRGB::Lavender =0xE6E6FA , CRGB::LavenderBlush =0xFFF0F5 , CRGB::LawnGreen =0x7CFC00 , CRGB::LemonChiffon =0xFFFACD ,
  CRGB::LightBlue =0xADD8E6 , CRGB::LightCoral =0xF08080 , CRGB::LightCyan =0xE0FFFF , CRGB::LightGoldenrodYellow =0xFAFAD2 ,
  CRGB::LightGreen =0x90EE90 , CRGB::LightGrey =0xD3D3D3 , CRGB::LightPink =0xFFB6C1 , CRGB::LightSalmon =0xFFA07A ,
  CRGB::LightSeaGreen =0x20B2AA , CRGB::LightSkyBlue =0x87CEFA , CRGB::LightSlateGray =0x778899 , CRGB::LightSlateGrey =0x778899 ,
  CRGB::LightSteelBlue =0xB0C4DE , CRGB::LightYellow =0xFFFFE0 , CRGB::Lime =0x00FF00 , CRGB::LimeGreen =0x32CD32 ,
  CRGB::Linen =0xFAF0E6 , CRGB::Magenta =0xFF00FF , CRGB::Maroon =0x800000 , CRGB::MediumAquamarine =0x66CDAA ,
  CRGB::MediumBlue =0x0000CD , CRGB::MediumOrchid =0xBA55D3 , CRGB::MediumPurple =0x9370DB , CRGB::MediumSeaGreen =0x3CB371 ,
  CRGB::MediumSlateBlue =0x7B68EE , CRGB::MediumSpringGreen =0x00FA9A , CRGB::MediumTurquoise =0x48D1CC , CRGB::MediumVioletRed =0xC71585 ,
  CRGB::MidnightBlue =0x191970 , CRGB::MintCream =0xF5FFFA , CRGB::MistyRose =0xFFE4E1 , CRGB::Moccasin =0xFFE4B5 ,
  CRGB::NavajoWhite =0xFFDEAD , CRGB::Navy =0x000080 , CRGB::OldLace =0xFDF5E6 , CRGB::Olive =0x808000 ,
  CRGB::OliveDrab =0x6B8E23 , CRGB::Orange =0xFFA500 , CRGB::OrangeRed =0xFF4500 , CRGB::Orchid =0xDA70D6 ,
  CRGB::PaleGoldenrod =0xEEE8AA , CRGB::PaleGreen =0x98FB98 , CRGB::PaleTurquoise =0xAFEEEE , CRGB::PaleVioletRed =0xDB7093 ,
  CRGB::PapayaWhip =0xFFEFD5 , CRGB::PeachPuff =0xFFDAB9 , CRGB::Peru =0xCD853F , CRGB::Pink =0xFFC0CB ,
  CRGB::Plaid =0xCC5533 , CRGB::Plum =0xDDA0DD , CRGB::PowderBlue =0xB0E0E6 , CRGB::Purple =0x800080 ,
  CRGB::Red =0xFF0000 , CRGB::RosyBrown =0xBC8F8F , CRGB::RoyalBlue =0x4169E1 , CRGB::SaddleBrown =0x8B4513 ,
  CRGB::Salmon =0xFA8072 , CRGB::SandyBrown =0xF4A460 , CRGB::SeaGreen =0x2E8B57 , CRGB::Seashell =0xFFF5EE ,
  CRGB::Sienna =0xA0522D , CRGB::Silver =0xC0C0C0 , CRGB::SkyBlue =0x87CEEB , CRGB::SlateBlue =0x6A5ACD ,
  CRGB::SlateGray =0x708090 , CRGB::SlateGrey =0x708090 , CRGB::Snow =0xFFFAFA , CRGB::SpringGreen =0x00FF7F ,
  CRGB::SteelBlue =0x4682B4 , CRGB::Tan =0xD2B48C , CRGB::Teal =0x008080 , CRGB::Thistle =0xD8BFD8 ,
  CRGB::Tomato =0xFF6347 , CRGB::Turquoise =0x40E0D0 , CRGB::Violet =0xEE82EE , CRGB::Wheat =0xF5DEB3 ,
  CRGB::White =0xFFFFFF , CRGB::WhiteSmoke =0xF5F5F5 , CRGB::Yellow =0xFFFF00 , CRGB::YellowGreen =0x9ACD32 ,
  CRGB::FairyLight =0xFFE42D , CRGB::FairyLightNCC =0xFF9D2A
}
 Predefined RGB colors. More...
 

Functions

void hsv2rgb_rainbow (const CHSV &hsv, CRGB &rgb)
 Forward declaration of hsv2rgb_rainbow here, to avoid circular dependencies.
 
FASTLED_FORCE_INLINE uint8_t & CRGB::operator[] (uint8_t x)
 Array access operator to index into the CRGB object.
 
FASTLED_FORCE_INLINE const uint8_t & CRGB::operator[] (uint8_t x) const
 Array access operator to index into the CRGB object.
 
FASTLED_FORCE_INLINE CRGB::CRGB ()=default
 Default constructor.
 
constexpr CRGB::CRGB (uint8_t ir, uint8_t ig, uint8_t ib)
 Allow construction from red, green, and blue.
 
constexpr CRGB::CRGB (uint32_t colorcode)
 Allow construction from 32-bit (really 24-bit) bit 0xRRGGBB color code.
 
constexpr CRGB::CRGB (LEDColorCorrection colorcode)
 Allow construction from a LEDColorCorrection enum.
 
constexpr CRGB::CRGB (ColorTemperature colorcode)
 Allow construction from a ColorTemperature enum.
 
FASTLED_FORCE_INLINE CRGB::CRGB (const CRGB &rhs)=default
 Allow copy construction.
 
FASTLED_FORCE_INLINE CRGB::CRGB (const CHSV &rhs)
 Allow construction from a CHSV color.
 
FASTLED_FORCE_INLINE CRGBCRGB::operator= (const CRGB &rhs)=default
 Allow assignment from one RGB struct to another.
 
FASTLED_FORCE_INLINE CRGBCRGB::operator= (const uint32_t colorcode)
 Allow assignment from 32-bit (really 24-bit) 0xRRGGBB color code.
 
FASTLED_FORCE_INLINE CRGBCRGB::setRGB (uint8_t nr, uint8_t ng, uint8_t nb)
 Allow assignment from red, green, and blue.
 
FASTLED_FORCE_INLINE CRGBCRGB::setHSV (uint8_t hue, uint8_t sat, uint8_t val)
 Allow assignment from hue, saturation, and value.
 
FASTLED_FORCE_INLINE CRGBCRGB::setHue (uint8_t hue)
 Allow assignment from just a hue.
 
FASTLED_FORCE_INLINE CRGBCRGB::operator= (const CHSV &rhs)
 Allow assignment from HSV color.
 
FASTLED_FORCE_INLINE CRGBCRGB::setColorCode (uint32_t colorcode)
 Allow assignment from 32-bit (really 24-bit) 0xRRGGBB color code.
 
FASTLED_FORCE_INLINE CRGBCRGB::operator+= (const CRGB &rhs)
 Add one CRGB to another, saturating at 0xFF for each channel.
 
FASTLED_FORCE_INLINE CRGBCRGB::addToRGB (uint8_t d)
 Add a constant to each channel, saturating at 0xFF.
 
FASTLED_FORCE_INLINE CRGBCRGB::operator-= (const CRGB &rhs)
 Subtract one CRGB from another, saturating at 0x00 for each channel.
 
FASTLED_FORCE_INLINE CRGBCRGB::subtractFromRGB (uint8_t d)
 Subtract a constant from each channel, saturating at 0x00.
 
FASTLED_FORCE_INLINE CRGBCRGB::operator-- ()
 Subtract a constant of '1' from each channel, saturating at 0x00.
 
FASTLED_FORCE_INLINE CRGB CRGB::operator-- (int)
 Subtract a constant of '1' from each channel, saturating at 0x00.
 
FASTLED_FORCE_INLINE CRGBCRGB::operator++ ()
 Add a constant of '1' from each channel, saturating at 0xFF.
 
FASTLED_FORCE_INLINE CRGB CRGB::operator++ (int)
 Add a constant of '1' from each channel, saturating at 0xFF.
 
FASTLED_FORCE_INLINE CRGBCRGB::operator/= (uint8_t d)
 Divide each of the channels by a constant.
 
FASTLED_FORCE_INLINE CRGBCRGB::operator>>= (uint8_t d)
 Right shift each of the channels by a constant.
 
FASTLED_FORCE_INLINE CRGBCRGB::operator*= (uint8_t d)
 Multiply each of the channels by a constant, saturating each channel at 0xFF.
 
FASTLED_FORCE_INLINE CRGBCRGB::nscale8_video (uint8_t scaledown)
 Scale down a RGB to N/256ths of it's current brightness using "video" dimming rules.
 
FASTLED_FORCE_INLINE CRGBCRGB::operator%= (uint8_t scaledown)
 %= is a synonym for nscale8_video().
 
FASTLED_FORCE_INLINE CRGBCRGB::fadeLightBy (uint8_t fadefactor)
 fadeLightBy is a synonym for nscale8_video(), as a fade instead of a scale
 
FASTLED_FORCE_INLINE CRGBCRGB::nscale8 (uint8_t scaledown)
 Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.
 
FASTLED_FORCE_INLINE CRGBCRGB::nscale8 (const CRGB &scaledown)
 Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.
 
FASTLED_FORCE_INLINE CRGB CRGB::scale8 (uint8_t scaledown) const
 Return a CRGB object that is a scaled down version of this object.
 
FASTLED_FORCE_INLINE CRGB CRGB::scale8 (const CRGB &scaledown) const
 Return a CRGB object that is a scaled down version of this object.
 
FASTLED_FORCE_INLINE CRGBCRGB::fadeToBlackBy (uint8_t fadefactor)
 fadeToBlackBy is a synonym for nscale8(), as a fade instead of a scale
 
FASTLED_FORCE_INLINE CRGBCRGB::operator|= (const CRGB &rhs)
 "or" operator brings each channel up to the higher of the two values
 
FASTLED_FORCE_INLINE CRGBCRGB::operator|= (uint8_t d)
 "or" operator brings each channel up to the higher of the two values
 
FASTLED_FORCE_INLINE CRGBCRGB::operator&= (const CRGB &rhs)
 "and" operator brings each channel down to the lower of the two values
 
FASTLED_FORCE_INLINE CRGBCRGB::operator&= (uint8_t d)
 "and" operator brings each channel down to the lower of the two values
 
FASTLED_FORCE_INLINE CRGB::operator bool () const
 This allows testing a CRGB for zero-ness.
 
FASTLED_FORCE_INLINE CRGB::operator uint32_t () const
 Converts a CRGB to a 32-bit color having an alpha of 255.
 
FASTLED_FORCE_INLINE CRGB CRGB::operator- () const
 Invert each channel.
 
 CRGB::operator rgb24 () const
 Convert to an rgb24 object, used with the SmartMatrix library.
 
FASTLED_FORCE_INLINE uint8_t CRGB::getLuma () const
 Get the "luma" of a CRGB object.
 
FASTLED_FORCE_INLINE uint8_t CRGB::getAverageLight () const
 Get the average of the R, G, and B values.
 
FASTLED_FORCE_INLINE void CRGB::maximizeBrightness (uint8_t limit=255)
 Maximize the brightness of this CRGB object.
 
FASTLED_FORCE_INLINE CRGB CRGB::lerp8 (const CRGB &other, fract8 frac) const
 Return a new CRGB object after performing a linear interpolation between this object and the passed in object.
 
FASTLED_FORCE_INLINE CRGB CRGB::lerp16 (const CRGB &other, fract16 frac) const
 Return a new CRGB object after performing a linear interpolation between this object and the passed in object.
 
FASTLED_FORCE_INLINE uint8_t CRGB::getParity ()
 Returns 0 or 1, depending on the lowest bit of the sum of the color components.
 
FASTLED_FORCE_INLINE void CRGB::setParity (uint8_t parity)
 Adjusts the color in the smallest way possible so that the parity of the coloris now the desired value.
 
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()
 

Variables

uint8_t   CRGB::r 
 Red channel value. More...
 
uint8_t   CRGB::red 
 Red channel value. More...
 
union { 
 
   uint8_t   CRGB::r 
 Red channel value. More...
 
   uint8_t   CRGB::red 
 Red channel value. More...
 
 
 
uint8_t   CRGB::g 
 Green channel value. More...
 
uint8_t   CRGB::green 
 Green channel value. More...
 
union { 
 
   uint8_t   CRGB::g 
 Green channel value. More...
 
   uint8_t   CRGB::green 
 Green channel value. More...
 
 
 
uint8_t   CRGB::b 
 Blue channel value. More...
 
uint8_t   CRGB::blue 
 Blue channel value. More...
 
union { 
 
   uint8_t   CRGB::b 
 Blue channel value. More...
 
   uint8_t   CRGB::blue 
 Blue channel value. More...
 
 
 
struct { 
 
   union { 
 
      uint8_t   CRGB::r 
 Red channel value. More...
 
      uint8_t   CRGB::red 
 Red channel value. More...
 
   }  
 
   union { 
 
      uint8_t   CRGB::g 
 Green channel value. More...
 
      uint8_t   CRGB::green 
 Green channel value. More...
 
   }  
 
   union { 
 
      uint8_t   CRGB::b 
 Blue channel value. More...
 
      uint8_t   CRGB::blue 
 Blue channel value. More...
 
   }  
 
 
 
uint8_t   CRGB::raw [3] 
 Access the red, green, and blue data as an array. More...
 
union { 
 
   struct { 
 
      union { 
 
         uint8_t   CRGB::r 
 Red channel value. More...
 
         uint8_t   CRGB::red 
 Red channel value. More...
 
      }  
 
      union { 
 
         uint8_t   CRGB::g 
 Green channel value. More...
 
         uint8_t   CRGB::green 
 Green channel value. More...
 
      }  
 
      union { 
 
         uint8_t   CRGB::b 
 Blue channel value. More...
 
         uint8_t   CRGB::blue 
 Blue channel value. More...
 
      }  
 
   }  
 
   uint8_t   CRGB::raw [3] 
 Access the red, green, and blue data as an array. More...
 
};  
 

Enumeration Type Documentation

◆ HTMLColorCode

Predefined RGB colors.

Enumerator
AliceBlue 
Amethyst 
AntiqueWhite 
Aqua 
Aquamarine 
Azure 
Beige 
Bisque 
Black 
BlanchedAlmond 
Blue 
BlueViolet 
Brown 
BurlyWood 
CadetBlue 
Chartreuse 
Chocolate 
Coral 
CornflowerBlue 
Cornsilk 
Crimson 
Cyan 
DarkBlue 
DarkCyan 
DarkGoldenrod 
DarkGray 
DarkGrey 
DarkGreen 
DarkKhaki 
DarkMagenta 
DarkOliveGreen 
DarkOrange 
DarkOrchid 
DarkRed 
DarkSalmon 
DarkSeaGreen 
DarkSlateBlue 
DarkSlateGray 
DarkSlateGrey 
DarkTurquoise 
DarkViolet 
DeepPink 
DeepSkyBlue 
DimGray 
DimGrey 
DodgerBlue 
FireBrick 
FloralWhite 
ForestGreen 
Fuchsia 
Gainsboro 
GhostWhite 
Gold 
Goldenrod 
Gray 
Grey 
Green 
GreenYellow 
Honeydew 
HotPink 
IndianRed 
Indigo 
Ivory 
Khaki 
Lavender 
LavenderBlush 
LawnGreen 
LemonChiffon 
LightBlue 
LightCoral 
LightCyan 
LightGoldenrodYellow 
LightGreen 
LightGrey 
LightPink 
LightSalmon 
LightSeaGreen 
LightSkyBlue 
LightSlateGray 
LightSlateGrey 
LightSteelBlue 
LightYellow 
Lime 
LimeGreen 
Linen 
Magenta 
Maroon 
MediumAquamarine 
MediumBlue 
MediumOrchid 
MediumPurple 
MediumSeaGreen 
MediumSlateBlue 
MediumSpringGreen 
MediumTurquoise 
MediumVioletRed 
MidnightBlue 
MintCream 
MistyRose 
Moccasin 
NavajoWhite 
Navy 
OldLace 
Olive 
OliveDrab 
Orange 
OrangeRed 
Orchid 
PaleGoldenrod 
PaleGreen 
PaleTurquoise 
PaleVioletRed 
PapayaWhip 
PeachPuff 
Peru 
Pink 
Plaid 
Plum 
PowderBlue 
Purple 
Red 
RosyBrown 
RoyalBlue 
SaddleBrown 
Salmon 
SandyBrown 
SeaGreen 
Seashell 
Sienna 
Silver 
SkyBlue 
SlateBlue 
SlateGray 
SlateGrey 
Snow 
SpringGreen 
SteelBlue 
Tan 
Teal 
Thistle 
Tomato 
Turquoise 
Violet 
Wheat 
White 
WhiteSmoke 
Yellow 
YellowGreen 
FairyLight 
FairyLightNCC 

Definition at line 459 of file crgb.h.

Function Documentation

◆ addToRGB()

FASTLED_FORCE_INLINE CRGB & CRGB::addToRGB ( uint8_t d)

Add a constant to each channel, saturating at 0xFF.

Note
This is NOT an operator+= overload because the compiler can't usefully decide when it's being passed a 32-bit constant (e.g. CRGB::Red) and an 8-bit one (CRGB::Blue)

Definition at line 22 of file crgb.hpp.

◆ CRGB() [1/6]

FASTLED_FORCE_INLINE CRGB::CRGB ( )
default

Default constructor.

Warning
Default values are UNITIALIZED!

◆ CRGB() [2/6]

CRGB::CRGB ( ColorTemperature colorcode)
inlineconstexpr

Allow construction from a ColorTemperature enum.

Parameters
colorcodean ColorTemperature enumeration value

Definition at line 94 of file crgb.h.

◆ CRGB() [3/6]

FASTLED_FORCE_INLINE CRGB::CRGB ( const CHSV & rhs)
inline

Allow construction from a CHSV color.

Definition at line 103 of file crgb.h.

◆ CRGB() [4/6]

CRGB::CRGB ( LEDColorCorrection colorcode)
inlineconstexpr

Allow construction from a LEDColorCorrection enum.

Parameters
colorcodean LEDColorCorrect enumeration value

Definition at line 87 of file crgb.h.

◆ CRGB() [5/6]

CRGB::CRGB ( uint32_t colorcode)
inlineconstexpr

Allow construction from 32-bit (really 24-bit) bit 0xRRGGBB color code.

Parameters
colorcodea packed 24 bit color code

Definition at line 80 of file crgb.h.

◆ CRGB() [6/6]

CRGB::CRGB ( uint8_t ir,
uint8_t ig,
uint8_t ib )
inlineconstexpr

Allow construction from red, green, and blue.

Parameters
irinput red value
iginput green value
ibinput blue value

Definition at line 73 of file crgb.h.

◆ fadeLightBy()

FASTLED_FORCE_INLINE CRGB & CRGB::fadeLightBy ( uint8_t fadefactor)

fadeLightBy is a synonym for nscale8_video(), as a fade instead of a scale

Parameters
fadefactorthe amount to fade, sent to nscale8_video() as (255 - fadefactor)

Definition at line 66 of file crgb.hpp.

◆ fadeToBlackBy()

CRGB & CRGB::fadeToBlackBy ( uint8_t fadefactor)
inline

fadeToBlackBy is a synonym for nscale8(), as a fade instead of a scale

Parameters
fadefactorthe amount to fade, sent to nscale8() as (255 - fadefactor)
Examples
RGBSetDemo.ino.

Definition at line 102 of file crgb.hpp.

◆ getAverageLight()

FASTLED_FORCE_INLINE uint8_t CRGB::getAverageLight ( ) const

Get the average of the R, G, and B values.

Examples
Pacifica.ino, and TwinkleFox.ino.

Definition at line 119 of file crgb.hpp.

◆ getLuma()

FASTLED_FORCE_INLINE uint8_t CRGB::getLuma ( ) const

Get the "luma" of a CRGB object.

In other words, roughly how much light the CRGB pixel is putting out (from 0 to 255).

Definition at line 108 of file crgb.hpp.

◆ getParity()

FASTLED_FORCE_INLINE uint8_t CRGB::getParity ( )
inline

Returns 0 or 1, depending on the lowest bit of the sum of the color components.

Definition at line 383 of file crgb.h.

◆ hsv2rgb_rainbow()

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

Forward declaration of hsv2rgb_rainbow here, to avoid circular dependencies.

Definition at line 251 of file hsv2rgb.cpp.

◆ lerp16()

FASTLED_FORCE_INLINE CRGB CRGB::lerp16 ( const CRGB & other,
fract16 frac ) const

Return a new CRGB object after performing a linear interpolation between this object and the passed in object.

Definition at line 143 of file crgb.hpp.

◆ lerp8()

FASTLED_FORCE_INLINE CRGB CRGB::lerp8 ( const CRGB & other,
fract8 frac ) const

Return a new CRGB object after performing a linear interpolation between this object and the passed in object.

Definition at line 132 of file crgb.hpp.

◆ maximizeBrightness()

FASTLED_FORCE_INLINE void CRGB::maximizeBrightness ( uint8_t limit = 255)
inline

Maximize the brightness of this CRGB object.

This makes the individual color channels as bright as possible while keeping the same value differences between channels.

Note
This does not keep the same ratios between channels, just the same difference in absolute values.

Definition at line 363 of file crgb.h.

◆ nscale8() [1/2]

FASTLED_FORCE_INLINE CRGB & CRGB::nscale8 ( const CRGB & scaledown)

Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.

"Plain math" dimming rules means that the low light levels may dim all the way to 100% black.

See also
scale8

Definition at line 78 of file crgb.hpp.

◆ nscale8() [2/2]

FASTLED_FORCE_INLINE CRGB & CRGB::nscale8 ( uint8_t scaledown)

Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.

"Plain math" dimming rules means that the low light levels may dim all the way to 100% black.

See also
nscale8x3
Examples
Cylon.ino.

Definition at line 72 of file crgb.hpp.

◆ nscale8_video()

FASTLED_FORCE_INLINE CRGB & CRGB::nscale8_video ( uint8_t scaledown)

Scale down a RGB to N/256ths of it's current brightness using "video" dimming rules.

"Video" dimming rules means that unless the scale factor is ZERO each channel is guaranteed NOT to dim down to zero. If it's already nonzero, it'll stay nonzero, even if that means the hue shifts a little at low brightness levels.

See also
nscale8x3_video
Examples
TwinkleFox.ino.

Definition at line 54 of file crgb.hpp.

◆ operator bool()

FASTLED_FORCE_INLINE CRGB::operator bool ( ) const
inlineexplicit

This allows testing a CRGB for zero-ness.

Definition at line 315 of file crgb.h.

◆ operator rgb24()

CRGB::operator rgb24 ( ) const
inline

Convert to an rgb24 object, used with the SmartMatrix library.

See also
https://github.com/pixelmatix/SmartMatrix

Definition at line 342 of file crgb.h.

◆ operator uint32_t()

FASTLED_FORCE_INLINE CRGB::operator uint32_t ( ) const
inlineexplicit

Converts a CRGB to a 32-bit color having an alpha of 255.

Definition at line 321 of file crgb.h.

◆ 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 641 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 629 of file crgb.h.

◆ operator%()

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

Scale using CRGB::nscale8_video()

Definition at line 180 of file crgb.hpp.

◆ operator%=()

FASTLED_FORCE_INLINE CRGB & CRGB::operator%= ( uint8_t scaledown)

%= is a synonym for nscale8_video().

Think of it is scaling down by "a percentage"

Definition at line 60 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 692 of file crgb.h.

◆ operator&=() [1/2]

FASTLED_FORCE_INLINE CRGB & CRGB::operator&= ( const CRGB & rhs)
inline

"and" operator brings each channel down to the lower of the two values

Definition at line 297 of file crgb.h.

◆ operator&=() [2/2]

FASTLED_FORCE_INLINE CRGB & CRGB::operator&= ( uint8_t d)
inline

"and" operator brings each channel down to the lower of the two values

Definition at line 306 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 172 of file crgb.hpp.

◆ operator*=()

FASTLED_FORCE_INLINE CRGB & CRGB::operator*= ( uint8_t d)

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

Definition at line 46 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 156 of file crgb.hpp.

◆ operator++() [1/2]

FASTLED_FORCE_INLINE CRGB & CRGB::operator++ ( )
inline

Add a constant of '1' from each channel, saturating at 0xFF.

Definition at line 204 of file crgb.h.

◆ operator++() [2/2]

FASTLED_FORCE_INLINE CRGB CRGB::operator++ ( int )
inline

Add a constant of '1' from each channel, saturating at 0xFF.

Definition at line 211 of file crgb.h.

◆ operator+=()

FASTLED_FORCE_INLINE CRGB & CRGB::operator+= ( const CRGB & rhs)

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

Definition at line 14 of file crgb.hpp.

◆ operator-() [1/2]

FASTLED_FORCE_INLINE CRGB CRGB::operator- ( ) const
inline

Invert each channel.

Definition at line 330 of file crgb.h.

◆ operator-() [2/2]

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 164 of file crgb.hpp.

◆ operator--() [1/2]

FASTLED_FORCE_INLINE CRGB & CRGB::operator-- ( )
inline

Subtract a constant of '1' from each channel, saturating at 0x00.

Definition at line 189 of file crgb.h.

◆ operator--() [2/2]

FASTLED_FORCE_INLINE CRGB CRGB::operator-- ( int )
inline

Subtract a constant of '1' from each channel, saturating at 0x00.

Definition at line 196 of file crgb.h.

◆ operator-=()

FASTLED_FORCE_INLINE CRGB & CRGB::operator-= ( const CRGB & rhs)

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

Definition at line 30 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 685 of file crgb.h.

◆ operator/=()

FASTLED_FORCE_INLINE CRGB & CRGB::operator/= ( uint8_t d)
inline

Divide each of the channels by a constant.

Definition at line 219 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 647 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 674 of file crgb.h.

◆ operator=() [1/2]

FASTLED_FORCE_INLINE CRGB & CRGB::operator= ( const CHSV & rhs)
inline

Allow assignment from HSV color.

Definition at line 153 of file crgb.h.

◆ operator=() [2/2]

FASTLED_FORCE_INLINE CRGB & CRGB::operator= ( const uint32_t colorcode)
inline

Allow assignment from 32-bit (really 24-bit) 0xRRGGBB color code.

Parameters
colorcodea packed 24 bit color code

Definition at line 113 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 635 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 623 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 656 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 665 of file crgb.h.

◆ operator>>=()

FASTLED_FORCE_INLINE CRGB & CRGB::operator>>= ( uint8_t d)
inline

Right shift each of the channels by a constant.

Definition at line 228 of file crgb.h.

◆ operator[]() [1/2]

FASTLED_FORCE_INLINE uint8_t & CRGB::operator[] ( uint8_t x)
inline

Array access operator to index into the CRGB object.

Parameters
xthe index to retrieve (0-2)
Returns
the CRGB::raw value for the given index

Definition at line 52 of file crgb.h.

◆ operator[]() [2/2]

FASTLED_FORCE_INLINE const uint8_t & CRGB::operator[] ( uint8_t x) const
inline

Array access operator to index into the CRGB object.

Parameters
xthe index to retrieve (0-2)
Returns
the CRGB::raw value for the given index

Definition at line 60 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 700 of file crgb.h.

◆ operator|=() [1/2]

FASTLED_FORCE_INLINE CRGB & CRGB::operator|= ( const CRGB & rhs)
inline

"or" operator brings each channel up to the higher of the two values

Definition at line 279 of file crgb.h.

◆ operator|=() [2/2]

FASTLED_FORCE_INLINE CRGB & CRGB::operator|= ( uint8_t d)
inline

"or" operator brings each channel up to the higher of the two values

Definition at line 288 of file crgb.h.

◆ scale8() [1/2]

FASTLED_FORCE_INLINE CRGB CRGB::scale8 ( const CRGB & scaledown) const

Return a CRGB object that is a scaled down version of this object.

Definition at line 93 of file crgb.hpp.

◆ scale8() [2/2]

FASTLED_FORCE_INLINE CRGB CRGB::scale8 ( uint8_t scaledown) const

Return a CRGB object that is a scaled down version of this object.

Definition at line 86 of file crgb.hpp.

◆ setColorCode()

FASTLED_FORCE_INLINE CRGB & CRGB::setColorCode ( uint32_t colorcode)
inline

Allow assignment from 32-bit (really 24-bit) 0xRRGGBB color code.

Parameters
colorcodea packed 24 bit color code

Definition at line 161 of file crgb.h.

◆ setHSV()

FASTLED_FORCE_INLINE CRGB & CRGB::setHSV ( uint8_t hue,
uint8_t sat,
uint8_t val )
inline

Allow assignment from hue, saturation, and value.

Parameters
huecolor hue
satcolor saturation
valcolor value (brightness)

Definition at line 137 of file crgb.h.

◆ setHue()

FASTLED_FORCE_INLINE CRGB & CRGB::setHue ( uint8_t hue)
inline

Allow assignment from just a hue.

Saturation and value (brightness) are set automatically to max.

Parameters
huecolor hue

Definition at line 146 of file crgb.h.

◆ setParity()

FASTLED_FORCE_INLINE void CRGB::setParity ( uint8_t parity)
inline

Adjusts the color in the smallest way possible so that the parity of the coloris now the desired value.

This allows you to "hide" one bit of information in the color.

Ideally, we find one color channel which already has data in it, and modify just that channel by one. We don't want to light up a channel that's black if we can avoid it, and if the pixel is 'grayscale', (meaning that R==G==B), we modify all three channels at once, to preserve the neutral hue.

There's no such thing as a free lunch; in many cases this "hidden bit" may actually be visible, but this code makes reasonable efforts to hide it as much as is reasonably possible.

Also, an effort is made to make it such that repeatedly setting the parity to different values will not cause the color to "drift". Toggling the parity twice should generally result in the original color again.

Definition at line 411 of file crgb.h.

◆ setRGB()

FASTLED_FORCE_INLINE CRGB & CRGB::setRGB ( uint8_t nr,
uint8_t ng,
uint8_t nb )
inline

Allow assignment from red, green, and blue.

Parameters
nrnew red value
ngnew green value
nbnew blue value

Definition at line 125 of file crgb.h.

◆ subtractFromRGB()

FASTLED_FORCE_INLINE CRGB & CRGB::subtractFromRGB ( uint8_t d)

Subtract a constant from each channel, saturating at 0x00.

Note
This is NOT an operator+= overload because the compiler can't usefully decide when it's being passed a 32-bit constant (e.g. CRGB::Red) and an 8-bit one (CRGB::Blue)

Definition at line 38 of file crgb.hpp.

Variable Documentation

◆ [] [1/2]

uint8_t { ... } ::b

Blue channel value.

Definition at line 37 of file crgb.h.

◆ b [2/2]

uint8_t CRGB::b

Blue channel value.

Examples
AnalogOutput.ino, and TwinkleFox.ino.

Definition at line 37 of file crgb.h.

◆ [] [1/2]

uint8_t { ... } ::blue

Blue channel value.

Definition at line 38 of file crgb.h.

◆ blue [2/2]

uint8_t CRGB::blue

Blue channel value.

Examples
Pacifica.ino.

Definition at line 38 of file crgb.h.

◆ [] [1/2]

uint8_t { ... } ::g

Green channel value.

Definition at line 33 of file crgb.h.

◆ g [2/2]

uint8_t CRGB::g

Green channel value.

Examples
AnalogOutput.ino, and TwinkleFox.ino.

Definition at line 33 of file crgb.h.

◆ [] [1/2]

uint8_t { ... } ::green

Green channel value.

Definition at line 34 of file crgb.h.

◆ green [2/2]

uint8_t CRGB::green

Green channel value.

Examples
Pacifica.ino.

Definition at line 34 of file crgb.h.

◆ [] [1/2]

uint8_t { ... } ::r

Red channel value.

Definition at line 29 of file crgb.h.

◆ r [2/2]

uint8_t CRGB::r

Red channel value.

Examples
AnalogOutput.ino.

Definition at line 29 of file crgb.h.

◆ [] [1/2]

uint8_t { ... } ::raw[3]

Access the red, green, and blue data as an array.

Where:

  • raw[0] is the red value
  • raw[1] is the green value
  • raw[2] is the blue value

Definition at line 46 of file crgb.h.

◆ raw [2/2]

uint8_t CRGB::raw[3]

Access the red, green, and blue data as an array.

Where:

  • raw[0] is the red value
  • raw[1] is the green value
  • raw[2] is the blue value

Definition at line 46 of file crgb.h.

◆ [] [1/2]

uint8_t { ... } ::red

Red channel value.

Definition at line 30 of file crgb.h.

◆ red [2/2]

uint8_t CRGB::red

Red channel value.

Definition at line 30 of file crgb.h.