Files
XCEngine/new_editor/include/XCEditor/Windowing/WindowEvent.h

35 lines
748 B
C++

#pragma once
#include "FrameReason.h"
#include <cstdint>
#include <string>
namespace XCEngine::UI::Editor::Windowing::Domain {
struct WindowEvent {
enum class Type : std::uint8_t {
Unknown = 0,
NativeAttached,
NativeDestroyed,
CloseRequested,
FocusGained,
FocusLost,
ClientResized,
DpiChanged,
InteractiveResizeStarted,
InteractiveResizeEnded,
PaintRequested,
FramePresented,
};
Type type = Type::Unknown;
FrameReason frameReason = FrameReason::Unknown;
std::uint32_t width = 0u;
std::uint32_t height = 0u;
float dpiScale = 1.0f;
std::string payload = {};
};
} // namespace XCEngine::UI::Editor::Windowing::Domain