2020-09-04 17:19:51 +08:00
|
|
|
// 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.
|
|
|
|
|
|
|
|
// Compatibility:
|
|
|
|
// - std::string support is only guaranteed to work from C++11.
|
|
|
|
// If you try to use it pre-C++11, please share your findings (w/ info about compiler/architecture)
|
|
|
|
|
|
|
|
// Changelog:
|
|
|
|
// - v0.10: Initial version. Added InputText() / InputTextMultiline() calls with std::string
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace ImGui
|
|
|
|
{
|
2021-12-25 10:04:45 +08:00
|
|
|
// 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 = NULL,
|
|
|
|
void* user_data = NULL);
|
|
|
|
IMGUI_API bool InputTextMultiline(const char* label,
|
|
|
|
std::string* str,
|
|
|
|
const ImVec2& size = ImVec2(0, 0),
|
|
|
|
ImGuiInputTextFlags flags = 0,
|
|
|
|
ImGuiInputTextCallback callback = NULL,
|
|
|
|
void* user_data = NULL);
|
|
|
|
IMGUI_API bool InputTextWithHint(const char* label,
|
|
|
|
const char* hint,
|
|
|
|
std::string* str,
|
|
|
|
ImGuiInputTextFlags flags = 0,
|
|
|
|
ImGuiInputTextCallback callback = NULL,
|
|
|
|
void* user_data = NULL);
|
|
|
|
} // namespace ImGui
|