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