From 66ebed74456f76277597b3b07f3e67cc45388ece Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Mon, 16 Jun 2025 09:51:00 -0400 Subject: pke: update FontRender text (editor: for ui-box) --- src/vendor-imgui-ext.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/vendor-imgui-ext.cpp (limited to 'src/vendor-imgui-ext.cpp') diff --git a/src/vendor-imgui-ext.cpp b/src/vendor-imgui-ext.cpp new file mode 100644 index 0000000..743261b --- /dev/null +++ b/src/vendor-imgui-ext.cpp @@ -0,0 +1,42 @@ + +#include "vendor-imgui-ext.hpp" +#include "imgui_internal.h" + +// copy-pasted +// TODO submit PR so this isn't necessary +template +bool ImGui::CheckboxFlagsT(const char* label, T* flags, T flags_value) +{ + bool all_on = (*flags & flags_value) == flags_value; + bool any_on = (*flags & flags_value) != 0; + bool pressed; + if (!all_on && any_on) + { + ImGuiContext& g = *GImGui; + g.NextItemData.ItemFlags |= ImGuiItemFlags_MixedValue; + pressed = Checkbox(label, &all_on); + } + else + { + pressed = Checkbox(label, &all_on); + + } + if (pressed) + { + if (all_on) + *flags |= flags_value; + else + *flags &= ~flags_value; + } + return pressed; +} + +bool ImGui::CheckboxFlags(const char* label, long int* flags, long int flags_value) +{ + return CheckboxFlagsT(label, flags, flags_value); +} + +bool ImGui::CheckboxFlags(const char* label, unsigned long int* flags, unsigned long int flags_value) +{ + return CheckboxFlagsT(label, flags, flags_value); +} -- cgit v1.2.3