Add workspace panel overlay routing
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
#include <XCEditor/Panels/UIEditorPanelContentHost.h>
|
||||
#include <XCEditor/Docking/UIEditorDockHost.h>
|
||||
#include <XCEditor/Workspace/UIEditorWorkspacePanelOverlay.h>
|
||||
|
||||
#include <XCEngine/UI/Types.h>
|
||||
|
||||
@@ -44,6 +45,7 @@ bool IsUIEditorWorkspaceViewportInputOwner(
|
||||
UIEditorWorkspaceInputOwner ResolveUIEditorWorkspacePointerInputOwner(
|
||||
const Widgets::UIEditorDockHostLayout& dockHostLayout,
|
||||
const UIEditorPanelContentHostFrame& contentHostFrame,
|
||||
const std::vector<UIEditorWorkspacePanelOverlayRegion>& panelOverlayRegions,
|
||||
const ::XCEngine::UI::UIPoint& pointerPosition);
|
||||
|
||||
UIEditorWorkspaceInputOwner NormalizeUIEditorWorkspaceInputOwner(
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include <XCEditor/Panels/UIEditorPanelHostLifecycle.h>
|
||||
#include <XCEditor/Workspace/UIEditorWorkspaceCompose.h>
|
||||
#include <XCEditor/Workspace/UIEditorWorkspaceInputOwner.h>
|
||||
#include <XCEditor/Workspace/UIEditorWorkspacePanelOverlay.h>
|
||||
|
||||
#include <XCEngine/UI/Types.h>
|
||||
|
||||
@@ -15,6 +16,7 @@ namespace XCEngine::UI::Editor {
|
||||
|
||||
struct UIEditorWorkspaceInteractionModel {
|
||||
std::vector<UIEditorWorkspacePanelPresentationModel> workspacePresentations = {};
|
||||
std::vector<UIEditorWorkspacePanelOverlayRegion> panelOverlayRegions = {};
|
||||
};
|
||||
|
||||
struct UIEditorWorkspaceInteractionState {
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include <XCEngine/UI/Types.h>
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace XCEngine::UI::Editor {
|
||||
|
||||
struct UIEditorWorkspacePanelOverlayRegion {
|
||||
std::string panelId = {};
|
||||
::XCEngine::UI::UIRect bounds = {};
|
||||
bool interactive = true;
|
||||
};
|
||||
|
||||
} // namespace XCEngine::UI::Editor
|
||||
Reference in New Issue
Block a user