//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// #include "BsVulkanRenderWindowManager.h" #include "Win32/BsWin32RenderWindow.h" namespace BansheeEngine { VulkanRenderWindowManager::VulkanRenderWindowManager() { } SPtr VulkanRenderWindowManager::createImpl(RENDER_WINDOW_DESC& desc, UINT32 windowId, const SPtr& parentWindow) { if(parentWindow != nullptr) { UINT64 hWnd; parentWindow->getCustomAttribute("WINDOW", &hWnd); desc.platformSpecific["parentWindowHandle"] = toString(hWnd); } // Create the window Win32RenderWindow* renderWindow = new (bs_alloc()) Win32RenderWindow(desc, windowId); return bs_core_ptr(renderWindow); } VulkanRenderWindowCoreManager::VulkanRenderWindowCoreManager(VulkanRenderAPI& renderAPI) :mRenderAPI(renderAPI) { } SPtr VulkanRenderWindowCoreManager::createInternal(RENDER_WINDOW_DESC& desc, UINT32 windowId) { // Create the window Win32RenderWindowCore* renderWindow = new (bs_alloc()) Win32RenderWindowCore(desc, windowId, mRenderAPI); SPtr renderWindowPtr = bs_shared_ptr(renderWindow); renderWindowPtr->_setThisPtr(renderWindowPtr); windowCreated(renderWindow); return renderWindowPtr; } }