diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2025-09-23 09:39:59 -0400 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2025-09-23 09:39:59 -0400 |
| commit | 3d7fbad4f59a1c5bd516c2482e4e368fa923b99b (patch) | |
| tree | 9cb695dadc09ebf239a64feddd6b76cfc2d75c48 | |
| parent | ed6b1a537939b37a7a66bfa6b10eb594a4c597e6 (diff) | |
pke: editor: edit text for text buttons
| -rw-r--r-- | editor/editor.cpp | 31 |
1 files changed, 30 insertions, 1 deletions
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<char>(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<char>(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<char>(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(); |
