/src/Core/Joystick.xs

http://github.com/PerlGameDev/SDL · Unknown · 138 lines · 118 code · 20 blank · 0 comment · 0 complexity · 90437afc14b6864926bad02fcdcef73b MD5 · raw file

  1. #include "EXTERN.h"
  2. #include "perl.h"
  3. #include "XSUB.h"
  4. #include "ppport.h"
  5. #ifndef aTHX_
  6. #define aTHX_
  7. #endif
  8. #include <SDL.h>
  9. MODULE = SDL::Joystick PACKAGE = SDL::Joystick PREFIX = joystick_
  10. SDL_Joystick *
  11. joystick_new (CLASS, index )
  12. char* CLASS
  13. int index
  14. CODE:
  15. RETVAL = SDL_JoystickOpen(index);
  16. OUTPUT:
  17. RETVAL
  18. int
  19. joystick_num_joysticks ()
  20. CODE:
  21. RETVAL = SDL_NumJoysticks();
  22. OUTPUT:
  23. RETVAL
  24. char *
  25. joystick_name ( index )
  26. int index
  27. CODE:
  28. RETVAL = (char*)SDL_JoystickName(index);
  29. OUTPUT:
  30. RETVAL
  31. int
  32. joystick_opened ( index )
  33. int index
  34. CODE:
  35. RETVAL = SDL_JoystickOpened(index);
  36. OUTPUT:
  37. RETVAL
  38. int
  39. joystick_index ( joystick )
  40. SDL_Joystick *joystick
  41. CODE:
  42. RETVAL = SDL_JoystickIndex(joystick);
  43. OUTPUT:
  44. RETVAL
  45. int
  46. joystick_num_axes ( joystick )
  47. SDL_Joystick *joystick
  48. CODE:
  49. RETVAL = SDL_JoystickNumAxes(joystick);
  50. OUTPUT:
  51. RETVAL
  52. int
  53. joystick_num_balls ( joystick )
  54. SDL_Joystick *joystick
  55. CODE:
  56. RETVAL = SDL_JoystickNumBalls(joystick);
  57. OUTPUT:
  58. RETVAL
  59. int
  60. joystick_num_hats ( joystick )
  61. SDL_Joystick *joystick
  62. CODE:
  63. RETVAL = SDL_JoystickNumHats(joystick);
  64. OUTPUT:
  65. RETVAL
  66. int
  67. joystick_num_buttons ( joystick )
  68. SDL_Joystick *joystick
  69. CODE:
  70. RETVAL = SDL_JoystickNumButtons(joystick);
  71. OUTPUT:
  72. RETVAL
  73. void
  74. joystick_update ()
  75. CODE:
  76. SDL_JoystickUpdate();
  77. Sint16
  78. joystick_get_axis ( joystick, axis )
  79. SDL_Joystick *joystick
  80. int axis
  81. CODE:
  82. RETVAL = SDL_JoystickGetAxis(joystick,axis);
  83. OUTPUT:
  84. RETVAL
  85. Uint8
  86. joystick_get_hat ( joystick, hat )
  87. SDL_Joystick *joystick
  88. int hat
  89. CODE:
  90. RETVAL = SDL_JoystickGetHat(joystick,hat);
  91. OUTPUT:
  92. RETVAL
  93. Uint8
  94. joystick_get_button ( joystick, button)
  95. SDL_Joystick *joystick
  96. int button
  97. CODE:
  98. RETVAL = SDL_JoystickGetButton(joystick,button);
  99. OUTPUT:
  100. RETVAL
  101. AV *
  102. joystick_get_ball ( joystick, ball )
  103. SDL_Joystick *joystick
  104. int ball
  105. CODE:
  106. int success,dx,dy;
  107. success = SDL_JoystickGetBall(joystick,ball,&dx,&dy);
  108. RETVAL = (AV*)sv_2mortal((SV*)newAV());
  109. av_push(RETVAL,newSViv(success));
  110. av_push(RETVAL,newSViv(dx));
  111. av_push(RETVAL,newSViv(dy));
  112. OUTPUT:
  113. RETVAL
  114. void
  115. joystick_DESTROY ( joystick )
  116. SDL_Joystick *joystick
  117. CODE:
  118. SDL_JoystickClose(joystick);