#include "Platform/Win32/WindowManager/Internal.h" #include "Platform/Win32/EditorWindow.h" namespace XCEngine::UI::Editor::App::Internal { EditorWindow* EditorWindowHostRuntime::FindWindow(HWND hwnd) { if (hwnd == nullptr) { return nullptr; } for (const std::unique_ptr& window : m_windows) { if (window != nullptr && window->GetHwnd() == hwnd) { return window.get(); } } return nullptr; } const EditorWindow* EditorWindowHostRuntime::FindWindow(HWND hwnd) const { return const_cast(this)->FindWindow(hwnd); } EditorWindow* EditorWindowHostRuntime::FindWindow(std::string_view windowId) { if (windowId.empty()) { return nullptr; } for (const std::unique_ptr& window : m_windows) { if (window != nullptr && window->GetWindowId() == windowId) { return window.get(); } } return nullptr; } const EditorWindow* EditorWindowHostRuntime::FindWindow(std::string_view windowId) const { return const_cast(this)->FindWindow(windowId); } EditorWindow* EditorWindowHostRuntime::FindPrimaryWindow() { for (const std::unique_ptr& window : m_windows) { if (window != nullptr && window->IsPrimary()) { return window.get(); } } return nullptr; } const EditorWindow* EditorWindowHostRuntime::FindPrimaryWindow() const { return const_cast(this)->FindPrimaryWindow(); } } // namespace XCEngine::UI::Editor::App::Internal