BsEditorWindowBase.cpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #include "BsEditorWindowBase.h"
  2. #include "CmApplication.h"
  3. #include "CmSceneObject.h"
  4. #include "CmRenderWindow.h"
  5. #include "BsCamera.h"
  6. #include "BsGUIWindowFrameWidget.h"
  7. #include "BsEngineGUI.h"
  8. using namespace CamelotFramework;
  9. using namespace BansheeEngine;
  10. namespace BansheeEditor
  11. {
  12. EditorWindowBase::EditorWindowBase()
  13. {
  14. RENDER_WINDOW_DESC renderWindowDesc;
  15. renderWindowDesc.width = 200;
  16. renderWindowDesc.height = 200;
  17. renderWindowDesc.title = "EditorWindow";
  18. renderWindowDesc.fullscreen = false;
  19. renderWindowDesc.border = WindowBorder::None;
  20. renderWindowDesc.toolWindow = true;
  21. mRenderWindow = RenderWindow::create(renderWindowDesc, gApplication().getPrimaryWindow());
  22. mSceneObject = SceneObject::create("EditorWindow");
  23. HCamera camera = mSceneObject->addComponent<Camera>();
  24. camera->initialize(mRenderWindow, 0.0f, 0.0f, 1.0f, 1.0f, 0);
  25. camera->setNearClipDistance(5);
  26. camera->setAspectRatio(1.0f);
  27. camera->setIgnoreSceneRenderables(true);
  28. mGUI = mSceneObject->addComponent<GUIWidget>();
  29. mGUI->initialize(camera->getViewport().get(), mRenderWindow.get());
  30. mGUI->setDepth(128);
  31. mGUI->setSkin(&EngineGUI::instance().getSkin());
  32. GameObjectHandle<WindowFrameWidget> frame = mSceneObject->addComponent<WindowFrameWidget>();
  33. frame->setSkin(&EngineGUI::instance().getSkin());
  34. frame->initialize(camera->getViewport().get(), mRenderWindow.get());
  35. frame->setDepth(129);
  36. }
  37. EditorWindowBase::~EditorWindowBase()
  38. {
  39. mRenderWindow->destroy();
  40. }
  41. void EditorWindowBase::setPosition(CM::INT32 x, CM::INT32 y)
  42. {
  43. // TODO
  44. }
  45. void EditorWindowBase::setSize(CM::UINT32 width, CM::UINT32 height)
  46. {
  47. // TODO
  48. }
  49. }