Added effect diamond.
This commit is contained in:
parent
caa86551a0
commit
075823220a
11
include/effect_diamond.h
Normal file
11
include/effect_diamond.h
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "Effect.h"
|
||||||
|
|
||||||
|
class DiamondEffect : public Effect {
|
||||||
|
private:
|
||||||
|
Window* window = &Window::window_with_clock;
|
||||||
|
public:
|
||||||
|
void loop(uint16_t ms) override;
|
||||||
|
bool can_be_shown_with_clock() override;
|
||||||
|
String get_name() override { return "diamond"; }
|
||||||
|
};
|
14
src/effect_diamond.cpp
Normal file
14
src/effect_diamond.cpp
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#include "effect_diamond.h"
|
||||||
|
#include "my_fastled.h"
|
||||||
|
|
||||||
|
void DiamondEffect::loop(uint16_t ms) {
|
||||||
|
for (int x=0; x<window->width; x++) {
|
||||||
|
for (int y=0; y<window->height; y++) {
|
||||||
|
uint8_t distance = abs(window->height/2 - y) + abs(window->width/2 - x);
|
||||||
|
CRGB col = CHSV(distance*8 - (millis()>>5)%255, 255, 255);
|
||||||
|
window->setPixel(x, y, &col);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool DiamondEffect::can_be_shown_with_clock() { return true; }
|
@ -24,6 +24,7 @@
|
|||||||
#include "effect_blur2d.h"
|
#include "effect_blur2d.h"
|
||||||
#include "effect_tv_static.h"
|
#include "effect_tv_static.h"
|
||||||
#include "effect_lightspeed.h"
|
#include "effect_lightspeed.h"
|
||||||
|
#include "effect_diamond.h"
|
||||||
|
|
||||||
Effect* current_effect;
|
Effect* current_effect;
|
||||||
|
|
||||||
@ -64,8 +65,9 @@ EffectEntry effects[] = {
|
|||||||
/* 29 */ {"koopa", 0, [](){ return new AnimationEffect("/koopa.pia"); }},
|
/* 29 */ {"koopa", 0, [](){ return new AnimationEffect("/koopa.pia"); }},
|
||||||
/* 30 */ {"cake", 0, [](){ return new AnimationEffect("/cake.pia"); }},
|
/* 30 */ {"cake", 0, [](){ return new AnimationEffect("/cake.pia"); }},
|
||||||
/* 31 */ {"kid", 0, [](){ return new AnimationEffect("/kid.pia"); }},
|
/* 31 */ {"kid", 0, [](){ return new AnimationEffect("/kid.pia"); }},
|
||||||
|
/* 32 */ {"diamond", true, [](){ return new DiamondEffect(); }},
|
||||||
};
|
};
|
||||||
const uint8_t effects_size = 32;
|
const uint8_t effects_size = 33;
|
||||||
|
|
||||||
|
|
||||||
Effect* select_effect(const char* name) {
|
Effect* select_effect(const char* name) {
|
||||||
|
Loading…
Reference in New Issue
Block a user