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

◆ makeColorPipelineIterator()

PixelIterator * fl::anonymous_namespace{pipeline_binding.cpp.hpp}::makeColorPipelineIterator ( void * source_storage,
void * iterator_storage,
PixelController< RGB, 1, 0xFFFFFFFF > & controller,
EOrder order,
ColorPipelineFrameRef pipeline,
const Rgbw & rgbw,
Rgbww rgbww,
u8 dither_phase,
u8 brightness )

Builds the managed iterator in the caller's storage.

Named for this file because .cpp.hpp files share a translation unit under the unity build, so an anonymous namespace does not isolate it.

Definition at line 86 of file pipeline_binding.cpp.hpp.

90 {
91 ColorManagedPixelSource* source = new (source_storage)
92 ColorManagedPixelSource(controller, order, pipeline, dither_phase);
93#if FL_COLOR_PIPELINE_SHARED
94 const PowerFrameHooks& hooks = powerFrameHooks();
95 if (hooks.frameFluxActive) {
97 static_cast<i32>(hooks.frameFluxQ16)));
98 } else
99#endif
100 {
101 source->setFlux(brightness);
102 }
103 return new (iterator_storage) PixelIterator(source, rgbw, rgbww);
104}
fl::UISlider brightness("Brightness", BRIGHTNESS, 0, 255)
CLEDController * controller
Rgbw rgbw
void setFlux(u8 brightness) FL_NO_EXCEPT
Frame-local brightness is applied to the source's owned pipeline on shared tiers; only managed iterat...
Runs processPixelQ16 over a PixelController's pixels as they are read.
static FluxScalar fromRawQ16(i32 raw) FL_NO_EXCEPT
A limiter fraction already in s16.16, clamped to [0, 1].
fl::PixelIterator PixelIterator

References brightness, controller, fl::FL_NO_EXCEPT, fl::FluxScalar::fromRawQ16(), makeColorPipelineIterator(), rgbw, and fl::ColorManagedPixelSource::setFlux().

Referenced by makeColorPipelineIterator().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: