InputAndJoy.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #ifndef INPUTANDJOY_H_INCLUDED
  2. #define INPUTANDJOY_H_INCLUDED
  3. ///Jovian
  4. ///Mise à jour pour utiliser les boutons du joypad
  5. // Include
  6. #include <SDL2/SDL.h>
  7. #include <iostream>
  8. #include <vector>
  9. #include "Input.h"
  10. //Enum
  11. #define CLAVIER_SOURIS 1
  12. #define MANETTE 2
  13. // Classe
  14. class InputAndJoy : public Input
  15. {
  16. public:
  17. InputAndJoy();
  18. ~InputAndJoy();
  19. virtual void updateEvenements();
  20. int getAxeValue(const Uint8 axeID) const;
  21. bool getBoutonPad(const Uint8 bouton) const;
  22. void setMainControleur(int type);
  23. virtual float getMainXRel() const;
  24. virtual float getMainYRel() const;
  25. virtual float getMainXMove() const;
  26. virtual float getMainYMove() const;
  27. private:
  28. SDL_Joystick* m_manette;
  29. int m_nbAxes;
  30. int m_nbBoutons;
  31. int m_controleurType;
  32. int const m_seuil;
  33. int const m_plage; // Plage de données de l'axe réduite à cause du seuil ( imprécision )
  34. std::vector<int> m_axeValue;
  35. std::vector<bool> m_boutonValue;
  36. };
  37. #endif // INPUTANDJOY_H_INCLUDED