diff options
| author | grm <grm@eyesin.space> | 2026-03-14 02:29:15 +0200 |
|---|---|---|
| committer | grm <grm@eyesin.space> | 2026-03-14 02:29:15 +0200 |
| commit | 650e5afde271d22b3653832daf339e1bd09a10d6 (patch) | |
| tree | cc5e536b0150de1109daa43a055547d2266e60dd /lib/imgui-1.92.6/misc/cpp/imgui_stdlib.h | |
| parent | 20e64711ce2a09b657fb79d59cb824e9e34d2b07 (diff) | |
| download | cgame-master.tar.gz cgame-master.tar.bz2 cgame-master.zip | |
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.h | 37 |
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 |
