Refactor editor rendering contracts
This commit is contained in:
@@ -4,10 +4,10 @@
|
||||
#include "EditorShellHostedPanelCoordinator.h"
|
||||
#include "EditorShellInteractionEngine.h"
|
||||
#include "EditorShellSessionCoordinator.h"
|
||||
#include "Assets/EditorIconService.h"
|
||||
#include "Viewport/EditorViewportRuntimeServices.h"
|
||||
#include "Windowing/EditorWorkspaceShellRuntime.h"
|
||||
#include "WorkspacePanels/EditorWorkspacePanelRuntime.h"
|
||||
#include "Assets/BuiltInIcons.h"
|
||||
#include "Viewport/ViewportHostService.h"
|
||||
|
||||
#include <XCEditor/Shell/UIEditorShellInteraction.h>
|
||||
#include <XCEditor/Docking/UIEditorDockHostTransfer.h>
|
||||
@@ -45,8 +45,10 @@ namespace XCEngine::UI::Editor::App {
|
||||
|
||||
class EditorShellRuntime final : public EditorWorkspaceShellRuntime {
|
||||
public:
|
||||
EditorShellRuntime() = default;
|
||||
explicit EditorShellRuntime(EditorWorkspacePanelRuntimeSet workspacePanels);
|
||||
EditorShellRuntime(
|
||||
EditorWorkspacePanelRuntimeSet workspacePanels,
|
||||
std::unique_ptr<EditorIconService> iconService,
|
||||
std::unique_ptr<EditorViewportRuntimeServices> viewportRuntimeServices);
|
||||
|
||||
void Initialize(
|
||||
const std::filesystem::path& repoRoot,
|
||||
@@ -95,9 +97,8 @@ public:
|
||||
bool HasInteractiveCapture() const override;
|
||||
|
||||
private:
|
||||
ViewportHostService m_viewportHostService = {};
|
||||
BuiltInIcons m_builtInIcons = {};
|
||||
Rendering::Host::UiTextureHost* m_textureHost = nullptr;
|
||||
std::unique_ptr<EditorIconService> m_iconService = {};
|
||||
std::unique_ptr<EditorViewportRuntimeServices> m_viewportRuntimeServices = {};
|
||||
EditorWorkspacePanelRuntimeSet m_workspacePanels = {};
|
||||
UIEditorShellInteractionState m_shellInteractionState = {};
|
||||
UIEditorShellInteractionFrame m_shellFrame = {};
|
||||
@@ -110,7 +111,9 @@ private:
|
||||
};
|
||||
|
||||
std::unique_ptr<EditorWorkspaceShellRuntime> CreateEditorWorkspaceShellRuntime(
|
||||
EditorWorkspacePanelRuntimeSet workspacePanels);
|
||||
EditorWorkspacePanelRuntimeSet workspacePanels,
|
||||
std::unique_ptr<EditorIconService> iconService,
|
||||
std::unique_ptr<EditorViewportRuntimeServices> viewportRuntimeServices);
|
||||
|
||||
} // namespace XCEngine::UI::Editor::App
|
||||
|
||||
|
||||
Reference in New Issue
Block a user