#include "effect_dynamic.h" #include "functions.h" #include "config.h" SingleDynamicEffect::SingleDynamicEffect() { init(); } void SingleDynamicEffect::init() { for (int i=0; idraw(); } void SingleDynamicEffect::draw() { for (int x=0; xwidth; x++) for (int y=0; yheight; y++) { int index = y/2 * window->width/2 + x/2; window->setPixel(x, y, &tiles[index]); } } boolean SingleDynamicEffect::can_be_shown_with_clock() { return true; } void MultiDynamicEffect::loop() { EVERY_N_MILLISECONDS( EFFECT_MULTI_DYNAMIC_LOOP_TIME ) { for (int i=0; idraw(); } BigDynamicEffect::~BigDynamicEffect() { delete window; } void BigDynamicEffect::loop() { EVERY_N_MILLISECONDS( EFFECT_BIG_DYNAMIC_LOOP_TIME ) { uint8_t x = random8(0, window->width - EFFECT_BIG_DYNAMIC_SIZE + 1); uint8_t y = random8(0, window->height - EFFECT_BIG_DYNAMIC_SIZE + 1); CRGB color = CHSV(random8(), 255, 255); CRGB black(0x000000); for (uint8_t ix=0; ixsetPixel(x+ix, y+iy, &color); } /*for (uint8_t ix=0; ixsetPixel(x-1+ix, y-1, &black); window->setPixel(x-1+ix, y+EFFECT_BIG_DYNAMIC_SIZE+1, &black); } for (uint8_t iy=0; iysetPixel(x-1, y-1+iy, &black); window->setPixel(x+EFFECT_BIG_DYNAMIC_SIZE+1, y-1+iy, &black); }*/ } } boolean BigDynamicEffect::can_be_shown_with_clock() { return true; }