slopstates.hpp 913B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef N_SLOPSTATES_H_
  2. #define N_SLOPSTATES_H_
  3. #include "mouse.hpp"
  4. #include "rectangle.hpp"
  5. #include "slop.hpp"
  6. class SlopMemory;
  7. class SlopState {
  8. public:
  9. virtual ~SlopState();
  10. virtual void onEnter( SlopMemory& memory );
  11. virtual void onExit( SlopMemory& memory );
  12. virtual void update( SlopMemory& memory, double dt );
  13. virtual void draw( SlopMemory& memory, glm::mat4 matrix );
  14. };
  15. class SlopStart : SlopState {
  16. public:
  17. virtual void update( SlopMemory& memory, double dt );
  18. };
  19. class SlopStartDrag : SlopState {
  20. private:
  21. glm::vec2 startPoint;
  22. public:
  23. SlopStartDrag( glm::vec2 point );
  24. virtual void onEnter( SlopMemory& memory );
  25. virtual void update( SlopMemory& memory, double dt );
  26. virtual void draw( SlopMemory& memory, glm::mat4 matrix );
  27. };
  28. class SlopEndDrag : SlopState {
  29. public:
  30. virtual void onEnter( SlopMemory& memory );
  31. };
  32. #endif // N_SLOPSTATES_H_