Refactor into files
This commit is contained in:
+51
@@ -0,0 +1,51 @@
|
||||
#ifndef UI_MANAGER_H
|
||||
#define UI_MANAGER_H
|
||||
|
||||
#include <Adafruit_GFX.h>
|
||||
#include <Adafruit_SSD1306.h>
|
||||
#include <Adafruit_NeoPixel.h>
|
||||
#include "TrackerTypes.h"
|
||||
#include "MelodyStrategy.h"
|
||||
|
||||
class UIManager {
|
||||
public:
|
||||
UIManager();
|
||||
void begin();
|
||||
|
||||
void showMessage(const char* msg);
|
||||
|
||||
void draw(UIState currentState, int menuSelection, int navSelection, bool isEditing,
|
||||
int midiChannel, int tempo, MelodyStrategy* currentStrategy,
|
||||
int queuedTheme, int currentThemeIndex,
|
||||
int numScaleNotes, const int* scaleNotes, int melodySeed,
|
||||
bool mutationEnabled, bool songModeEnabled,
|
||||
const Step* sequence, int scrollOffset, int playbackStep, bool isPlaying,
|
||||
const char* mainMenu[], int mainMenuCount,
|
||||
const char* randomizeMenu[], int randomizeMenuCount,
|
||||
const char* setupMenu[], int setupMenuCount,
|
||||
int theme1Index);
|
||||
|
||||
void updateLeds(const Step* sequence, int navSelection, int playbackStep, bool isPlaying,
|
||||
UIState currentState, bool isEditing, bool songModeEnabled,
|
||||
int songRepeatsRemaining, bool sequenceChangeScheduled);
|
||||
|
||||
private:
|
||||
Adafruit_SSD1306 display;
|
||||
Adafruit_NeoPixel pixels;
|
||||
|
||||
void drawMenu(const char* title, const char* items[], int count, int selection,
|
||||
UIState currentState, int midiChannel, int tempo, const char* flavourName,
|
||||
int queuedTheme, int currentThemeIndex,
|
||||
int numScaleNotes, const int* scaleNotes, int melodySeed,
|
||||
bool mutationEnabled, bool songModeEnabled, int theme1Index);
|
||||
|
||||
void drawTracker(int navSelection, bool isEditing, int midiChannel,
|
||||
const Step* sequence, int scrollOffset, int playbackStep, bool isPlaying);
|
||||
|
||||
uint32_t getNoteColor(int note, bool dim);
|
||||
int getPixelIndex(int x, int y);
|
||||
};
|
||||
|
||||
extern UIManager ui;
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user