BsSceneViewHandler.h 803 B

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. #include "BsVector2I.h"
  4. namespace BansheeEngine
  5. {
  6. class BS_ED_EXPORT SceneViewHandler
  7. {
  8. public:
  9. SceneViewHandler(EditorWidgetBase* parentWidget, const SPtr<CameraHandler>& camera);
  10. virtual ~SceneViewHandler();
  11. void update();
  12. void updateHandle(const Vector2I& position, const Vector2I& delta);
  13. void trySelectHandle(const Vector2I& position);
  14. bool isHandleActive() const;
  15. void clearHandleSelection();
  16. void pickObject(const Vector2I& position, bool additive);
  17. protected:
  18. void render(const Viewport* viewport, DrawList& drawList);
  19. Vector2I wrapCursorToWindow();
  20. private:
  21. EditorWidgetBase* mParentWidget;
  22. SPtr<CameraHandler> mCamera;
  23. SceneGrid* mSceneGrid;
  24. HEvent mRenderCallback;
  25. Vector2I mMouseDeltaCompensate;
  26. };
  27. }