FastLED 3.10.6
Loading...
Searching...
No Matches

◆ writeWS2812()

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

Definition at line 359 of file pixel_iterator.h.

359 {
360 auto back_ins = fl::back_inserter(*out);
361 // (#2558) Dispatch order: RGBWW > RGBW > RGB. The variant migration
362 // makes these mutually exclusive — at most one alternative is active.
363 if (mRgbww.active()) {
364 auto range = makeScaledPixelRangeRGBWW(this);
365 encodeWS2812_RGBWW(range.first, range.second, back_ins);
366 } else if (mRgbw.active()) {
367 auto range = makeScaledPixelRangeRGBW(this);
368 encodeWS2812_RGBW(range.first, range.second, back_ins);
369 } else {
370 auto range = makeScaledPixelRangeRGB(this);
371 encodeWS2812_RGB(range.first, range.second, back_ins);
372 }
373 }
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: