22template<
typename RGB_T>
struct Canvas;
23template<
typename RGB_T>
struct CanvasMapped;
26template<
int hRadius,
int vRadius,
typename RGB_T>
29template<
int hRadius,
int vRadius,
typename RGB_T>
32template<
int hRadius,
int vRadius,
typename RGB_T>
36template<
int hRadius,
int vRadius,
typename RGB_T>
39template<
int hRadius,
int vRadius,
typename RGB_T>
42template<
int hRadius,
int vRadius,
typename RGB_T>
47template<
typename PixelT,
typename Coord>
51template<
typename PixelT,
typename Coord>
55template<
typename PixelT,
typename Coord>
59template<
typename PixelT,
typename Coord>
65template<
typename RGB_T>
86 template<
int hRadius,
int vRadius>
91 template<
int hRadius,
int vRadius>
96 template<
int hRadius,
int vRadius>
101 template<
typename Coord>
102 inline void drawLine(
const RGB_T& color, Coord x0, Coord y0, Coord x1, Coord y1,
107 template<
typename Coord>
108 inline void drawDisc(
const RGB_T& color, Coord cx, Coord cy, Coord r,
113 template<
typename Coord>
114 inline void drawRing(
const RGB_T& color, Coord cx, Coord cy, Coord r, Coord thickness,
119 template<
typename Coord>
120 inline void drawStrokeLine(
const RGB_T& color, Coord x0, Coord y0, Coord x1, Coord y1, Coord thickness,
129template<
typename RGB_T>
145 template<
int hRadius,
int vRadius>
150 template<
int hRadius,
int vRadius>
155 template<
int hRadius,
int vRadius>
Unsigned alpha types with UNORM semantics (GPU industry standard).
Generic canvas for any pixel type (e.g.
void drawLine(Canvas< PixelT > &canvas, const PixelT &color, Coord x0, Coord y0, Coord x1, Coord y1, fl::DrawMode mode=fl::DrawMode::DRAW_MODE_BLEND) FL_NOEXCEPT
============================================================================
void blurGaussian(Canvas< RGB_T > &canvas, alpha8 dimFactor)
Compile-time Gaussian blur with independent H/V radii.
LineCap
Line cap styles for stroke operations.
void drawDisc(Canvas< PixelT > &canvas, const PixelT &color, Coord cx, Coord cy, Coord r, fl::DrawMode mode=fl::DrawMode::DRAW_MODE_BLEND) FL_NOEXCEPT
void drawRing(Canvas< PixelT > &canvas, const PixelT &color, Coord cx, Coord cy, Coord r, Coord thickness, fl::DrawMode mode=fl::DrawMode::DRAW_MODE_BLEND) FL_NOEXCEPT
void drawStrokeLine(Canvas< PixelT > &canvas, const PixelT &color, Coord x0, Coord y0, Coord x1, Coord y1, Coord thickness, LineCap cap, fl::DrawMode mode=fl::DrawMode::DRAW_MODE_BLEND) FL_NOEXCEPT
MapRedBlackTree< Key, T, Compare, fl::allocator_slab< char > > map
gfx::LineCap LineCap
Line cap style.
Base definition for an LED controller.
Unsigned 16-bit alpha / brightness — UNORM16.
Unsigned 8-bit alpha / brightness — UNORM8.
RGB_T & at(int x, int y) FL_NOEXCEPT
void blurGaussian() FL_NOEXCEPT
int size() const FL_NOEXCEPT
fl::variant< fl::span< RGB_T >, fl::shared_ptr< RGB_T > > ownership
void drawRing(const RGB_T &color, Coord cx, Coord cy, Coord r, Coord thickness, fl::DrawMode mode=fl::DrawMode::DRAW_MODE_BLEND) FL_NOEXCEPT
void drawLine(const RGB_T &color, Coord x0, Coord y0, Coord x1, Coord y1, fl::DrawMode mode=fl::DrawMode::DRAW_MODE_BLEND) FL_NOEXCEPT
Canvas(fl::span< RGB_T > buf, int w, int h) FL_NOEXCEPT
bool has(int x, int y) const FL_NOEXCEPT
void blurGaussian(fl::alpha16 dimFactor) FL_NOEXCEPT
Canvas(fl::shared_ptr< RGB_T > ptr, int w, int h) FL_NOEXCEPT
void drawStrokeLine(const RGB_T &color, Coord x0, Coord y0, Coord x1, Coord y1, Coord thickness, LineCap cap=LineCap::FLAT, fl::DrawMode mode=fl::DrawMode::DRAW_MODE_BLEND) FL_NOEXCEPT
void drawDisc(const RGB_T &color, Coord cx, Coord cy, Coord r, fl::DrawMode mode=fl::DrawMode::DRAW_MODE_BLEND) FL_NOEXCEPT
const RGB_T & at(int x, int y) const FL_NOEXCEPT
void blurGaussian(fl::alpha8 dimFactor) FL_NOEXCEPT
void blurGaussian(fl::alpha16 dimFactor) FL_NOEXCEPT
void blurGaussian(fl::alpha8 dimFactor) FL_NOEXCEPT
const RGB_T & at(int x, int y) const FL_NOEXCEPT
bool has(int x, int y) const FL_NOEXCEPT
int size() const FL_NOEXCEPT
void blurGaussian() FL_NOEXCEPT
CanvasMapped(fl::span< RGB_T > buf, const XYMap &map) FL_NOEXCEPT
RGB_T & at(int x, int y) FL_NOEXCEPT
XYMap-backed canvas for non-rectangular or remapped layouts.