69 template <
typename XYVisitor>
71 for (u16
x = 0;
x < 2; ++
x) {
72 for (u16
y = 0;
y < 2; ++
y) {
77 if (
xymap.has(xx, yy)) {
79 u16 ux =
static_cast<u16
>(xx);
80 u16 uy =
static_cast<u16
>(yy);
81 int index =
xymap.mapToIndex(ux, uy);
83 u32 uindex =
static_cast<u32
>(index);
85 visitor.draw(pt, uindex, value);
XYMap xymap(WIDTH, HEIGHT, SERPENTINE)
fl::pair< vec2< u16 >, u8 > Entry
static vector_fixed< Tile2x2_u8_wrap, 2 > Interpolate(const Tile2x2_u8_wrap &a, const Tile2x2_u8_wrap &b, float t)
const u8 & at(int x, int y) const
static Tile2x2_u8 MaxTile(const Tile2x2_u8 &a, const Tile2x2_u8 &b)
const u8 & upper_left() const
Tile2x2_u8(const Tile2x2_u8 &)=default
const u8 & lower_right() const
Tile2x2_u8(const vec2< u16 > &origin)
static void Rasterize(const span< const Tile2x2_u8 > &tiles, XYRasterU8Sparse *output)
void setOrigin(u16 x, u16 y)
const u8 & upper_right() const
void draw(const CRGB &color, const XYMap &xymap, CRGB *out) const
Tile2x2_u8(Tile2x2_u8 &&)=default
u8 & operator()(int x, int y)
Tile2x2_u8 & operator=(const Tile2x2_u8 &)=default
const u8 & lower_left() const
vec2< u16 > origin() const
void draw(const XYMap &xymap, XYVisitor &visitor) const
rect< u16 > bounds() const
bounds => [begin_x, end_x) (where end_x is exclusive)
#define FASTLED_NAMESPACE_END
#define FASTLED_NAMESPACE_BEGIN
Implements the FastLED namespace macros.
FixedVector< T, INLINED_SIZE > vector_fixed
Representation of an RGB pixel (Red, Green, Blue)