#pragma once #include namespace XCEngine::UI::Editor::Host { class HostRuntimeState { public: void Reset() { m_windowDpi = 96u; m_inInteractiveResize = false; } void SetWindowDpi(UINT dpi) { m_windowDpi = dpi == 0u ? 96u : dpi; } UINT GetWindowDpi() const { return m_windowDpi; } float GetDpiScale(float baseDpiScale) const { return baseDpiScale > 0.0f ? static_cast(m_windowDpi) / baseDpiScale : 1.0f; } void BeginInteractiveResize() { m_inInteractiveResize = true; } void EndInteractiveResize() { m_inInteractiveResize = false; } bool IsInteractiveResize() const { return m_inInteractiveResize; } private: UINT m_windowDpi = 96u; bool m_inInteractiveResize = false; }; } // namespace XCEngine::UI::Editor::Host