2019-09-25 04:26:27 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "prototypes.h"
|
|
|
|
#include "functions.h"
|
|
|
|
#include "Effect.h"
|
|
|
|
|
2019-10-23 03:40:44 +00:00
|
|
|
class Blur2DBlob {
|
|
|
|
private:
|
|
|
|
accum88 _x_freq;
|
|
|
|
accum88 _y_freq;
|
|
|
|
uint8_t _color_freq;
|
|
|
|
public:
|
|
|
|
Blur2DBlob();
|
|
|
|
void render(Window* win);
|
|
|
|
};
|
|
|
|
|
2019-09-25 04:26:27 +00:00
|
|
|
class Blur2DEffect : public Effect {
|
|
|
|
private:
|
|
|
|
Window* window = new Window(0, 0, LED_WIDTH, LED_HEIGHT-6);
|
2019-10-23 03:40:44 +00:00
|
|
|
uint8_t _count;
|
|
|
|
Blur2DBlob* _blobs;
|
2019-09-25 04:26:27 +00:00
|
|
|
public:
|
2019-10-23 03:40:44 +00:00
|
|
|
Blur2DEffect();
|
2019-09-25 04:26:27 +00:00
|
|
|
~Blur2DEffect();
|
2019-10-23 03:40:44 +00:00
|
|
|
void _init();
|
|
|
|
void _delete();
|
2019-09-25 04:26:27 +00:00
|
|
|
boolean supports_window = true;
|
|
|
|
boolean can_be_shown_with_clock();
|
2019-10-01 04:29:32 +00:00
|
|
|
void loop(uint16_t ms);
|
2019-09-25 16:11:03 +00:00
|
|
|
String get_name() override { return "blur2d"; }
|
2019-09-25 04:26:27 +00:00
|
|
|
};
|
|
|
|
|