refactor(editor): neutralize render surface handoff

This commit is contained in:
2026-04-27 17:17:29 +08:00
parent 2a7f6d0b60
commit 0d97cb5e51
7 changed files with 44 additions and 59 deletions

View File

@@ -1,7 +1,5 @@
#include "Rendering/D3D12/D3D12EditorWindowRenderRuntime.h"
#include "Platform/Win32/Windowing/Win32EditorWindowRenderRuntimeSurface.h"
#include <algorithm>
#include <memory>
@@ -56,12 +54,10 @@ EditorWindowRenderRuntimeInitializeResult D3D12EditorWindowRenderRuntime::Initia
const EditorWindowRenderRuntimeInitializeParams& params) {
EditorWindowRenderRuntimeInitializeResult result = {};
const auto* surface = params.surface != nullptr
? dynamic_cast<
const ::XCEngine::UI::Editor::App::Win32EditorWindowRenderRuntimeSurface*>(
params.surface.get())
: nullptr;
HWND hwnd = surface != nullptr ? surface->GetHwnd() : nullptr;
const HWND hwnd =
params.surface.kind == Rendering::Host::EditorWindowRenderRuntimeSurfaceKind::Win32Window
? reinterpret_cast<HWND>(params.surface.nativeHandle)
: nullptr;
if (hwnd == nullptr) {
result.errorMessage = "window initialize skipped: hwnd is null";
return result;