From 3d7fbad4f59a1c5bd516c2482e4e368fa923b99b Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Tue, 23 Sep 2025 09:39:59 -0400 Subject: pke: editor: edit text for text buttons --- editor/editor.cpp | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/editor/editor.cpp b/editor/editor.cpp index 2a4860a..005892e 100644 --- a/editor/editor.cpp +++ b/editor/editor.cpp @@ -1414,7 +1414,6 @@ void RecordImGuiUIEdit() { char *text_buffer = pk_new_arr(buffer_len, pkeSettings.mem_bkt.game_transient); size_t len = fr.text.length; sprintf(text_buffer, "%s", fr.text.val); - // nocheckin test this if (ImGui::InputText("Text", text_buffer, buffer_len-1, text_flags)) { // TODO specific bucket len = strlen(text_buffer); @@ -1497,6 +1496,36 @@ void RecordImGuiUIEdit() { changed |= changed_sub; } + if (selected_ui_box->type == PKE_UI_BOX_TYPE_BUTTON_TEXT) { + assert(selected_ui_box->type_data != NULL); + ImGui::Text("Type: Button Text"); + ImGui::Separator(); + FontRender fr = *FontType_GetFontRender(selected_ui_box->type_data->button_text.font_render_handle); + const int buffer_len = 1024; + char *text_buffer = pk_new_arr(buffer_len, pkeSettings.mem_bkt.game_transient); + size_t len = fr.text.length; + sprintf(text_buffer, "%s", fr.text.val); + if (ImGui::InputText("Text", text_buffer, buffer_len-1, text_flags)) { + // TODO specific bucket + len = strlen(text_buffer); + char *s = pk_new_arr(len + 1); + sprintf(s, "%s", text_buffer); + pk_cstr cstr{}; + cstr.reserved = len+1; + cstr.length = len; + cstr.val = s; + FontType_UpdateStringRenderText(fr.fr_handle, std::move(cstr)); + changed = true; + } + ImGui::SameLine(); + ImGui::Text("(%.4zu/%4i)", len, buffer_len); + changed_sub = ImGui::ColorEdit4("color_foreground(txt)", &fr.settings.color_foreground[0]) || changed_sub; + changed_sub = ImGui::ColorEdit4("color_background(txt)", &fr.settings.color_background[0]) || changed_sub; + if (changed_sub) { + FontType_UpdateStringRender(fr.fr_handle, &fr.settings); + } + changed |= changed_sub; + } if (changed) { pke_ui_force_recalc(); -- cgit v1.2.3