sTodo-m5paper-client/libraries/FastLED/examples/LuminescentGrand/shared/Painter.h
2025-06-30 20:47:33 +02:00

58 lines
1.9 KiB
C++

#ifndef PAINTER_H
#define PAINTER_H
#include "./Keyboard.h"
#include "./ApproximatingFunction.h"
#include "./util.h"
#include "./settings.h"
#include "./led_rope_interface.h"
struct Painter {
enum VisState {
kVUMidNote = 0,
kColumnNote,
kBlockNote,
kVUNote,
kVUSpaceInvaders,
kVegas,
kBrightSurprise,
kNumVisStates,
};
////////////////////////////////////////////////////
static void Paint(uint32_t now_ms,
uint32_t delta_ms,
VisState vis_state,
KeyboardState* keyboard,
LedRopeInterface* light_rope);
private:
static void PaintVuNotes(uint32_t now_ms,
const KeyboardState& keyboard,
const int* led_column_table, int led_column_table_length,
LedRopeInterface* led_rope);
static void PaintVuMidNotesFade(uint32_t delta_ms,
const KeyboardState& keyboard,
const int* led_column_table, int led_column_table_length,
LedRopeInterface* led_rope);
// This is a crazy effect, lets keep this around.
static void VegasVisualizer(const KeyboardState& keyboard,
const int* led_column_table, int led_column_table_length,
LedRopeInterface* led_rope);
static void PaintBrightSurprise(const KeyboardState& keyboard,
const int* led_column_table, int led_column_table_length,
LedRopeInterface* led_rope);
static void PaintVuSpaceInvaders(uint32_t now_ms,
const KeyboardState& keyboard,
const int* led_column_table, int led_column_table_length,
LedRopeInterface* led_rope);
};
#endif // PAINTER_H