#pragma once #include namespace XCEngine::UI::Editor { struct UIEditorShellInteractionFrame; struct UIEditorShellInteractionState; } // namespace XCEngine::UI::Editor namespace XCEngine::UI::Editor::App { class BuiltInIcons; class ColorPickerPanel; class ConsolePanel; class HierarchyPanel; class InspectorPanel; class ProjectPanel; class SceneViewportFeature; struct EditorShellDrawComposerContext { const UIEditorShellInteractionFrame& shellFrame; const UIEditorShellInteractionState& shellInteractionState; const BuiltInIcons& builtInIcons; const ConsolePanel& consolePanel; const ColorPickerPanel& colorPickerPanel; const HierarchyPanel& hierarchyPanel; const InspectorPanel& inspectorPanel; const ProjectPanel& projectPanel; const SceneViewportFeature& sceneViewportFeature; }; class EditorShellDrawComposer final { public: void Append( const EditorShellDrawComposerContext& context, ::XCEngine::UI::UIDrawData& drawData) const; }; } // namespace XCEngine::UI::Editor::App