FastLED 3.9.15
Loading...
Searching...
No Matches
fl::CRGB Struct Reference

Detailed Description

Representation of an 8-bit RGB pixel (Red, Green, Blue)

Note
Performance Tip: This struct provides both inline single-pixel methods and references to bulk array operations. For best performance:
Examples
Animartrix.ino, Audio.ino, BeatDetection.ino, Blur2d.ino, FxDemoReel100.ino, FxEngine.ino, FxFire2012.ino, FxGfx2Video.ino, FxNoisePlusPalette.ino, FxNoiseRing.ino, FxPacifica.ino, FxPride2015.ino, Overclock.ino, and Pacifica.ino.

Definition at line 38 of file crgb.h.

#include <crgb.h>

Public Types

typedef u8 fp
 
enum  HTMLColorCode {
  AliceBlue =0xF0F8FF , Amethyst =0x9966CC , AntiqueWhite =0xFAEBD7 , Aqua =0x00FFFF ,
  Aquamarine =0x7FFFD4 , Azure =0xF0FFFF , Beige =0xF5F5DC , Bisque =0xFFE4C4 ,
  Black =0x000000 , BlanchedAlmond =0xFFEBCD , Blue =0x0000FF , BlueViolet =0x8A2BE2 ,
  Brown =0xA52A2A , BurlyWood =0xDEB887 , CadetBlue =0x5F9EA0 , Chartreuse =0x7FFF00 ,
  Chocolate =0xD2691E , Coral =0xFF7F50 , CornflowerBlue =0x6495ED , Cornsilk =0xFFF8DC ,
  Crimson =0xDC143C , Cyan =0x00FFFF , DarkBlue =0x00008B , DarkCyan =0x008B8B ,
  DarkGoldenrod =0xB8860B , DarkGray =0xA9A9A9 , DarkGrey =0xA9A9A9 , DarkGreen =0x006400 ,
  DarkKhaki =0xBDB76B , DarkMagenta =0x8B008B , DarkOliveGreen =0x556B2F , DarkOrange =0xFF8C00 ,
  DarkOrchid =0x9932CC , DarkRed =0x8B0000 , DarkSalmon =0xE9967A , DarkSeaGreen =0x8FBC8F ,
  DarkSlateBlue =0x483D8B , DarkSlateGray =0x2F4F4F , DarkSlateGrey =0x2F4F4F , DarkTurquoise =0x00CED1 ,
  DarkViolet =0x9400D3 , DeepPink =0xFF1493 , DeepSkyBlue =0x00BFFF , DimGray =0x696969 ,
  DimGrey =0x696969 , DodgerBlue =0x1E90FF , FireBrick =0xB22222 , FloralWhite =0xFFFAF0 ,
  ForestGreen =0x228B22 , Fuchsia =0xFF00FF , Gainsboro =0xDCDCDC , GhostWhite =0xF8F8FF ,
  Gold =0xFFD700 , Goldenrod =0xDAA520 , Gray =0x808080 , Grey =0x808080 ,
  Green =0x008000 , GreenYellow =0xADFF2F , Honeydew =0xF0FFF0 , HotPink =0xFF69B4 ,
  IndianRed =0xCD5C5C , Indigo =0x4B0082 , Ivory =0xFFFFF0 , Khaki =0xF0E68C ,
  Lavender =0xE6E6FA , LavenderBlush =0xFFF0F5 , LawnGreen =0x7CFC00 , LemonChiffon =0xFFFACD ,
  LightBlue =0xADD8E6 , LightCoral =0xF08080 , LightCyan =0xE0FFFF , LightGoldenrodYellow =0xFAFAD2 ,
  LightGreen =0x90EE90 , LightGrey =0xD3D3D3 , LightPink =0xFFB6C1 , LightSalmon =0xFFA07A ,
  LightSeaGreen =0x20B2AA , LightSkyBlue =0x87CEFA , LightSlateGray =0x778899 , LightSlateGrey =0x778899 ,
  LightSteelBlue =0xB0C4DE , LightYellow =0xFFFFE0 , Lime =0x00FF00 , LimeGreen =0x32CD32 ,
  Linen =0xFAF0E6 , Magenta =0xFF00FF , Maroon =0x800000 , MediumAquamarine =0x66CDAA ,
  MediumBlue =0x0000CD , MediumOrchid =0xBA55D3 , MediumPurple =0x9370DB , MediumSeaGreen =0x3CB371 ,
  MediumSlateBlue =0x7B68EE , MediumSpringGreen =0x00FA9A , MediumTurquoise =0x48D1CC , MediumVioletRed =0xC71585 ,
  MidnightBlue =0x191970 , MintCream =0xF5FFFA , MistyRose =0xFFE4E1 , Moccasin =0xFFE4B5 ,
  NavajoWhite =0xFFDEAD , Navy =0x000080 , OldLace =0xFDF5E6 , Olive =0x808000 ,
  OliveDrab =0x6B8E23 , Orange =0xFFA500 , OrangeRed =0xFF4500 , Orchid =0xDA70D6 ,
  PaleGoldenrod =0xEEE8AA , PaleGreen =0x98FB98 , PaleTurquoise =0xAFEEEE , PaleVioletRed =0xDB7093 ,
  PapayaWhip =0xFFEFD5 , PeachPuff =0xFFDAB9 , Peru =0xCD853F , Pink =0xFFC0CB ,
  Plaid =0xCC5533 , Plum =0xDDA0DD , PowderBlue =0xB0E0E6 , Purple =0x800080 ,
  Red =0xFF0000 , RosyBrown =0xBC8F8F , RoyalBlue =0x4169E1 , SaddleBrown =0x8B4513 ,
  Salmon =0xFA8072 , SandyBrown =0xF4A460 , SeaGreen =0x2E8B57 , Seashell =0xFFF5EE ,
  Sienna =0xA0522D , Silver =0xC0C0C0 , SkyBlue =0x87CEEB , SlateBlue =0x6A5ACD ,
  SlateGray =0x708090 , SlateGrey =0x708090 , Snow =0xFFFAFA , SpringGreen =0x00FF7F ,
  SteelBlue =0x4682B4 , Tan =0xD2B48C , Teal =0x008080 , Thistle =0xD8BFD8 ,
  Tomato =0xFF6347 , Turquoise =0x40E0D0 , Violet =0xEE82EE , Wheat =0xF5DEB3 ,
  White =0xFFFFFF , WhiteSmoke =0xF5F5F5 , Yellow =0xFFFF00 , YellowGreen =0x9ACD32 ,
  FairyLight =0xFFE42D , FairyLightNCC =0xFF9D2A , Gray0 =0x000000 , Gray10 =0x1A1A1A ,
  Gray25 =0x404040 , Gray50 =0x7F7F7F , Gray75 =0xBFBFBF , Gray100 =0xFFFFFF ,
  Grey0 =0x000000 , Grey10 =0x1A1A1A , Grey25 =0x404040 , Grey50 =0x7F7F7F ,
  Grey75 =0xBFBFBF , Grey100 =0xFFFFFF , Red1 =0xFF0000 , Red2 =0xEE0000 ,
  Red3 =0xCD0000 , Red4 =0x8B0000 , Green1 =0x00FF00 , Green2 =0x00EE00 ,
  Green3 =0x00CD00 , Green4 =0x008B00 , Blue1 =0x0000FF , Blue2 =0x0000EE ,
  Blue3 =0x0000CD , Blue4 =0x00008B , Orange1 =0xFFA500 , Orange2 =0xEE9A00 ,
  Orange3 =0xCD8500 , Orange4 =0x8B5A00 , Yellow1 =0xFFFF00 , Yellow2 =0xEEEE00 ,
  Yellow3 =0xCDCD00 , Yellow4 =0x8B8B00 , Cyan1 =0x00FFFF , Cyan2 =0x00EEEE ,
  Cyan3 =0x00CDCD , Cyan4 =0x008B8B , Magenta1 =0xFF00FF , Magenta2 =0xEE00EE ,
  Magenta3 =0xCD00CD , Magenta4 =0x8B008B , VioletRed =0xD02090 , DeepPink1 =0xFF1493 ,
  DeepPink2 =0xEE1289 , DeepPink3 =0xCD1076 , DeepPink4 =0x8B0A50 , Gold1 =0xFFD700 ,
  Gold2 =0xEEC900 , Gold3 =0xCDAD00 , Gold4 =0x8B7500
}
 Predefined RGB colors. More...
 

