mirror of
https://github.com/PCSX2/pcsx2.git
synced 2025-12-16 04:08:48 +00:00
38 lines
1.6 KiB
C++
38 lines
1.6 KiB
C++
// 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
|