934 {
935
936
937
938
939#if FL_COLOR_PROFILE_RUNTIME
940
941
942
943
944
945
946
947
948
949
950
951
952
953#if FL_COLOR_PIPELINE_SHARED
954 const ColorPipelineStorage pipeline_ref = mPipeline;
955 const StreamingPipelineQ16* pipeline = pipeline_ref.get();
956#else
957 StreamingPipelineQ16* pipeline = mPipeline.get();
958#endif
959#else
960 StreamingPipelineQ16* pipeline = nullptr;
961#endif
962
963
964
965
966
969 }
970#ifdef FL_IS_AVR
971
973#else
975#endif
977 whiteSettings.rgbw(), whiteSettings.rgbww(),
981
982
984 data.clear();
985 const auto* rgbww = whiteSettings.mWhiteCfg.ptr<Rgbww>();
986 const auto*
rgbw = whiteSettings.mWhiteCfg.ptr<Rgbw>();
987 if (rgbww != nullptr && rgbww->active()) {
991 } else {
993 }
994
996 mPixelEncoder(*
this, pixelIterator, iterator.isManaged(), data);
997 }
998
999
1000 {
1003 }
1004}
LegacySettings mLegacySettings
PixelEncoder mPixelEncoder
u8 mDitherPhase
This channel's temporal-dither phase.
ChannelDataPtr mChannelData
const XYMap * getXYMap() const FL_NO_EXCEPT
Get the source XYMap as a raw const pointer.
fl::PixelIterator PixelIterator
ColorAdjustment mColorAdjustment
void reseed_binary_dithering(fl::u8 R) FL_NO_EXCEPT
Re-point binary dithering at phase R after construction, leaving the per-channel ranges e[] as init_b...
FASTLED_FORCE_INLINE bool ditherActive() const FL_NO_EXCEPT
Is temporal dithering on for this frame? (any channel has a range)
static ChannelEvents & instance() FL_NO_EXCEPT
FASTLED_FORCE_INLINE bool active() const FL_NO_EXCEPT