2019-05-29 22:49:54 +00:00
|
|
|
#ifndef Effect_H
|
|
|
|
#define Effect_H
|
|
|
|
|
|
|
|
#include "prototypes.h"
|
|
|
|
#include "config.h"
|
|
|
|
#include <Arduino.h>
|
|
|
|
|
|
|
|
class Effect {
|
|
|
|
protected:
|
|
|
|
Window window = {0, 0, LED_WIDTH, LED_HEIGHT}; // Use a full screen window per default.
|
|
|
|
public:
|
|
|
|
virtual void loop() = 0;
|
|
|
|
boolean supports_window = false;
|
|
|
|
virtual boolean can_be_shown_with_clock() { return false; };
|
|
|
|
virtual boolean clock_as_mask() { return false; };
|
|
|
|
void setWindow(Window win) {
|
|
|
|
window = win;
|
|
|
|
};
|
2019-05-31 03:46:17 +00:00
|
|
|
virtual void start() {}
|
|
|
|
virtual void stop() {}
|
2019-05-29 22:49:54 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|