GUI: colored pattern view

This commit is contained in:
tildearrow 2021-12-13 17:09:46 -05:00
parent 60f06d2908
commit 9e2e02a12e
6 changed files with 253 additions and 34 deletions

View file

@ -4,6 +4,34 @@
#include "imgui_impl_sdlrenderer.h"
#include <SDL.h>
enum FurnaceGUIColors {
GUI_COLOR_BACKGROUND=0,
GUI_COLOR_FRAME_BACKGROUND,
GUI_COLOR_HEADER,
GUI_COLOR_ITEM_BACKGROUND,
GUI_COLOR_ITEM_FOREGROUND,
GUI_COLOR_PATTERN_HI_1,
GUI_COLOR_PATTERN_HI_2,
GUI_COLOR_PATTERN_ROW_INDEX,
GUI_COLOR_PATTERN_ACTIVE,
GUI_COLOR_PATTERN_INACTIVE,
GUI_COLOR_PATTERN_INS,
GUI_COLOR_PATTERN_VOLUME_MAX,
GUI_COLOR_PATTERN_VOLUME_HALF,
GUI_COLOR_PATTERN_VOLUME_MIN,
GUI_COLOR_PATTERN_EFFECT_INVALID,
GUI_COLOR_PATTERN_EFFECT_PITCH,
GUI_COLOR_PATTERN_EFFECT_VOLUME,
GUI_COLOR_PATTERN_EFFECT_PANNING,
GUI_COLOR_PATTERN_EFFECT_SONG,
GUI_COLOR_PATTERN_EFFECT_TIME,
GUI_COLOR_PATTERN_EFFECT_SPEED,
GUI_COLOR_PATTERN_EFFECT_SYS_PRIMARY,
GUI_COLOR_PATTERN_EFFECT_SYS_SECONDARY,
GUI_COLOR_PATTERN_EFFECT_MISC,
GUI_COLOR_MAX
};
class FurnaceGUI {
DivEngine* e;
@ -18,8 +46,10 @@ class FurnaceGUI {
ImFont* mainFont;
ImFont* patFont;
ImVec4 uiColors[GUI_COLOR_MAX];
ImVec4 volColors[128];
int curIns, curOctave;
int curIns, curOctave, oldRow;
int arpMacroScroll;
@ -36,9 +66,12 @@ class FurnaceGUI {
int macroLoopDragLen;
bool macroLoopDragActive;
float nextScroll;
public:
const char* noteName(short note, short octave);
void bindEngine(DivEngine* eng);
void updateScroll(int amount);
bool loop();
bool init();
FurnaceGUI();