diff options
| author | spl3g <spleefer6@yandex.ru> | 2025-10-31 19:25:30 +0300 |
|---|---|---|
| committer | spl3g <spleefer6@yandex.ru> | 2025-10-31 19:28:29 +0300 |
| commit | 35265935522ac3730e26f8682704315516f7cbe5 (patch) | |
| tree | a005d707c6347fd2d21827484e44cb7dbf379a76 /src/ui.h | |
| parent | 99fb0374e9352ebb61e7eea134784bd26f61a892 (diff) | |
Add ui knobs
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_ |
