aboutsummaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorspl3g <spleefer6@yandex.ru>2025-11-21 14:40:37 +0300
committerspl3g <spleefer6@yandex.ru>2025-11-21 14:40:37 +0300
commitd1f644fd6c2c318591c44f118a6204f703b494e8 (patch)
treee935826969c7b1c98662f967a0b8af4281093429 /src/main.c
parent4588e4b1be41b7364a5faee5489e7e1c0fcb42d6 (diff)
Add labels
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/main.c b/src/main.c
index b922d3e..c356cac 100644
--- a/src/main.c
+++ b/src/main.c
@@ -41,10 +41,10 @@ typedef struct {
typedef struct {
Arena frame_arena;
PointerState pointer;
+ sclay_font_t fonts[1];
KeyState *keys;
size_t keys_amount;
-
KnobSettings knob_settings;
snd_pcm_t *sound_device;
@@ -171,7 +171,7 @@ void HandleClayErrors(Clay_ErrorData errorData) {
printf("%s", errorData.errorText.chars);
}
-int init_ui() {
+int init_ui(AppState *state) {
sg_setup(&(sg_desc){
.environment = sglue_environment(),
.logger.func = slog_func,
@@ -181,7 +181,13 @@ int init_ui() {
});
sclay_setup();
- sclay_add_font("resources/Roboto-Regular.ttf");
+ int font = sclay_add_font("resources/Roboto-Regular.ttf");
+ if (font == FONS_INVALID) {
+ printf("Could not load font");
+ return 1;
+ }
+ state->fonts[0] = font;
+
sclay_set_custom_element_cb(handle_custom);
size_t totalMemorySize = Clay_MinMemorySize();
@@ -191,7 +197,8 @@ int init_ui() {
};
Clay_Initialize(clayMemory, (Clay_Dimensions) { (float) sapp_width(), (float) sapp_height() }, (Clay_ErrorHandler) { HandleClayErrors, 0});
- Clay_SetMeasureTextFunction(sclay_measure_text, NULL);
+ Clay_SetMeasureTextFunction(sclay_measure_text, state->fonts);
+ Clay_SetDebugModeEnabled(true);
return 0;
}
@@ -219,7 +226,7 @@ static void init(void *app_state) {
state->keys = keys;
state->keys_amount = sizeof(keys)/sizeof(keys[0]);
- if (init_ui() != 0) {
+ if (init_ui(state) != 0) {
printf("Couldn't initialize UI");
sapp_quit();
}
@@ -262,7 +269,7 @@ void fill_ui_data(UIData *ui_data, AppState *state) {
ui_data->keys_amount = state->keys_amount;
ui_data->knob_settings = &state->knob_settings;
- ui_data->scale = dimensions.width / DEFAULT_DIMENSIONS_WIDTH;
+ ui_data->scale = dimensions.width / DEFAULT_DIMENSIONS_WIDTH;
}
static void frame(void *app_state) {
@@ -287,7 +294,7 @@ static void frame(void *app_state) {
sgl_matrix_mode_modelview();
sgl_load_identity();
- sclay_render(render_commands, NULL);
+ sclay_render(render_commands, state->fonts);
sgl_draw();
sg_end_pass();