diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-09-22 11:41:17 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-09-22 11:41:17 -0400 |
| commit | 2144976223779e5cf97aa0118f251f4d2632dc58 (patch) | |
| tree | fe2358cb3f83c79fa6c3e0f87fd2ec4b048cee85 | |
| parent | aaf6c699b86450a5fdd03f329724b275dcb27b34 (diff) | |
pke: static ui button text position
| -rw-r--r-- | src/static-ui.cpp | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/src/static-ui.cpp b/src/static-ui.cpp index 7145422..dc5ddc9 100644 --- a/src/static-ui.cpp +++ b/src/static-ui.cpp @@ -347,15 +347,31 @@ void pke_ui_calc_px(pk_arr_t<pke_ui_box_instance_buffer_item> &buffer, pk_arr_t< box->internal.px_size.x = px_size.x; box->internal.px_size.y = px_size.y; - if (box->type_data != nullptr) { - // type-specific changes - if (box->type == PKE_UI_BOX_TYPE_TEXT) { - FontRender *fr = FontType_GetFontRender(box->type_data->text.font_render_handle); - FontRenderSettings frs = fr->settings; + // type-specific changes + FontRenderSettings frs; + switch (box->type) { + case PKE_UI_BOX_TYPE_TEXT: + frs = FontType_GetFontRender(box->type_data->text.font_render_handle)->settings; frs.surface_area_pos = box->internal.px_corner; frs.surface_area_size = box->internal.px_size; FontType_UpdateStringRender(box->type_data->text.font_render_handle, &frs); - } + break; + case PKE_UI_BOX_TYPE_BUTTON_TEXT: + frs = FontType_GetFontRender(box->type_data->button_text.font_render_handle)->settings; + frs.surface_area_pos = box->internal.px_corner; + frs.surface_area_size = box->internal.px_size; + FontType_UpdateStringRender(box->type_data->button_text.font_render_handle, &frs); + break; + case PKE_UI_BOX_TYPE_BUTTON_IMAGE: + break; + case PKE_UI_BOX_TYPE_INPUT_TEXT: + // TODO + break; + case PKE_UI_BOX_TYPE_INPUT_MULTILINE_TEXT: + // TODO + break; + default: + break; } pke_ui_update_state(*box); |
