#pragma once #include #include 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