Files
XCEngine/new_editor/app/Composition/EditorShellDrawComposer.h

40 lines
998 B
C++

#pragma once
#include <XCEngine/UI/DrawData.h>
namespace XCEngine::UI::Editor {
struct UIEditorShellInteractionFrame;
struct UIEditorShellInteractionState;
} // namespace XCEngine::UI::Editor
namespace XCEngine::UI::Editor::App {
class BuiltInIcons;
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 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