Public Member Functions

FASTLED_FORCE_INLINE CRGB () FL_NOEXCEPT
 Default constructor.
 
constexpr CRGB (ColorTemperature colorcode) FL_NOEXCEPT
 Allow construction from a ColorTemperature enum.
 
FASTLED_FORCE_INLINE CRGB (const CRGB &rhs)=default
 Allow copy construction.
 
 CRGB (const HSV16 &rhs) FL_NOEXCEPT
 Allow construction from a HSV16 color Enables automatic conversion from HSV16 to CRGB.
 
 CRGB (const hsv8 &rhs) FL_NOEXCEPT
 Allow construction from a hsv8 color.
 
constexpr CRGB (LEDColorCorrection colorcode) FL_NOEXCEPT
 Allow construction from a LEDColorCorrection enum.
 
constexpr CRGB (u32 colorcode) FL_NOEXCEPT
 Allow construction from 32-bit (really 24-bit) bit 0xRRGGBB color code.
 
constexpr CRGB (u8 ir, u8 ig, u8 ib) FL_NOEXCEPT
 Allow construction from red, green, and blue.
 
FASTLED_FORCE_INLINE CRGBaddToRGB (u8 d) FL_NOEXCEPT
 Add a constant to each channel, saturating at 0xFF.
 
constexpr u32 as_uint32_t () const FL_NOEXCEPT
 
CRGB colorBoost (EaseType saturation_function=EaseType::EASE_NONE, EaseType luminance_function=EaseType::EASE_NONE) const FL_NOEXCEPT
 
FASTLED_FORCE_INLINE CRGBfadeLightBy (u8 fadefactor) FL_NOEXCEPT
 fadeLightBy is a synonym for nscale8_video(), as a fade instead of a scale
 
CRGBfadeToBlackBy (u8 fadefactor) FL_NOEXCEPT
 fadeToBlackBy is a synonym for nscale8(), as a fade instead of a scale
 
FASTLED_FORCE_INLINE u8 getAverageLight () const FL_NOEXCEPT
 Get the average of the R, G, and B values.
 
u8 getLuma () const FL_NOEXCEPT
 Get the "luma" of a CRGB object.
 
FASTLED_FORCE_INLINE u8 getParity () FL_NOEXCEPT
 Returns 0 or 1, depending on the lowest bit of the sum of the color components.
 
FASTLED_FORCE_INLINE CRGB lerp16 (const CRGB &other, fract16 frac) const FL_NOEXCEPT
 Return a new CRGB object after performing a linear interpolation between this object and the passed in object.
 
CRGB lerp8 (const CRGB &other, fract8 amountOf2) const FL_NOEXCEPT
 Return a new CRGB object after performing a linear interpolation between this object and the passed in object.
 
FASTLED_FORCE_INLINE void maximizeBrightness (u8 limit=255) FL_NOEXCEPT
 Maximize the brightness of this CRGB object.
 
FASTLED_FORCE_INLINE CRGBnscale (u8 scaledown) FL_NOEXCEPT
 Generic scale — delegates to nscale8 for CRGB.
 
FASTLED_FORCE_INLINE CRGBnscale8 (const CRGB &scaledown) FL_NOEXCEPT
 Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.
 
CRGBnscale8 (u8 scaledown) FL_NOEXCEPT
 Scale down a RGB to N/256ths of its current brightness, using "plain math" dimming rules.
 
constexpr CRGB nscale8_constexpr (const CRGB scaledown) const FL_NOEXCEPT
 
FASTLED_FORCE_INLINE CRGBnscale8_video (u8 scaledown) FL_NOEXCEPT
 Scale down a RGB to N/256ths of it's current brightness using "video" dimming rules.
 
constexpr operator bool () const FL_NOEXCEPT
 This allows testing a CRGB for zero-ness.
 
 operator rgb24 () const
 Convert to an rgb24 object, used with the SmartMatrix library.
 
constexpr operator u32 () const FL_NOEXCEPT
 Converts a CRGB to a 32-bit color having an alpha of 255.
 
FASTLED_FORCE_INLINE CRGBoperator%= (u8 scaledown) FL_NOEXCEPT
 %= is a synonym for nscale8_video().
 
FASTLED_FORCE_INLINE CRGBoperator&= (const CRGB &rhs) FL_NOEXCEPT
 "and" operator brings each channel down to the lower of the two values
 
FASTLED_FORCE_INLINE CRGBoperator&= (u8 d) FL_NOEXCEPT
 "and" operator brings each channel down to the lower of the two values
 
FASTLED_FORCE_INLINE CRGBoperator*= (u8 d) FL_NOEXCEPT
 Multiply each of the channels by a constant, saturating each channel at 0xFF.
 
FASTLED_FORCE_INLINE CRGBoperator++ () FL_NOEXCEPT
 Add a constant of '1' from each channel, saturating at 0xFF.
 
FASTLED_FORCE_INLINE CRGB operator++ (int) FL_NOEXCEPT
 Add a constant of '1' from each channel, saturating at 0xFF.
 
CRGBoperator+= (const CRGB &rhs) FL_NOEXCEPT
 Add one CRGB to another, saturating at 0xFF for each channel.
 
constexpr CRGB operator- () const FL_NOEXCEPT
 Invert each channel.
 
FASTLED_FORCE_INLINE CRGBoperator-- () FL_NOEXCEPT
 Subtract a constant of '1' from each channel, saturating at 0x00.
 
FASTLED_FORCE_INLINE CRGB operator-- (int) FL_NOEXCEPT
 Subtract a constant of '1' from each channel, saturating at 0x00.
 
FASTLED_FORCE_INLINE CRGBoperator-= (const CRGB &rhs) FL_NOEXCEPT
 Subtract one CRGB from another, saturating at 0x00 for each channel.
 
FASTLED_FORCE_INLINE CRGBoperator/= (u8 d) FL_NOEXCEPT
 Divide each of the channels by a constant.
 
FASTLED_FORCE_INLINE CRGBoperator= (const CRGB &rhs) FL_NOEXCEPT=default
 Allow assignment from one RGB struct to another.
 
CRGBoperator= (const hsv8 &rhs) FL_NOEXCEPT
 Allow assignment from HSV color.
 
FASTLED_FORCE_INLINE CRGBoperator= (const u32 colorcode) FL_NOEXCEPT
 Allow assignment from 32-bit (really 24-bit) 0xRRGGBB color code.
 
FASTLED_FORCE_INLINE CRGBoperator>>= (u8 d) FL_NOEXCEPT
 Right shift each of the channels by a constant.
 
FASTLED_FORCE_INLINE const u8operator[] (u8 x) const FL_NOEXCEPT
 Array access operator to index into the CRGB object.
 
FASTLED_FORCE_INLINE u8operator[] (u8 x) FL_NOEXCEPT
 Array access operator to index into the CRGB object.
 
FASTLED_FORCE_INLINE CRGBoperator|= (const CRGB &rhs) FL_NOEXCEPT
 "or" operator brings each channel up to the higher of the two values
 
FASTLED_FORCE_INLINE CRGBoperator|= (u8 d) FL_NOEXCEPT
 "or" operator brings each channel up to the higher of the two values
 
FASTLED_FORCE_INLINE CRGB scale8 (const CRGB &scaledown) const FL_NOEXCEPT
 Return a CRGB object that is a scaled down version of this object.
 
FASTLED_FORCE_INLINE CRGB scale8 (u8 scaledown) const FL_NOEXCEPT
 Return a CRGB object that is a scaled down version of this object.
 
FASTLED_FORCE_INLINE CRGBsetColorCode (u32 colorcode) FL_NOEXCEPT
 Allow assignment from 32-bit (really 24-bit) 0xRRGGBB color code.
 
CRGBsetHSV (u8 hue, u8 sat, u8 val) FL_NOEXCEPT
 Allow assignment from hue, saturation, and value.
 
CRGBsetHue (u8 hue) FL_NOEXCEPT
 Allow assignment from just a hue.
 
FASTLED_FORCE_INLINE void setParity (u8 parity) FL_NOEXCEPT
 Adjusts the color in the smallest way possible so that the parity of the coloris now the desired value.
 
FASTLED_FORCE_INLINE CRGBsetRGB (u8 nr, u8 ng, u8 nb) FL_NOEXCEPT
 Allow assignment from red, green, and blue.
 
FASTLED_FORCE_INLINE CRGBsubtractFromRGB (u8 d) FL_NOEXCEPT
 Subtract a constant from each channel, saturating at 0x00.
 
HSV16 toHSV16 () const FL_NOEXCEPT
 
string toString () const FL_NOEXCEPT
 

Static Public Member Functions

static CRGB blend (const CRGB &p1, const CRGB &p2, fract8 amountOfP2) FL_NOEXCEPT
 
static CRGB blendAlphaMaxChannel (const CRGB &upper, const CRGB &lower) FL_NOEXCEPT
 
static void colorBoost (const CRGB *src, CRGB *dst, size_t count, EaseType saturation_function=EaseType::EASE_NONE, EaseType luminance_function=EaseType::EASE_NONE) FL_NOEXCEPT
 
static CRGB computeAdjustment (u8 scale, const CRGB &colorCorrection, const CRGB &colorTemperature) FL_NOEXCEPT
 Calculates the combined color adjustment to the LEDs at a given scale, color correction, and color temperature.
 
static void downscale (const CRGB *src, const XYMap &srcXY, CRGB *dst, const XYMap &dstXY) FL_NOEXCEPT
 Downscale a CRGB matrix (or strip) to the smaller size.
 
static void upscale (const CRGB *src, const XYMap &srcXY, CRGB *dst, const XYMap &dstXY) FL_NOEXCEPT
 

Public Attributes

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

The documentation for this struct was generated from the following files: