关键节点

This commit is contained in:
2026-04-25 16:46:01 +08:00
parent 6002d86a7e
commit ef41c44464
516 changed files with 6175 additions and 12401 deletions

View File

@@ -0,0 +1,40 @@
#pragma once
#include <XCEditor/Panels/UIEditorPanelContentHost.h>
#include <XCEditor/Panels/UIEditorPanelHostLifecycle.h>
#include <string>
#include <string_view>
#include <vector>
namespace XCEngine::UI::Editor {
struct UIEditorHostedPanelDispatchEntry {
std::string panelId = {};
UIEditorPanelPresentationKind presentationKind =
UIEditorPanelPresentationKind::Placeholder;
bool mounted = false;
::XCEngine::UI::UIRect bounds = {};
bool allowInteraction = false;
bool attached = false;
bool visible = false;
bool active = false;
bool focused = false;
bool focusGained = false;
bool focusLost = false;
};
struct UIEditorHostedPanelDispatchFrame {
std::vector<UIEditorHostedPanelDispatchEntry> entries = {};
};
const UIEditorHostedPanelDispatchEntry* FindUIEditorHostedPanelDispatchEntry(
const UIEditorHostedPanelDispatchFrame& frame,
std::string_view panelId);
UIEditorHostedPanelDispatchFrame BuildUIEditorHostedPanelDispatchFrame(
const UIEditorPanelContentHostFrame& contentHostFrame,
const UIEditorPanelHostLifecycleFrame& lifecycleFrame,
bool allowInteraction);
} // namespace XCEngine::UI::Editor