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