25 for (
size_t i = 0; i <
mLayers.size(); ++i) {
43 Fx2dPtr fx = Fx2dPtr::NoTracking(layer);
62 uint8_t blur_amount = it->blur_amount;
63 if (blur_amount > 0) {
65 uint8_t blur_passes =
MAX(1, it->blur_passes);
66 for (uint8_t i = 0; i < blur_passes; ++i) {
77 uint16_t width =
mXyMap.getWidth();
78 uint16_t height =
mXyMap.getHeight();
82 for (uint8_t i = 0; i < blur_passes; ++i) {
98 uint8_t blur_amount =
p.blur_amount;
99 uint8_t blur_passes =
p.blur_passes;
101 if (layer.fx == fx) {
102 layer.blur_amount = blur_amount;
103 layer.blur_passes = blur_passes;
108 FASTLED_WARN(
"Fx2d not found in Blend2d::setBlurParams");
114 Fx2dPtr fxPtr = Fx2dPtr::NoTracking(fx);
XYMap xymap(WIDTH, HEIGHT, SERPENTINE)
UISlider blurAmount("Global Blur Amount", 0, 0, 172, 1)
UISlider blurPasses("Global Blur Passes", 1, 1, 10, 1)
uint8_t mGlobalBlurPasses
fl::Str fxName() const override
Blend2d(const XYMap &xymap)
void add(Fx2dPtr layer, const Params &p=Params())
uint8_t mGlobalBlurAmount
bool setParams(Fx2dPtr fx, const Params &p)
HeapVector< Entry > mLayers
void draw(DrawContext context) override
uint16_t xyMap(uint16_t x, uint16_t y) const
static XYMap constructRectangularGrid(uint16_t width, uint16_t height, uint16_t offset=0)
Utility functions for color fill, palettes, blending, and more.
void blur2d(CRGB *leds, uint8_t width, uint8_t height, fract8 blur_amount, const XYMap &xymap)
Two-dimensional blur filter.
@ DRAW_MODE_BLEND_BY_BLACK
Implements a simple red square effect for 2D LED grids.
static FASTLED_NAMESPACE_BEGIN uint8_t const p[]
Declares classes for managing logical groups of LEDs.
Representation of an RGB pixel (Red, Green, Blue)