28 for (
size_t i = 0; i <
mLayers.size(); ++i) {
39 if (!layer->getXYMap().isRectangularGrid()) {
40 if (!
getXYMap().isRectangularGrid()) {
41 FL_WARN(
"Blend2d has a xymap, but so does the Sub layer " << layer->fxName() <<
", the sub layer will have it's map replaced with a rectangular map, to avoid double transformation.");
47 Entry entry(layer, blurAmount, blurPasses);
74 u8 blur_passes =
fl::max(1, it->blur_passes);
75 for (
u8 i = 0; i < blur_passes; ++i) {
91 for (
u8 i = 0; i < blur_passes; ++i) {
110 if (layer.fx == fx) {
112 layer.blur_passes = blur_passes;
117 FL_WARN(
"Fx2d not found in Blend2d::setBlurParams");
fl::shared_ptr< Frame > mFrameTransform
fl::string fxName() const override
Blend2d(const XYMap &xymap)
void add(Fx2dPtr layer, const Params &p=Params())
bool setParams(Fx2dPtr fx, const Params &p)
fl::shared_ptr< Frame > mFrame
void draw(DrawContext context) override
u16 xyMap(u16 x, u16 y) const
static XYMap constructRectangularGrid(u16 width, u16 height, u16 offset=0) FL_NOEXCEPT
Centralized logging categories for FastLED hardware interfaces and subsystems.
constexpr common_type_t< T, U > max(T a, U b) FL_NOEXCEPT
shared_ptr< T > make_shared_no_tracking(T &obj) FL_NOEXCEPT
shared_ptr< T > make_shared(Args &&... args) FL_NOEXCEPT
@ DRAW_MODE_BLEND_BY_MAX_BRIGHTNESS
void blur2d(fl::span< CRGB > leds, u8 width, u8 height, fract8 blur_amount, const XYMap &xymap) FL_NOEXCEPT
Base definition for an LED controller.