Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.54 KB | None | 0 0
  1.  
  2. 1
  3. 2
  4. 3
  5. 4
  6. 5
  7. 6
  8. 7
  9. 8
  10. 9
  11. 10
  12. 11
  13. 12
  14. 13
  15. 14
  16. 15
  17. 16
  18. 17
  19. 18
  20. 19
  21. 20
  22. 21
  23. 22
  24. 23
  25. 24
  26. 25
  27. 26
  28. 27
  29. 28
  30. 29
  31. 30
  32. 31
  33. 32
  34. 33
  35. 34
  36. 35
  37. 36
  38. 37
  39. 38
  40. 39
  41. 40
  42. 41
  43. 42
  44. 43
  45. 44
  46. 45
  47. 46
  48. 47
  49. 48
  50. 49
  51. 50
  52. 51
  53. 52
  54. 53
  55. 54
  56. 55
  57. Auteur : VampireGirl (Jenny Pans)
  58.  
  59. /* Bibliothèques SDL 1.2 */
  60. #include <SDL.h>
  61.  
  62. typedef struct
  63. {
  64.     SDL_Event event;
  65.     SDLKey keys[SDLK_LAST];
  66.     bool keystates[SDLK_LAST];
  67.     bool quit;
  68. } Event;
  69.  
  70. /* ---------------------------------- */
  71. /* Fonction pour gérer les événements */
  72. /* ---------------------------------- */
  73.  
  74. /* Gère les événements. L'unicode est géré. */
  75. void updateEvents(Event *events)
  76. {
  77.     while(SDL_PollEvent(&events->event))
  78.     {
  79.         switch(events->event.type)
  80.         {
  81.         case SDL_KEYDOWN:
  82.             unicodeTranslation(events);
  83.             events->keystates[events->keys[events->event.key.keysym.sym]] = true;
  84.             break;
  85.  
  86.         case SDL_KEYUP:
  87.             events->keystates[events->keys[events->event.key.keysym.sym]] = false;
  88.             break;
  89.  
  90.         case SDL_QUIT:
  91.             events->quit = true;
  92.             break;
  93.  
  94.         default:
  95.             break;
  96.         }
  97.     }
  98. }
  99.  
  100. /* Gère l'unicode si il le faut */
  101. void unicodeTranslation(Event *events)
  102. {
  103.     if(events->event.key.keysym.unicode > 0 && events->event.key.keysym.unicode < 256)
  104.     {
  105.         events->keys[events->event.key.keysym.sym] = events->event.key.keysym.unicode;
  106.     }
  107.     else
  108.     {
  109.         events->keys[events->event.key.keysym.sym] = events->event.key.keysym.sym;
  110.     }
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement