diff options
Diffstat (limited to 'src/ui.h')
| -rw-r--r-- | src/ui.h | 29 |
1 files changed, 28 insertions, 1 deletions
@@ -8,13 +8,17 @@ #include <SDL3/SDL_scancode.h> #include <SDL3/SDL_keycode.h> -#include "clay/clay.h" +#include "arena.h" + +#include "clay_renderer_SDL3.h" +#include "clay.h" #include "messages.h" static const Clay_Color COLOR_BG = (Clay_Color){45, 53, 59, 255}; static const Clay_Color COLOR_BG_INTER = (Clay_Color){52, 63, 68, 255}; static const Clay_Color COLOR_FG = (Clay_Color){211, 198, 170, 255}; static const Clay_Color COLOR_FG_INTER = (Clay_Color){227, 212, 181, 255}; +static const Clay_Color COLOR_ACCENT = (Clay_Color){133, 146, 137, 255}; typedef struct { char letter; @@ -24,11 +28,34 @@ typedef struct { } KeyState; typedef struct { + float value; + param_type param_type; + float range_start; + float range_end; +} KnobInfo; + +typedef struct { + KnobInfo volume; + KnobInfo attack; + KnobInfo decay; + KnobInfo sustain; + KnobInfo release; +} KnobSettings; + +typedef struct { message_queue *msg_queue; KeyState *keys; size_t keys_amount; + KnobSettings *knob_settings; + Arena *arena; } UIData; +typedef struct { + UIData *ui_data; + float start_angle; + KnobInfo *info; +} UIKnobData; + void draw_ui(UIData *ui_data); #endif // UI_H_ |
