2
0

BsRenderWindow.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #include "BsRenderWindow.h"
  2. #include "BsCoreThread.h"
  3. #include "BsRenderWindowManager.h"
  4. #include "BsViewport.h"
  5. #include "BsPlatform.h"
  6. namespace BansheeEngine
  7. {
  8. RenderWindow::RenderWindow(const RENDER_WINDOW_DESC& desc)
  9. : RenderTarget(), mIsFullScreen(false), mDesc(desc), mHasFocus(false), mLeft(0), mTop(0), mHidden(false)
  10. {
  11. }
  12. RenderWindow::~RenderWindow()
  13. {
  14. }
  15. void RenderWindow::setHidden(bool hidden)
  16. {
  17. THROW_IF_NOT_CORE_THREAD;
  18. }
  19. bool RenderWindow::isFullScreen(void) const
  20. {
  21. return mIsFullScreen;
  22. }
  23. void RenderWindow::_windowMovedOrResized()
  24. {
  25. THROW_IF_NOT_CORE_THREAD;
  26. }
  27. void RenderWindow::_windowFocusReceived()
  28. {
  29. THROW_IF_NOT_CORE_THREAD;
  30. mHasFocus = true;
  31. }
  32. void RenderWindow::_windowFocusLost()
  33. {
  34. THROW_IF_NOT_CORE_THREAD;
  35. mHasFocus = false;
  36. }
  37. void RenderWindow::destroy()
  38. {
  39. Platform::resetNonClientAreas(*this);
  40. RenderWindowManager::instance().windowDestroyed(this);
  41. RenderTarget::destroy();
  42. }
  43. RenderWindowPtr RenderWindow::create(RENDER_WINDOW_DESC& desc, RenderWindowPtr parentWindow)
  44. {
  45. return RenderWindowManager::instance().create(desc, parentWindow);
  46. }
  47. }