FastLED 3.9.4
Loading...
Searching...
No Matches
CRGB Struct Reference

Detailed Description

#include <crgb.h>

Public Types

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
}
 Predefined RGB colors. More...
 

Public Member Functions

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

Static Public Member Functions

static CRGB blend (const CRGB &p1, const CRGB &p2, fract8 amountOfP2)
 
static CRGB computeAdjustment (uint8_t scale, const CRGB &colorCorrection, const CRGB &colorTemperature)
 Calculates the combined color adjustment to the LEDs at a given scale, color correction, and color temperature.
 

Public Attributes

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...
 
};  
 

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