FastLED 3.9.15
Loading...
Searching...
No Matches
canvas.h File Reference

Detailed Description

Canvas types for gfx primitives (implementation)

Definition in file canvas.h.

#include "fl/math/alpha.h"
#include "fl/math/xymap.h"
#include "fl/gfx/draw_mode.h"
#include "fl/stl/int.h"
#include "fl/stl/span.h"
#include "fl/stl/variant.h"
#include "fl/stl/shared_ptr.h"
#include "fl/stl/noexcept.h"
+ Include dependency graph for canvas.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  fl::gfx::Canvas< RGB_T >
 Simple rectangular canvas for graphics operations Combines a pixel buffer with dimensions for cache-optimal drawing. More...
 
struct  fl::gfx::CanvasMapped< RGB_T >
 XYMap-backed canvas for non-rectangular or remapped layouts. More...
 

Namespaces

namespace  fl
 Base definition for an LED controller.
 
namespace  fl::gfx
 

Enumerations

enum class  fl::gfx::LineCap { fl::gfx::FLAT , fl::gfx::ROUND , fl::gfx::SQUARE }
 Line cap styles for stroke operations. More...
 

Functions

template<int hRadius, int vRadius, typename RGB_T>
void fl::gfx::blurGaussian (Canvas< RGB_T > &canvas) FL_NOEXCEPT
 Convenience overload with no dimming.
 
template<int hRadius, int vRadius, typename RGB_T>
void fl::gfx::blurGaussian (Canvas< RGB_T > &canvas, alpha16 dimFactor) FL_NOEXCEPT
 Higher-precision dim overload (UNORM16).
 
template<int hRadius, int vRadius, typename RGB_T>
void fl::gfx::blurGaussian (Canvas< RGB_T > &canvas, alpha8 dimFactor) FL_NOEXCEPT
 Compile-time Gaussian blur with independent H/V radii.
 
template<int hRadius, int vRadius, typename RGB_T>
void fl::gfx::blurGaussian (CanvasMapped< RGB_T > &canvas) FL_NOEXCEPT
 
template<int hRadius, int vRadius, typename RGB_T>
void fl::gfx::blurGaussian (CanvasMapped< RGB_T > &canvas, alpha16 dimFactor) FL_NOEXCEPT
 Higher-precision dim overload for CanvasMapped (UNORM16).
 
template<int hRadius, int vRadius, typename RGB_T>
void fl::gfx::blurGaussian (CanvasMapped< RGB_T > &canvas, alpha8 dimFactor) FL_NOEXCEPT
 XYMap-backed Gaussian blur (non-optimized, per-pixel path).
 
template<typename PixelT, typename Coord>
void fl::gfx::drawDisc (Canvas< PixelT > &canvas, const PixelT &color, Coord cx, Coord cy, Coord r, fl::DrawMode mode=fl::DrawMode::DRAW_MODE_BLEND) FL_NOEXCEPT
 
template<typename PixelT, typename Coord>
void fl::gfx::drawLine (Canvas< PixelT > &canvas, const PixelT &color, Coord x0, Coord y0, Coord x1, Coord y1, fl::DrawMode mode)
 ============================================================================
 
template<typename PixelT, typename Coord>
void fl::gfx::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
 
template<typename PixelT, typename Coord>
void fl::gfx::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