summaryrefslogtreecommitdiffstats
path: root/lib/imgui-1.92.6/misc/cpp/imgui_stdlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/imgui-1.92.6/misc/cpp/imgui_stdlib.h')
-rw-r--r--lib/imgui-1.92.6/misc/cpp/imgui_stdlib.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/lib/imgui-1.92.6/misc/cpp/imgui_stdlib.h b/lib/imgui-1.92.6/misc/cpp/imgui_stdlib.h
new file mode 100644
index 0000000..cf4b528
--- /dev/null
+++ b/lib/imgui-1.92.6/misc/cpp/imgui_stdlib.h
@@ -0,0 +1,37 @@
+// dear imgui: wrappers for C++ standard library (STL) types (std::string, etc.)
+
+// This is also an example of how you may wrap your own similar types.
+// TL;DR; this is using the ImGuiInputTextFlags_CallbackResize facility,
+// which also demonstrated in 'Dear ImGui Demo->Widgets->Text Input->Resize Callback'.
+
+// Changelog:
+// - v0.10: Initial version. Added InputText() / InputTextMultiline() calls with std::string
+
+// Usage:
+// {
+// #include "misc/cpp/imgui_stdlib.h"
+// #include "misc/cpp/imgui_stdlib.cpp" // <-- If you want to include implementation without messing with your project/build.
+// [...]
+// std::string my_string;
+// ImGui::InputText("my string", &my_string);
+// }
+
+// See more C++ related extension (fmt, RAII, syntaxis sugar) on Wiki:
+// https://github.com/ocornut/imgui/wiki/Useful-Extensions#cness
+
+#pragma once
+
+#ifndef IMGUI_DISABLE
+
+#include <string>
+
+namespace ImGui
+{
+ // ImGui::InputText() with std::string
+ // Because text input needs dynamic resizing, we need to setup a callback to grow the capacity
+ IMGUI_API bool InputText(const char* label, std::string* str, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = nullptr, void* user_data = nullptr);
+ IMGUI_API bool InputTextMultiline(const char* label, std::string* str, const ImVec2& size = ImVec2(0, 0), ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = nullptr, void* user_data = nullptr);
+ IMGUI_API bool InputTextWithHint(const char* label, const char* hint, std::string* str, ImGuiInputTextFlags flags = 0, ImGuiInputTextCallback callback = nullptr, void* user_data = nullptr);
+}
+
+#endif // #ifndef IMGUI_DISABLE