BsRenderWindow.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //__________________________ Banshee Project - A modern game development toolkit _________________________________//
  2. //_____________________________________ www.banshee-project.com __________________________________________________//
  3. //________________________ Copyright (c) 2014 Marko Pintera. All rights reserved. ________________________________//
  4. #include "BsRenderWindow.h"
  5. #include "BsCoreThread.h"
  6. #include "BsRenderWindowManager.h"
  7. #include "BsViewport.h"
  8. #include "BsPlatform.h"
  9. namespace BansheeEngine
  10. {
  11. RenderWindow::RenderWindow(const RENDER_WINDOW_DESC& desc)
  12. : RenderTarget(), mIsFullScreen(false), mDesc(desc), mHasFocus(false), mLeft(0), mTop(0), mHidden(false)
  13. {
  14. }
  15. RenderWindow::~RenderWindow()
  16. {
  17. }
  18. void RenderWindow::setHidden(bool hidden)
  19. {
  20. THROW_IF_NOT_CORE_THREAD;
  21. }
  22. bool RenderWindow::isFullScreen(void) const
  23. {
  24. return mIsFullScreen;
  25. }
  26. void RenderWindow::_windowMovedOrResized()
  27. {
  28. THROW_IF_NOT_CORE_THREAD;
  29. }
  30. void RenderWindow::_windowFocusReceived()
  31. {
  32. THROW_IF_NOT_CORE_THREAD;
  33. mHasFocus = true;
  34. }
  35. void RenderWindow::_windowFocusLost()
  36. {
  37. THROW_IF_NOT_CORE_THREAD;
  38. mHasFocus = false;
  39. }
  40. void RenderWindow::destroy()
  41. {
  42. Platform::resetNonClientAreas(*this);
  43. RenderWindowManager::instance().windowDestroyed(this);
  44. RenderTarget::destroy();
  45. }
  46. RenderWindowPtr RenderWindow::create(RENDER_WINDOW_DESC& desc, RenderWindowPtr parentWindow)
  47. {
  48. return RenderWindowManager::instance().create(desc, parentWindow);
  49. }
  50. }