29 for (
size_t i = 0; i <
mLayers.size(); ++i) {
40 if (!layer->getXYMap().isRectangularGrid()) {
41 if (!
getXYMap().isRectangularGrid()) {
42 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.");
46 u8 blurAmount = p.blur_amount;
47 u8 blurPasses = p.blur_passes;
48 Entry entry(layer, blurAmount, blurPasses);
72 u8 blur_amount = it->blur_amount;
73 if (blur_amount > 0) {
75 u8 blur_passes =
fl::max(1, it->blur_passes);
76 for (
u8 i = 0; i < blur_passes; ++i) {
92 for (
u8 i = 0; i < blur_passes; ++i) {
108 u8 blur_amount = p.blur_amount;
109 u8 blur_passes = p.blur_passes;
111 if (layer.fx == fx) {
112 layer.blur_amount = blur_amount;
113 layer.blur_passes = blur_passes;
118 FL_WARN(
"Fx2d not found in Blend2d::setBlurParams");
fl::string fxName() const FL_NO_EXCEPT override
void add(Fx2dPtr layer, const Params &p=Params()) FL_NO_EXCEPT
void draw(DrawContext context) FL_NO_EXCEPT override
fl::shared_ptr< Frame > mFrameTransform
void clear() FL_NO_EXCEPT
bool setParams(Fx2dPtr fx, const Params &p) FL_NO_EXCEPT
fl::shared_ptr< Frame > mFrame
Blend2d(const XYMap &xymap) FL_NO_EXCEPT
XYMap & getXYMap() FL_NO_EXCEPT
u16 xyMap(u16 x, u16 y) const FL_NO_EXCEPT
Fx2d(const XYMap &xyMap) FL_NO_EXCEPT
static XYMap constructRectangularGrid(u16 width, u16 height, u16 offset=0) FL_NO_EXCEPT
Centralized logging categories for FastLED hardware interfaces and subsystems.
shared_ptr< T > make_shared(Args &&... args) FL_NO_EXCEPT
constexpr common_type_t< T, U > max(T a, U b) FL_NO_EXCEPT
u8 u8 fract8 blur_amount FL_NO_EXCEPT
void blur2d(fl::span< CRGB > leds, u8 width, u8 height, fract8 blur_amount, const XYMap &xymap) FL_NO_EXCEPT
@ DRAW_MODE_BLEND_BY_MAX_BRIGHTNESS
float add(float &a, float &b) FL_NO_EXCEPT
shared_ptr< T > make_shared_no_tracking(T &obj) FL_NO_EXCEPT
Base definition for an LED controller.