refactor(new_editor): tighten app dependency boundaries
This commit is contained in:
@@ -1,28 +1,28 @@
|
||||
#include "Composition/EditorShellRuntime.h"
|
||||
|
||||
#include "Host/TextureHost.h"
|
||||
#include "Host/ViewportRenderHost.h"
|
||||
#include "State/EditorContext.h"
|
||||
|
||||
#include <Rendering/D3D12/D3D12WindowRenderer.h>
|
||||
#include <Rendering/Native/NativeRenderer.h>
|
||||
|
||||
#include <XCEngine/Rendering/RenderContext.h>
|
||||
|
||||
namespace XCEngine::UI::Editor::App {
|
||||
|
||||
void EditorShellRuntime::Initialize(
|
||||
const std::filesystem::path& repoRoot,
|
||||
Host::NativeRenderer& renderer) {
|
||||
m_nativeRenderer = &renderer;
|
||||
m_builtInIcons.Initialize(renderer);
|
||||
m_sceneViewportController.Initialize(repoRoot, renderer);
|
||||
Host::TextureHost& textureHost,
|
||||
UIEditorTextMeasurer& textMeasurer) {
|
||||
m_textureHost = &textureHost;
|
||||
m_builtInIcons.Initialize(textureHost);
|
||||
m_sceneViewportController.Initialize(repoRoot, textureHost);
|
||||
m_hierarchyPanel.SetBuiltInIcons(&m_builtInIcons);
|
||||
m_projectPanel.SetBuiltInIcons(&m_builtInIcons);
|
||||
m_projectPanel.SetTextMeasurer(&renderer);
|
||||
m_projectPanel.SetTextMeasurer(&textMeasurer);
|
||||
m_hierarchyPanel.Initialize();
|
||||
m_projectPanel.Initialize(repoRoot);
|
||||
}
|
||||
|
||||
void EditorShellRuntime::AttachViewportWindowRenderer(Host::D3D12WindowRenderer& renderer) {
|
||||
void EditorShellRuntime::AttachViewportWindowRenderer(Host::ViewportRenderHost& renderer) {
|
||||
m_viewportHostService.AttachWindowRenderer(renderer);
|
||||
}
|
||||
|
||||
@@ -40,10 +40,10 @@ void EditorShellRuntime::Shutdown() {
|
||||
m_splitterDragCorrectionState = {};
|
||||
m_traceEntries.clear();
|
||||
m_sceneEditCommandRoute = {};
|
||||
if (m_nativeRenderer != nullptr) {
|
||||
m_sceneViewportController.Shutdown(*m_nativeRenderer);
|
||||
if (m_textureHost != nullptr) {
|
||||
m_sceneViewportController.Shutdown(*m_textureHost);
|
||||
m_builtInIcons.Shutdown();
|
||||
m_nativeRenderer = nullptr;
|
||||
m_textureHost = nullptr;
|
||||
} else {
|
||||
m_builtInIcons.Shutdown();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user