18#define ANIMARTRIX_INTERNAL
80class FastLEDANIMartRIX;
86 mXyMap.convertToLookUpTable();
94 Str fxName()
const override {
return "Animartrix:"; }
135 uint16_t
xyMap(uint16_t
x, uint16_t
y)
override {
166 self.
impl->setTime(now);
244 if (entry.anim ==
data->current_animation) {
245 (this->*entry.func)();
250 FASTLED_DBG(
"Animation not found for " <<
int(
data->current_animation));
255 if (entry.anim == animation) {
259 FASTLED_DBG(
"Animation not found for " <<
int(animation));
266 this->
leds =
nullptr;
XYMap xyMap(WIDTH, HEIGHT, false)
void Module_Experiment1()
void Module_Experiment4()
void Module_Experiment9()
void Module_Experiment8()
void Module_Experiment2()
void Module_Experiment10()
void Module_Experiment7()
void Module_Experiment5()
void Module_Experiment3()
void Distance_Experiment()
void Module_Experiment6()
Animartrix(const Animartrix &)=delete
void draw(DrawContext context) override
friend void AnimartrixLoop(Animartrix &self, uint32_t now)
Animartrix(XYMap xyMap, AnimartrixAnim which_animation)
Str fxName() const override
AnimartrixAnim current_animation
friend class FastLEDANIMartRIX
AnimartrixAnim prev_animation
fl::scoped_ptr< FastLEDANIMartRIX > impl
static const char * getAnimationName(AnimartrixAnim animation)
void setPixelColor(int x, int y, CRGB pixel)
uint16_t xyMap(uint16_t x, uint16_t y) override
FastLEDANIMartRIX(Animartrix *_data)
void setPixelColorInternal(int x, int y, animartrix_detail::rgb pixel) override
uint16_t xyMap(uint16_t x, uint16_t y) const
uint16_t getHeight() const
uint16_t getWidth() const
Defines the red, green, and blue (RGB) pixel struct.
Implements the FastLED namespace macros.
static const AnimartrixEntry ANIMATION_TABLE[]
void AnimartrixLoop(Animartrix &self, uint32_t now)
Implements a simple red square effect for 2D LED grids.
void(FastLEDANIMartRIX::* func)()
################################################## Details with the implementation of Animartrix
#define FASTLED_SMART_PTR(type)
Representation of an RGB pixel (Red, Green, Blue)