33#define FASTLED_SCALE_UP_ALWAYS_POWER_OF_2 0
38#define FASTLED_SCALE_UP_HIGH_PRECISION 1
44#define FASTLED_SCALE_UP_DECIDE_AT_RUNTIME 2
49#define FASTLED_SCALE_UP_FORCE_FLOATING_POINT 3
53#ifndef FASTLED_SCALE_UP
54#define FASTLED_SCALE_UP FASTLED_SCALE_UP_DECIDE_AT_RUNTIME
Fx2d(const XYMap &xyMap) FL_NO_EXCEPT
ScaleUp(const XYMap &xymap, Fx2dPtr fx) FL_NO_EXCEPT
Construct a ScaleUp effect wrapper.
void noExpand(fl::span< const CRGB > input, fl::span< CRGB > output, u16 width, u16 height) FL_NO_EXCEPT
Direct copy without expansion (used when resolutions match)
void draw(DrawContext context) FL_NO_EXCEPT override
Render the effect by drawing delegate at low-res and scaling up.
fl::vector_psram< CRGB > mSurface
Low-resolution render buffer.
Fx2dPtr mDelegate
The wrapped effect that renders at low resolution.
void expand(fl::span< const CRGB > input, fl::span< CRGB > output, u16 width, u16 height, const XYMap &mXyMap) FL_NO_EXCEPT
Expand a low-resolution buffer to high-resolution using bilinear interpolation.
fl::string fxName() const FL_NO_EXCEPT override
Effect wrapper that upscales delegate effects using bilinear interpolation.
u8 u8 fract8 blur_amount FL_NO_EXCEPT
Base definition for an LED controller.
#define FASTLED_SHARED_PTR(type)