diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2023-02-21 07:37:24 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2023-02-21 07:37:24 +0100 |
commit | 12c36a35cf43d3453a5745e4464de531674e8e65 (patch) | |
tree | 0dda63cff27f4c112db00d61e2425dbbda5a02d1 /editor/imgui-raii.cpp | |
parent | fbe8ee8faf54dd9989138ff92e5177a984e229fd (diff) |
more imgui wrappers
Diffstat (limited to 'editor/imgui-raii.cpp')
-rw-r--r-- | editor/imgui-raii.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/editor/imgui-raii.cpp b/editor/imgui-raii.cpp index 05e9edab..458de973 100644 --- a/editor/imgui-raii.cpp +++ b/editor/imgui-raii.cpp @@ -28,6 +28,11 @@ void text(StringView str, ImGuiTextFlags flags) { ImGui::TextEx(str.data(), str. raii_wrapper::raii_wrapper(raii_wrapper::F fn) : dtor{fn} {} raii_wrapper::~raii_wrapper() { if (dtor) dtor(); } raii_wrapper::raii_wrapper(raii_wrapper&& other) noexcept : dtor{other.dtor} { other.dtor = nullptr; } +raii_wrapper& raii_wrapper::operator=(raii_wrapper&& other) noexcept +{ + dtor = std::exchange(other.dtor, nullptr); + return *this; +} raii_wrapper::operator bool() const noexcept { return dtor != nullptr; } raii_wrapper push_style_color(ImGuiCol_ var, const Color4& value) @@ -62,6 +67,12 @@ raii_wrapper tree_node(Containers::StringView name, ImGuiTreeNodeFlags flags) return {}; } +raii_wrapper begin_disabled(bool is_disabled) +{ + ImGui::BeginDisabled(is_disabled); + return {&ImGui::EndDisabled}; +} + raii_wrapper begin_list_box(Containers::StringView name, ImVec2 size) { if (ImGui::BeginListBox(name.data(), size)) |