BsHandleSliderManager.h 759 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include "BsEditorPrerequisites.h"
  3. namespace BansheeEngine
  4. {
  5. class BS_ED_EXPORT HandleSliderManager
  6. {
  7. public:
  8. HandleSliderManager();
  9. ~HandleSliderManager();
  10. void update(const CameraHandlerPtr& camera, const Vector2I& inputPos, const Vector2I& inputDelta);
  11. void trySelect(const CameraHandlerPtr& camera, const Vector2I& inputPos);
  12. void clearSelection();
  13. bool isSliderActive() const { return mActiveSlider != nullptr; }
  14. void _registerSlider(HandleSlider* slider);
  15. void _unregisterSlider(HandleSlider* slider);
  16. private:
  17. HandleSlider* findUnderCursor(const CameraHandlerPtr& camera, const Vector2I& inputPos) const;
  18. HandleSlider* mActiveSlider;
  19. HandleSlider* mHoverSlider;
  20. UnorderedSet<HandleSlider*> mSliders;
  21. };
  22. }