BsEditorWindowBase.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include <boost/signals/connection.hpp>
  4. namespace BansheeEditor
  5. {
  6. class EditorWindowBase
  7. {
  8. public:
  9. virtual ~EditorWindowBase();
  10. virtual void setPosition(CM::INT32 x, CM::INT32 y);
  11. virtual void setSize(CM::UINT32 width, CM::UINT32 height);
  12. CM::INT32 getLeft() const;
  13. CM::INT32 getTop() const;
  14. CM::UINT32 getWidth() const;
  15. CM::UINT32 getHeight() const;
  16. virtual void close();
  17. void hide();
  18. protected:
  19. EditorWindowBase();
  20. EditorWindowBase(CM::RenderWindowPtr renderWindow);
  21. CM::RenderWindowPtr mRenderWindow;
  22. CM::HSceneObject mSceneObject;
  23. BS::HGUIWidget mGUI;
  24. BS::HCamera mCamera;
  25. CM::GameObjectHandle<WindowFrameWidget> mWindowFrame;
  26. bool mOwnsRenderWindow;
  27. void construct(CM::RenderWindowPtr renderWindow);
  28. virtual void initialize();
  29. virtual void movedOrResized() { }
  30. private:
  31. boost::signals::connection mMoveOrResizeConn;
  32. void movedOrResized(CM::RenderWindow& renderWindow);
  33. };
  34. }