Advertisement
Guest User

Untitled

a guest
Jul 24th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.47 KB | None | 0 0
  1. #include "MouseController.h"
  2.  
  3. MouseController::MouseController() :
  4. curr_posX(0.0), curr_posY(0.0),
  5. prev_posX(0.0), prev_posY(0.0),
  6. currBtnStatus(0), prevBtnStatus(0),
  7. xoffset(0), yoffset(0),
  8. keepMouseCentered(true)
  9. {
  10. }
  11.  
  12. MouseController::~MouseController()
  13. {
  14. }
  15.  
  16. void MouseController::UpdateMousePosition(double _x, double _y)
  17. {
  18. curr_posX = _x;
  19. curr_posY = _y;
  20. }
  21.  
  22. void MouseController::UpdateMouseButtonPressed(int _slot)
  23. {
  24. currBtnStatus |= 1 << _slot;
  25. }
  26.  
  27. void MouseController::UpdateMouseButtonReleased(int _slot)
  28. {
  29. currBtnStatus &= ~(1 << _slot);
  30. }
  31.  
  32. void MouseController::UpdateMouseScroll(const double xoffset, const double yoffset)
  33. {
  34. this->xoffset += xoffset;
  35. //default 3.0 && -3.0;
  36. if (this->xoffset > 3.0)
  37. this->xoffset = 3.0;
  38. else if (this->xoffset < -3.0)
  39. this->xoffset = -3.0;
  40. this->yoffset += yoffset;
  41. if (this->yoffset > 1.0)
  42. this->yoffset = 1.0;
  43. else if (this->yoffset < 0.0)
  44. this->yoffset = 0.0;
  45. }
  46.  
  47. void MouseController::EndFrameUpdate()
  48. {
  49. prev_posX = curr_posX;
  50. prev_posY = curr_posY;
  51. prevBtnStatus = currBtnStatus;
  52. }
  53.  
  54. bool MouseController::IsButtonDown(unsigned char _slot)
  55. {
  56. return (currBtnStatus & (1 << _slot)) != 0;
  57. }
  58.  
  59. bool MouseController::IsButtonUp(unsigned char _slot)
  60. {
  61. return !(IsButtonDown(_slot));
  62. }
  63.  
  64. bool MouseController::IsButtonPressed(unsigned char _slot)
  65. {
  66. // True if currently button is down, previously is up
  67. return IsButtonDown(_slot) && !(prevBtnStatus & (1 << _slot));
  68. }
  69.  
  70. bool MouseController::IsButtonReleased(unsigned char _slot)
  71. {
  72. // True if currently button is up, previously is down
  73. return IsButtonUp(_slot) && (prevBtnStatus & (1 << _slot));
  74. }
  75.  
  76. double MouseController::GetMouseScrollStatus(SCROLL_TYPE _scrolltype)
  77. {
  78. if (_scrolltype == SCROLL_TYPE_XOFFSET)
  79. {
  80. return xoffset;
  81. }
  82. else if (_scrolltype == SCROLL_TYPE_YOFFSET)
  83. {
  84. return yoffset;
  85. }
  86. else
  87. {
  88. return 0.0;
  89. }
  90. }
  91.  
  92. void MouseController::GetMousePosition(float& _resultX, float& _resultY)
  93. {
  94. _resultX = (float)curr_posX;
  95. _resultY = (float)curr_posY;
  96. }
  97.  
  98. void MouseController::GetMousePosition(double& _resultX, double& _resultY)
  99. {
  100. _resultX = curr_posX;
  101. _resultY = curr_posY;
  102. }
  103.  
  104. void MouseController::GetMouseDelta(float& _resultX, float& _resultY)
  105. {
  106. _resultX = float(curr_posX - prev_posX);
  107. _resultY = float(curr_posY - prev_posY);
  108. }
  109.  
  110. void MouseController::GetMouseDelta(double& _resultX, double& _resultY)
  111. {
  112. _resultX = curr_posX - prev_posX;
  113. _resultY = curr_posY - prev_posY;
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement