CmD3D9RenderWindowManager.cpp 754 B

1234567891011121314151617181920212223242526
  1. #include "CmD3D9RenderWindowManager.h"
  2. #include "CmD3D9RenderSystem.h"
  3. #include "CmD3D9RenderWindow.h"
  4. #include "CmAsyncOp.h"
  5. namespace CamelotEngine
  6. {
  7. D3D9RenderWindowManager::D3D9RenderWindowManager(D3D9RenderSystem* renderSystem)
  8. :mRenderSystem(renderSystem)
  9. {
  10. assert(mRenderSystem != nullptr);
  11. }
  12. void D3D9RenderWindowManager::createImpl(const RENDER_WINDOW_DESC& desc, AsyncOp& asyncOp)
  13. {
  14. // Create the window
  15. D3D9RenderWindow* renderWindow = new D3D9RenderWindow(mRenderSystem->getInstanceHandle());
  16. renderWindow->initialize(desc);
  17. D3D9RenderWindowPtr winPtr(renderWindow);
  18. mRenderSystem->registerRenderWindow(winPtr);
  19. asyncOp.completeOperation(std::static_pointer_cast<RenderWindow>(winPtr));
  20. }
  21. }