#pragma once #include "imgui.h" namespace ImGui { void PushContextSwitch(ImGuiContext *newCtx); void PopContextSwitch(); class ScopedContextSwitch { public: explicit ScopedContextSwitch(ImGuiContext *newCtx); ScopedContextSwitch(const ScopedContextSwitch& copy) = delete; ScopedContextSwitch& operator=(const ScopedContextSwitch& copy) = delete; ScopedContextSwitch(ScopedContextSwitch&& move) = delete; ScopedContextSwitch& operator=(ScopedContextSwitch&& move) = delete; ~ScopedContextSwitch(); }; } // namespace ImGui