BsMainEditorWindow.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. #include "BsMainEditorWindow.h"
  2. #include "BsDockManager.h"
  3. #include "BsCamera.h"
  4. #include "CmSceneObject.h"
  5. #include "CmRenderTexture.h"
  6. // DEBUG ONLY
  7. #include "CmTestTextSprite.h"
  8. #include "CmDebugCamera.h"
  9. using namespace CamelotFramework;
  10. using namespace BansheeEngine;
  11. namespace BansheeEditor
  12. {
  13. MainEditorWindow::MainEditorWindow(CM::RenderWindowPtr renderWindow)
  14. :EditorWindowBase(renderWindow), mDockManager(cm_new<DockManager>(mGUI.get()))
  15. {
  16. // DEBUG ONLY
  17. HSceneObject sceneCameraGO = SceneObject::create("SceneCamera");
  18. HCamera sceneCamera = sceneCameraGO->addComponent<Camera>();
  19. RenderTexturePtr sceneRenderTarget = RenderTexture::create(TEX_TYPE_2D, 800, 600);
  20. sceneCamera->initialize(sceneRenderTarget, 0.0f, 0.0f, 1.0f, 1.0f, 0);
  21. sceneCameraGO->setPosition(Vector3(0,50,1240));
  22. sceneCameraGO->lookAt(Vector3(0,50,-300));
  23. sceneCamera->setNearClipDistance(5);
  24. sceneCamera->setAspectRatio(800.0f / 600.0f);
  25. GameObjectHandle<DebugCamera> debugCamera = sceneCameraGO->addComponent<DebugCamera>();
  26. GameObjectHandle<TestTextSprite> textSprite = mSceneObject->addComponent<TestTextSprite>();
  27. textSprite->initialize(mCamera->getViewport().get(), renderWindow.get());
  28. textSprite->init(mCamera, "Testing in a new row, does this work?", sceneRenderTarget);
  29. }
  30. MainEditorWindow::~MainEditorWindow()
  31. {
  32. cm_delete(mDockManager);
  33. }
  34. void MainEditorWindow::movedOrResized()
  35. {
  36. EditorWindowBase::movedOrResized();
  37. UINT32 widgetWidth = (UINT32)std::max(0, (INT32)getWidth() - 2);
  38. UINT32 widgetHeight = (UINT32)std::max(0, (INT32)getHeight() - 2);
  39. mDockManager->setArea(1, 1, widgetWidth, widgetHeight);
  40. }
  41. }