Files
XCEngine/new_editor/app/Host/HostRuntimeState.h

46 lines
895 B
C++

#pragma once
#include <windows.h>
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<float>(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