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

38 lines
801 B
C++

#pragma once
#include <cstdint>
#include <string>
namespace XCEngine::UI::Editor::Windowing::Domain {
struct WindowCommand {
enum class Type : std::uint8_t {
None = 0,
DestroyNativeWindow,
ShowWindow,
FocusWindow,
ResizeWindow,
MoveWindow,
SetWindowTitle,
SetWindowBounds,
MinimizeWindow,
CloseWindow,
BeginCaptionDrag,
};
enum class BoundsMode : std::uint8_t {
Default = 0,
InteractiveResizeNoRedraw,
};
Type type = Type::None;
BoundsMode boundsMode = BoundsMode::Default;
std::string payload = {};
std::int32_t x = 0;
std::int32_t y = 0;
std::int32_t width = 0;
std::int32_t height = 0;
};
} // namespace XCEngine::UI::Editor::Windowing::Domain