|
FastLED 3.9.15
|
Represents a view/window into a set of LED pixels, providing array-like access and rich color operations.
CPixelView provides a non-owning view into LED pixel data with extensive manipulation capabilities. It supports forward and reverse iteration, subset operations, and a comprehensive set of color functions.
Key Features:
operator[]operator(start, end)start > endfl::span<T> for modern C++ interopCommon Usage Patterns:
Definition at line 110 of file pixelset.h.
#include <pixelset.h>
Inheritance diagram for CPixelView< PIXEL_TYPE >:Classes | |
| class | pixelset_iterator_base |
| Iterator helper class for CPixelView. More... | |
Public Member Functions | |
| CPixelView (const CPixelView &other) | |
| PixelSet copy constructor. | |
| CPixelView (PIXEL_TYPE *_leds, int _len) | |
PixelSet constructor for a pixel set starting at the given PIXEL_TYPE* and going for _len leds. | |
| CPixelView (PIXEL_TYPE *_leds, int _start, int _end) | |
| PixelSet constructor for the given set of LEDs, with start and end boundaries. | |
| void | dump () const |
| Print debug data to serial, disabled for release. | |
| operator bool () | |
| Returns whether or not any LEDs in this set are non-zero. | |
| operator PIXEL_TYPE * () const | |
| Return a pointer to the first element in this set. | |
| bool | operator!= (const CPixelView &rhs) const |
| Do these sets point to different things? Note that this is different from the contents of the set being the same. | |
| CPixelView | operator() (int start, int end) |
| Access an inclusive subset of the LEDs in this set. | |
| CPixelView | operator- () |
| Return the reverse ordering of this set. | |
| CPixelView & | operator= (const CPixelView &rhs) |
| Copy the contents of the passed-in set to our set. | |
| CPixelView & | operator= (const PIXEL_TYPE &color) |
| Assign the passed in color to all elements in this set. | |
| bool | operator== (const CPixelView &rhs) const |
| Do these sets point to the same thing? Note that this is different from the contents of the set being the same. | |
| PIXEL_TYPE & | operator[] (int x) const |
| Access a single element in this set, just like an array operator. | |
| bool | reversed () |
| Whether or not this set goes backwards. | |
| int | size () |
| Get the size of this set. | |
Modification/Scaling Operators | |
| CPixelView & | addToRGB (uint8_t inc) |
| Add the passed in value to all channels for all of the pixels in this set. | |
| CPixelView & | operator+= (CPixelView &rhs) |
| Add every pixel in the other set to this set. | |
| CPixelView & | subFromRGB (uint8_t inc) |
| Subtract the passed in value from all channels for all of the pixels in this set. | |
| CPixelView & | operator-= (CPixelView &rhs) |
| Subtract every pixel in the other set from this set. | |
| CPixelView & | operator++ () |
| Increment every pixel value in this set. | |
| CPixelView & | operator++ (int DUMMY_ARG) |
| Increment every pixel value in this set. | |
| CPixelView & | operator-- () |
| Decrement every pixel value in this set. | |
| CPixelView & | operator-- (int DUMMY_ARG) |
| Decrement every pixel value in this set. | |
| CPixelView & | operator/= (uint8_t d) |
| Divide every LED by the given value. | |
| CPixelView & | operator>>= (uint8_t d) |
| Shift every LED in this set right by the given number of bits. | |
| CPixelView & | operator*= (uint8_t d) |
| Multiply every LED in this set by the given value. | |
| CPixelView & | nscale8_video (uint8_t scaledown) |
| Scale every LED by the given scale. | |
| CPixelView & | operator%= (uint8_t scaledown) |
| Scale down every LED by the given scale. | |
| CPixelView & | fadeLightBy (uint8_t fadefactor) |
| Fade every LED down by the given scale. | |
| CPixelView & | nscale8 (uint8_t scaledown) |
| Scale every LED by the given scale. | |
| CPixelView & | nscale8 (PIXEL_TYPE &scaledown) |
| Scale every LED by the given scale. | |
| CPixelView & | nscale8 (CPixelView &rhs) |
| Scale every LED in this set by every led in the other set. | |
| CPixelView & | fadeToBlackBy (uint8_t fade) |
| Fade every LED down by the given scale. | |
| CPixelView & | operator|= (const PIXEL_TYPE &rhs) |
| Apply the PIXEL_TYPE |= operator to every pixel in this set with the given PIXEL_TYPE value. | |
| CPixelView & | operator|= (const CPixelView &rhs) |
| Apply the PIXEL_TYPE |= operator to every pixel in this set with every pixel in the passed in set. | |
| CPixelView & | operator|= (uint8_t d) |
| Apply the PIXEL_TYPE |= operator to every pixel in this set. | |
| CPixelView & | operator&= (const PIXEL_TYPE &rhs) |
| Apply the PIXEL_TYPE &= operator to every pixel in this set with the given PIXEL_TYPE value. | |
| CPixelView & | operator&= (const CPixelView &rhs) |
| Apply the PIXEL_TYPE &= operator to every pixel in this set with every pixel in the passed in set. | |
| CPixelView & | operator&= (uint8_t d) |
| Apply the PIXEL_TYPE &= operator to every pixel in this set with the passed in value. | |
Color Util Functions | |
| CPixelView & | fill_solid (const PIXEL_TYPE &color) |
| Fill all of the LEDs with a solid color. | |
| CPixelView & | fill_solid (const CHSV &color) |
| Fill all of the LEDs with a solid color. | |
| CPixelView & | fill_rainbow (uint8_t initialhue, uint8_t deltahue=5) |
| Fill all of the LEDs with a rainbow of colors. | |
| CPixelView & | fill_gradient (const CHSV &startcolor, const CHSV &endcolor, TGradientDirectionCode directionCode=fl::SHORTEST_HUES) |
| Fill all of the LEDs with a smooth HSV gradient between two HSV colors. | |
| CPixelView & | fill_gradient (const CHSV &c1, const CHSV &c2, const CHSV &c3, TGradientDirectionCode directionCode=fl::SHORTEST_HUES) |
| Fill all of the LEDs with a smooth HSV gradient between three HSV colors. | |
| CPixelView & | fill_gradient (const CHSV &c1, const CHSV &c2, const CHSV &c3, const CHSV &c4, TGradientDirectionCode directionCode=fl::SHORTEST_HUES) |
| Fill all of the LEDs with a smooth HSV gradient between four HSV colors. | |
| CPixelView & | fill_gradient_RGB (const PIXEL_TYPE &startcolor, const PIXEL_TYPE &endcolor, TGradientDirectionCode directionCode=fl::SHORTEST_HUES) |
| Fill all of the LEDs with a smooth RGB gradient between two RGB colors. | |
| CPixelView & | fill_gradient_RGB (const PIXEL_TYPE &c1, const PIXEL_TYPE &c2, const PIXEL_TYPE &c3) |
| Fill all of the LEDs with a smooth RGB gradient between three RGB colors. | |
| CPixelView & | fill_gradient_RGB (const PIXEL_TYPE &c1, const PIXEL_TYPE &c2, const PIXEL_TYPE &c3, const PIXEL_TYPE &c4) |
| Fill all of the LEDs with a smooth RGB gradient between four RGB colors. | |
| CPixelView & | nblend (const PIXEL_TYPE &overlay, fract8 amountOfOverlay) |
| Destructively modifies all LEDs, blending in a given fraction of an overlay color. | |
| CPixelView & | nblend (const CPixelView &rhs, fract8 amountOfOverlay) |
| Destructively blend another set of LEDs into this one. | |
| CPixelView & | blur1d (fract8 blur_amount) |
| One-dimensional blur filter. | |
| CPixelView & | napplyGamma_video (float gamma) |
| Destructively applies a gamma adjustment to all LEDs. | |
| CPixelView & | napplyGamma_video (float gammaR, float gammaG, float gammaB) |
| Destructively applies a gamma adjustment to all LEDs. | |
Public Attributes | |
| const int8_t | dir |
| direction of the LED data, either 1 or -1. Determines how the pointer is incremented. | |
| PIXEL_TYPE *const | end_pos |
| pointer to the end position of the LED data | |
| PIXEL_TYPE *const | leds |
| pointer to the LED data | |
| const int | len |
| length of the LED data, in PIXEL_TYPE units. | |
Iterator | |
| typedef pixelset_iterator_base< PIXEL_TYPE > | iterator |
| Iterator helper type for this class. | |
| typedef pixelset_iterator_base< const PIXEL_TYPE > | const_iterator |
| Const iterator helper type for this class. | |
| iterator | begin () |
| Makes an iterator instance for the start of the LED set. | |
| iterator | end () |
| Makes an iterator instance for the end of the LED set. | |
| iterator | begin () const |
| Makes an iterator instance for the start of the LED set, const qualified. | |
| iterator | end () const |
| Makes an iterator instance for the end of the LED set, const qualified. | |
| const_iterator | cbegin () const |
| Makes a const iterator instance for the start of the LED set, const qualified. | |
| const_iterator | cend () const |
| Makes a const iterator instance for the end of the LED set, const qualified. | |