45 static XYPathPtr
NewLinePath(
float x0,
float y0,
float x1,
float y1);
51 uint16_t width = 0, uint16_t height = 0,
62 static XYPathPtr
NewCirclePath(uint16_t width, uint16_t height);
64 static XYPathPtr
NewHeartPath(uint16_t width, uint16_t height);
69 NewRosePath(uint16_t width = 0, uint16_t height = 0,
73 uint16_t width = 0, uint16_t height = 0,
77 uint16_t width = 0, uint16_t height = 0,
92 XYPath(XYPathGeneratorPtr path,
UISlider scale("Scale", 1.0f, 0.0f, 1.0f, 0.01f)
XYRaster raster(WIDTH, HEIGHT)
fl::function< uint8_t(float)> AlphaFunction
static XYPathPtr NewGielisCurvePath(uint16_t width=0, uint16_t height=0, const Ptr< GielisCurveParams > ¶ms=NewPtr< GielisCurveParams >())
int calculateSteps(float from, float to)
void drawColor(const CRGB &color, float from, float to, Leds *leds, int steps=-1)
static XYPathPtr NewCustomPath(const fl::function< vec2f(float)> &path, const rect< int > &drawbounds=rect< int >(), const TransformFloat &transform=TransformFloat(), const Str &name=xypath_detail::unique_missing_name())
static XYPathPtr NewHeartPath()
fl::pair< vec2f, uint8_t > xy_brightness
static XYPathPtr NewArchimedeanSpiralPath()
xy_brightness at_brightness(float alpha)
Tile2x2_u8 at_subpixel(float alpha)
void setScale(float scale)
scoped_ptr< XYRasterU8Sparse > mOptionalRaster
static XYPathPtr NewCatmullRomPath(uint16_t width=0, uint16_t height=0, const Ptr< CatmullRomParams > ¶ms=NewPtr< CatmullRomParams >())
static XYPathPtr NewPointPath(float x, float y)
bool hasDrawBounds() const
void setDrawBounds(uint16_t width, uint16_t height)
void drawGradient(const Gradient &gradient, float from, float to, Leds *leds, int steps=-1)
void setTransform(const TransformFloat &transform)
static XYPathPtr NewLinePath(float x0, float y0, float x1, float y1)
XYPathRendererPtr mPathRenderer
static XYPathPtr NewPhyllotaxisPath(uint16_t width=0, uint16_t height=0, const Ptr< PhyllotaxisParams > &args=NewPtr< PhyllotaxisParams >())
XYPath(XYPathGeneratorPtr path, TransformFloat transform=TransformFloat())
static XYPathPtr NewRosePath(uint16_t width=0, uint16_t height=0, const Ptr< RosePathParams > ¶ms=NewPtr< RosePathParams >())
void rasterize(float from, float to, int steps, XYRasterU8Sparse &raster, AlphaFunction *optional_alpha_gen=nullptr)
static XYPathPtr NewCirclePath()
TransformFloat & transform()
void setDrawBounds(const fl::rect< int > &bounds)
void setName(const Str &name)
fl::function< vec2f(float)> mFunction
vec2f compute(float alpha) override
fl::rect< int > mDrawBounds
const Str name() const override
XYPathFunction(fl::function< vec2f(float)> f)
bool hasDrawBounds(fl::rect< int > *bounds) override
fl::rect< int > drawBounds() const
fl::Str unique_missing_name(const fl::Str &prefix)
Ptr< T > NewPtr(Args... args)
Implements a simple red square effect for 2D LED grids.
static FASTLED_NAMESPACE_BEGIN uint8_t const p[]
#define FASTLED_SMART_PTR(type)
Representation of an RGB pixel (Red, Green, Blue)