From b5bd5840744a0a3e36b1be8f9ab95492d1005bca Mon Sep 17 00:00:00 2001 From: spl3g Date: Sat, 1 Nov 2025 19:34:45 +0300 Subject: Show the waves! (badly) --- src/ui.c | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) (limited to 'src/ui.c') diff --git a/src/ui.c b/src/ui.c index 5d2297e..f7a0ea7 100644 --- a/src/ui.c +++ b/src/ui.c @@ -291,6 +291,29 @@ void draw_knob(Clay_ElementId id, UIData *ui_data, KnobInfo* knob_info, Clay_Siz } } +void draw_screen(UIData *ui_data) { + + CustomElementData *wave = arena_alloc(ui_data->arena, sizeof(CustomElementData)); + wave->type = CUSTOM_ELEMENT_TYPE_WAVE_SCREEN; + wave->wave_screen = (WaveScreenData){ + .point_buffer = ui_data->wave_buffer, + .buffer_len = ui_data->wave_buffer_size, + .color = COLOR_FG, + }; + + CLAY(CLAY_ID("wave_screen"), { + .layout = { + .sizing = {CLAY_SIZING_FIXED(200 * ui_data->scale), CLAY_SIZING_FIXED(100 * ui_data->scale)}, + }, + .border = { .width = {1, 1, 1, 1, 0}, .color = COLOR_FG }, + .custom = { + .customData = wave, + }, + }) { + + }; +} + void draw_panel(UIData *ui_data) { CLAY(CLAY_ID("panel_container"), { .layout = { @@ -303,12 +326,7 @@ void draw_panel(UIData *ui_data) { draw_knob(CLAY_ID("volume_knob"), ui_data, &ui_data->knob_settings->volume, CLAY_SIZING_FIXED(85 * ui_data->scale), CLAY_SIZING_FIXED(45 * ui_data->scale)); } - CLAY(CLAY_ID("wave_screen"), { - .layout = { - .sizing = {CLAY_SIZING_FIXED(200 * ui_data->scale), CLAY_SIZING_FIXED(100 * ui_data->scale)}, - }, - .border = { .width = {1, 1, 1, 1, 0}, .color = COLOR_FG }, - }); + draw_screen(ui_data); CLAY(CLAY_ID("envelope_knobs_container"), { .layout = { -- cgit v1.2.3