123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- #ifndef _SDL_gamecontroller_h
- #define _SDL_gamecontroller_h
- #include "SDL_stdinc.h"
- #include "SDL_error.h"
- #include "SDL_joystick.h"
- #include "begin_code.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- struct _SDL_GameController;
- typedef struct _SDL_GameController SDL_GameController;
- typedef enum
- {
- SDL_CONTROLLER_BINDTYPE_NONE = 0,
- SDL_CONTROLLER_BINDTYPE_BUTTON,
- SDL_CONTROLLER_BINDTYPE_AXIS,
- SDL_CONTROLLER_BINDTYPE_HAT
- } SDL_GameControllerBindType;
- typedef struct SDL_GameControllerButtonBind
- {
- SDL_GameControllerBindType bindType;
- union
- {
- int button;
- int axis;
- struct {
- int hat;
- int hat_mask;
- } hat;
- } value;
- } SDL_GameControllerButtonBind;
- typedef int SDLCALL tSDL_GameControllerAddMapping( const char* mappingString );
- typedef char * SDLCALL tSDL_GameControllerMappingForGUID( SDL_JoystickGUID guid );
- typedef char * SDLCALL tSDL_GameControllerMapping( SDL_GameController * gamecontroller );
- typedef SDL_bool SDLCALL tSDL_IsGameController(int joystick_index);
- typedef const char * SDLCALL tSDL_GameControllerNameForIndex(int joystick_index);
- typedef SDL_GameController * SDLCALL tSDL_GameControllerOpen(int joystick_index);
- typedef const char * SDLCALL tSDL_GameControllerName(SDL_GameController *gamecontroller);
- typedef SDL_bool SDLCALL tSDL_GameControllerGetAttached(SDL_GameController *gamecontroller);
- typedef SDL_Joystick * SDLCALL tSDL_GameControllerGetJoystick(SDL_GameController *gamecontroller);
- typedef int SDLCALL tSDL_GameControllerEventState(int state);
- typedef void SDLCALL tSDL_GameControllerUpdate(void);
- typedef enum
- {
- SDL_CONTROLLER_AXIS_INVALID = -1,
- SDL_CONTROLLER_AXIS_LEFTX,
- SDL_CONTROLLER_AXIS_LEFTY,
- SDL_CONTROLLER_AXIS_RIGHTX,
- SDL_CONTROLLER_AXIS_RIGHTY,
- SDL_CONTROLLER_AXIS_TRIGGERLEFT,
- SDL_CONTROLLER_AXIS_TRIGGERRIGHT,
- SDL_CONTROLLER_AXIS_MAX
- } SDL_GameControllerAxis;
- typedef SDL_GameControllerAxis SDLCALL tSDL_GameControllerGetAxisFromString(const char *pchString);
- extern DECLSPEC const char* SDLCALL SDL_GameControllerGetStringForAxis(SDL_GameControllerAxis axis);
- extern DECLSPEC SDL_GameControllerButtonBind SDLCALL
- SDL_GameControllerGetBindForAxis(SDL_GameController *gamecontroller,
- SDL_GameControllerAxis axis);
- extern DECLSPEC Sint16 SDLCALL
- SDL_GameControllerGetAxis(SDL_GameController *gamecontroller,
- SDL_GameControllerAxis axis);
- typedef enum
- {
- SDL_CONTROLLER_BUTTON_INVALID = -1,
- SDL_CONTROLLER_BUTTON_A,
- SDL_CONTROLLER_BUTTON_B,
- SDL_CONTROLLER_BUTTON_X,
- SDL_CONTROLLER_BUTTON_Y,
- SDL_CONTROLLER_BUTTON_BACK,
- SDL_CONTROLLER_BUTTON_GUIDE,
- SDL_CONTROLLER_BUTTON_START,
- SDL_CONTROLLER_BUTTON_LEFTSTICK,
- SDL_CONTROLLER_BUTTON_RIGHTSTICK,
- SDL_CONTROLLER_BUTTON_LEFTSHOULDER,
- SDL_CONTROLLER_BUTTON_RIGHTSHOULDER,
- SDL_CONTROLLER_BUTTON_DPAD_UP,
- SDL_CONTROLLER_BUTTON_DPAD_DOWN,
- SDL_CONTROLLER_BUTTON_DPAD_LEFT,
- SDL_CONTROLLER_BUTTON_DPAD_RIGHT,
- SDL_CONTROLLER_BUTTON_MAX
- } SDL_GameControllerButton;
- typedef SDL_GameControllerButton SDLCALL tSDL_GameControllerGetButtonFromString(const char *pchString);
- extern DECLSPEC const char* SDLCALL SDL_GameControllerGetStringForButton(SDL_GameControllerButton button);
- extern DECLSPEC SDL_GameControllerButtonBind SDLCALL
- SDL_GameControllerGetBindForButton(SDL_GameController *gamecontroller,
- SDL_GameControllerButton button);
- typedef Uint8 SDLCALL tSDL_GameControllerGetButton(SDL_GameController *gamecontroller,
- SDL_GameControllerButton button);
- typedef void SDLCALL tSDL_GameControllerClose(SDL_GameController *gamecontroller);
- extern tSDL_GameControllerAddMapping *SDL_GameControllerAddMapping;
- extern tSDL_GameControllerMappingForGUID *SDL_GameControllerMappingForGUID;
- extern tSDL_GameControllerMapping *SDL_GameControllerMapping;
- extern tSDL_IsGameController *SDL_IsGameController;
- extern tSDL_GameControllerNameForIndex *SDL_GameControllerNameForIndex;
- extern tSDL_GameControllerOpen *SDL_GameControllerOpen;
- extern tSDL_GameControllerName *SDL_GameControllerName;
- extern tSDL_GameControllerGetAttached *SDL_GameControllerGetAttached;
- extern tSDL_GameControllerGetJoystick *SDL_GameControllerGetJoystick;
- extern tSDL_GameControllerEventState *SDL_GameControllerEventState;
- extern tSDL_GameControllerUpdate *SDL_GameControllerUpdate;
- extern tSDL_GameControllerGetAxisFromString *SDL_GameControllerGetAxisFromString;
- extern tSDL_GameControllerGetButtonFromString *SDL_GameControllerGetButtonFromString;
- extern tSDL_GameControllerGetButton *SDL_GameControllerGetButton;
- extern tSDL_GameControllerClose *SDL_GameControllerClose;
- #ifdef __cplusplus
- }
- #endif
- #include "close_code.h"
- #endif
|