BsHandleManager.cpp 780 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "BsHandleManager.h"
  2. #include "BsHandleDrawManager.h"
  3. #include "BsHandleSliderManager.h"
  4. namespace BansheeEngine
  5. {
  6. HandleManager::HandleManager()
  7. :mSliderManager(nullptr), mDrawManager(nullptr)
  8. {
  9. mSliderManager = bs_new<HandleSliderManager>();
  10. mDrawManager = bs_new<HandleDrawManager>();
  11. }
  12. HandleManager::~HandleManager()
  13. {
  14. bs_delete(mSliderManager);
  15. bs_delete(mDrawManager);
  16. }
  17. bool HandleManager::isHandleActive() const
  18. {
  19. return mSliderManager->isSliderActive();
  20. }
  21. void HandleManager::update(const Vector2I& inputPos, const Ray& inputRay, const Matrix4& viewMatrix, bool pressed)
  22. {
  23. refreshHandles();
  24. mSliderManager->update(inputPos, inputRay, viewMatrix, pressed);
  25. triggerHandles();
  26. queueDrawCommands();
  27. mDrawManager->draw();
  28. }
  29. }