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

@@ -19,20 +19,22 @@ enum class EditorWindowRenderRuntimeSurfaceKind : std::uint8_t {
Win32Window,
};
class EditorWindowRenderRuntimeSurface {
public:
virtual ~EditorWindowRenderRuntimeSurface() = default;
struct EditorWindowRenderRuntimeSurface {
EditorWindowRenderRuntimeSurfaceKind kind = EditorWindowRenderRuntimeSurfaceKind::Unknown;
std::uintptr_t nativeHandle = 0u;
virtual EditorWindowRenderRuntimeSurfaceKind GetKind() const = 0;
bool IsValid() const {
return kind != EditorWindowRenderRuntimeSurfaceKind::Unknown && nativeHandle != 0u;
}
};
struct EditorWindowRenderRuntimeInitializeParams {
std::shared_ptr<const EditorWindowRenderRuntimeSurface> surface = {};
EditorWindowRenderRuntimeSurface surface = {};
std::uint32_t widthPixels = 0u;
std::uint32_t heightPixels = 0u;
bool IsValid() const {
return surface != nullptr && widthPixels > 0u && heightPixels > 0u;
return surface.IsValid() && widthPixels > 0u && heightPixels > 0u;
}
};