50template<
typename RGB_T>
63 template<
int hRadius,
int vRadius>
68 template<
int hRadius,
int vRadius>
73 template<
int hRadius,
int vRadius>
78 template<
typename Coord>
81 mImpl.drawLine(color, x0, y0, x1, y1, mode);
84 template<
typename Coord>
87 mImpl.drawDisc(color, cx, cy, r, mode);
90 template<
typename Coord>
93 mImpl.drawRing(color, cx, cy, r, thickness, mode);
96 template<
typename Coord>
98 Coord thickness,
LineCap cap = LineCap::FLAT,
100 mImpl.drawStrokeLine(color, x0, y0, x1, y1, thickness, cap, mode);
Canvas types for gfx primitives (implementation)
FASTLED_FORCE_INLINE bool has(int x, int y) const
FASTLED_FORCE_INLINE int size() const
FASTLED_FORCE_INLINE const RGB_T & at(int x, int y) const
FASTLED_FORCE_INLINE void drawDisc(const RGB_T &color, Coord cx, Coord cy, Coord r, DrawMode mode=DrawMode::DRAW_MODE_BLEND)
FASTLED_FORCE_INLINE void drawRing(const RGB_T &color, Coord cx, Coord cy, Coord r, Coord thickness, DrawMode mode=DrawMode::DRAW_MODE_BLEND)
FASTLED_FORCE_INLINE void drawLine(const RGB_T &color, Coord x0, Coord y0, Coord x1, Coord y1, DrawMode mode=DrawMode::DRAW_MODE_BLEND)
FASTLED_FORCE_INLINE Canvas(fl::span< RGB_T > buf, int w, int h)
FASTLED_FORCE_INLINE void blurGaussian()
FASTLED_FORCE_INLINE RGB_T & at(int x, int y)
FASTLED_FORCE_INLINE Canvas(fl::shared_ptr< RGB_T > ptr, int w, int h)
FASTLED_FORCE_INLINE void drawStrokeLine(const RGB_T &color, Coord x0, Coord y0, Coord x1, Coord y1, Coord thickness, LineCap cap=LineCap::FLAT, DrawMode mode=DrawMode::DRAW_MODE_BLEND)
gfx::Canvas< RGB_T > mImpl
FASTLED_FORCE_INLINE void blurGaussian(alpha8 dimFactor)
FASTLED_FORCE_INLINE void blurGaussian(alpha16 dimFactor)
Convenience alias for CRGB canvas — use fl::CanvasRGB for no-template syntax.
Defines the 8-bit red, green, and blue (RGB) pixel type in the fl namespace.
LineCap
Line cap styles for stroke operations.
gfx::LineCap LineCap
Line cap style.
Base definition for an LED controller.
#define FASTLED_FORCE_INLINE
Representation of an 8-bit RGB pixel (Red, Green, Blue)
Unsigned 16-bit alpha / brightness — UNORM16.
Unsigned 8-bit alpha / brightness — UNORM8.
Simple rectangular canvas for graphics operations Combines a pixel buffer with dimensions for cache-o...