FastLED 3.10.8
Loading...
Searching...
No Matches

◆ writeWS2812()

template<typename CONTAINER_UIN8_T>
void fl::PixelIterator::writeWS2812 ( CONTAINER_UIN8_T * out)
inline

Definition at line 475 of file pixel_iterator.h.

475 {
476 auto back_ins = fl::back_inserter(*out);
477 // (#2558) Dispatch order: RGBWW > RGBW > RGB. The variant migration
478 // makes these mutually exclusive — at most one alternative is active.
479 if (mRgbww.active()) {
480 auto range = makeScaledPixelRangeRGBWW(this);
481 encodeWS2812_RGBWW(range.first, range.second, back_ins);
482 } else if (mRgbw.active()) {
483 auto range = makeScaledPixelRangeRGBW(this);
484 encodeWS2812_RGBW(range.first, range.second, back_ins);
485 } else {
486 auto range = makeScaledPixelRangeRGB(this);
487 encodeWS2812_RGB(range.first, range.second, back_ins);
488 }
489 }
back_insert_iterator< Container > back_inserter(Container &c) FL_NO_EXCEPT
Helper function to create a back_insert_iterator.
Definition iterator.h:139
void encodeWS2812_RGBWW(InputIterator first, InputIterator last, OutputIterator out) FL_NO_EXCEPT
Encode 5-byte pixel data in WS2812 format (issue #2558, RGBWW).
Definition ws2812.h:86
void encodeWS2812_RGBW(InputIterator first, InputIterator last, OutputIterator out) FL_NO_EXCEPT
Encode 4-byte pixel data in WS2812 format.
Definition ws2812.h:53
pair< detail::ScaledPixelIteratorRGBW, detail::ScaledPixelIteratorRGBW > makeScaledPixelRangeRGBW(PixelIterator *pixels) FL_NO_EXCEPT
Create RGBW input iterator range from PixelIterator.
void encodeWS2812_RGB(InputIterator first, InputIterator last, OutputIterator out) FL_NO_EXCEPT
Encode 3-byte pixel data in WS2812 format.
Definition ws2812.h:35
pair< detail::ScaledPixelIteratorRGB, detail::ScaledPixelIteratorRGB > makeScaledPixelRangeRGB(PixelIterator *pixels) FL_NO_EXCEPT
Create RGB input iterator range from PixelIterator.
pair< detail::ScaledPixelIteratorRGBWW, detail::ScaledPixelIteratorRGBWW > makeScaledPixelRangeRGBWW(PixelIterator *pixels) FL_NO_EXCEPT
Create RGBWW input iterator range from PixelIterator (issue #2558)

References fl::back_inserter(), fl::encodeWS2812_RGB(), fl::encodeWS2812_RGBW(), fl::encodeWS2812_RGBWW(), fl::FL_NO_EXCEPT, fl::makeScaledPixelRangeRGB(), fl::makeScaledPixelRangeRGBW(), fl::makeScaledPixelRangeRGBWW(), mRgbw, and mRgbww.

+ Here is the call graph for this function: