20#define ANIMARTRIX_INTERNAL
84class FastLEDANIMartRIX;
90 mXyMap.convertToLookUpTable();
98 Str fxName()
const override {
return "Animartrix:"; }
142 uint16_t
xyMap(uint16_t
x, uint16_t
y)
override {
173 self.
impl->setTime(now);
258 if (entry.anim ==
data->current_animation) {
259 (this->*entry.func)();
264 FASTLED_DBG(
"Animation not found for " <<
int(
data->current_animation));
269 if (entry.anim == animation) {
273 FASTLED_DBG(
"Animation not found for " <<
int(animation));
281 for (
int i = 0; i <
mXyMap.getTotal(); ++i) {
286 pixel =
CRGB(pixel.raw[b0_index], pixel.raw[b1_index],
287 pixel.raw[b2_index]);
291 this->
leds =
nullptr;
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
static const char * getAnimartrixName(AnimartrixAnim animation)
void draw(DrawContext context) override
friend void AnimartrixLoop(Animartrix &self, fl::u32 now)
void setColorOrder(EOrder order)
Animartrix(const XYMap &xyMap, AnimartrixAnim which_animation)
Str fxName() const override
AnimartrixAnim current_animation
friend class FastLEDANIMartRIX
AnimartrixAnim prev_animation
fl::unique_ptr< FastLEDANIMartRIX > impl
EOrder getColorOrder() const
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.
fl::string getAnimartrixName(int animation)
static const AnimartrixEntry ANIMATION_TABLE[]
void AnimartrixLoop(Animartrix &self, fl::u32 now)
EOrder
RGB color channel orderings, used when instantiating controllers to determine what order the controll...
@ RGB
Red, Green, Blue (0012)
void(FastLEDANIMartRIX::* func)()
################################################## Details with the implementation of Animartrix
#define RGB_BYTE2(RO)
Gets the color channel for byte 2.
#define RGB_BYTE1(RO)
Gets the color channel for byte 1.
#define RGB_BYTE0(RO)
Gets the color channel for byte 0.
Low level pixel data writing class.
#define FASTLED_SMART_PTR(type)
Representation of an RGB pixel (Red, Green, Blue)