Annotation of sbbs/include/sdl/sdl_joystick.h, revision 1.1.1.2

1.1       root        1: /*
                      2:     SDL - Simple DirectMedia Layer
1.1.1.2 ! root        3:     Copyright (C) 1997-2006 Sam Lantinga
1.1       root        4: 
                      5:     This library is free software; you can redistribute it and/or
1.1.1.2 ! root        6:     modify it under the terms of the GNU Lesser General Public
1.1       root        7:     License as published by the Free Software Foundation; either
1.1.1.2 ! root        8:     version 2.1 of the License, or (at your option) any later version.
1.1       root        9: 
                     10:     This library is distributed in the hope that it will be useful,
                     11:     but WITHOUT ANY WARRANTY; without even the implied warranty of
                     12:     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1.1.1.2 ! root       13:     Lesser General Public License for more details.
1.1       root       14: 
1.1.1.2 ! root       15:     You should have received a copy of the GNU Lesser General Public
        !            16:     License along with this library; if not, write to the Free Software
        !            17:     Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
1.1       root       18: 
                     19:     Sam Lantinga
                     20:     [email protected]
                     21: */
                     22: 
                     23: /* Include file for SDL joystick event handling */
                     24: 
                     25: #ifndef _SDL_joystick_h
                     26: #define _SDL_joystick_h
                     27: 
1.1.1.2 ! root       28: #include "SDL_stdinc.h"
        !            29: #include "SDL_error.h"
1.1       root       30: 
                     31: #include "begin_code.h"
                     32: /* Set up for C function definitions, even when using C++ */
                     33: #ifdef __cplusplus
                     34: extern "C" {
                     35: #endif
                     36: 
                     37: /* In order to use these functions, SDL_Init() must have been called
                     38:    with the SDL_INIT_JOYSTICK flag.  This causes SDL to scan the system
                     39:    for joysticks, and load appropriate drivers.
                     40: */
                     41: 
                     42: /* The joystick structure used to identify an SDL joystick */
                     43: struct _SDL_Joystick;
                     44: typedef struct _SDL_Joystick SDL_Joystick;
                     45: 
                     46: 
                     47: /* Function prototypes */
                     48: /*
                     49:  * Count the number of joysticks attached to the system
                     50:  */
                     51: extern DECLSPEC int SDLCALL SDL_NumJoysticks(void);
                     52: 
                     53: /*
                     54:  * Get the implementation dependent name of a joystick.
                     55:  * This can be called before any joysticks are opened.
                     56:  * If no name can be found, this function returns NULL.
                     57:  */
                     58: extern DECLSPEC const char * SDLCALL SDL_JoystickName(int device_index);
                     59: 
                     60: /*
                     61:  * Open a joystick for use - the index passed as an argument refers to
                     62:  * the N'th joystick on the system.  This index is the value which will
                     63:  * identify this joystick in future joystick events.
                     64:  *
                     65:  * This function returns a joystick identifier, or NULL if an error occurred.
                     66:  */
                     67: extern DECLSPEC SDL_Joystick * SDLCALL SDL_JoystickOpen(int device_index);
                     68: 
                     69: /*
                     70:  * Returns 1 if the joystick has been opened, or 0 if it has not.
                     71:  */
                     72: extern DECLSPEC int SDLCALL SDL_JoystickOpened(int device_index);
                     73: 
                     74: /*
                     75:  * Get the device index of an opened joystick.
                     76:  */
                     77: extern DECLSPEC int SDLCALL SDL_JoystickIndex(SDL_Joystick *joystick);
                     78: 
                     79: /*
                     80:  * Get the number of general axis controls on a joystick
                     81:  */
                     82: extern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick *joystick);
                     83: 
                     84: /*
                     85:  * Get the number of trackballs on a joystick
                     86:  * Joystick trackballs have only relative motion events associated
                     87:  * with them and their state cannot be polled.
                     88:  */
                     89: extern DECLSPEC int SDLCALL SDL_JoystickNumBalls(SDL_Joystick *joystick);
                     90: 
                     91: /*
                     92:  * Get the number of POV hats on a joystick
                     93:  */
                     94: extern DECLSPEC int SDLCALL SDL_JoystickNumHats(SDL_Joystick *joystick);
                     95: 
                     96: /*
                     97:  * Get the number of buttons on a joystick
                     98:  */
                     99: extern DECLSPEC int SDLCALL SDL_JoystickNumButtons(SDL_Joystick *joystick);
                    100: 
                    101: /*
                    102:  * Update the current state of the open joysticks.
                    103:  * This is called automatically by the event loop if any joystick
                    104:  * events are enabled.
                    105:  */
                    106: extern DECLSPEC void SDLCALL SDL_JoystickUpdate(void);
                    107: 
                    108: /*
                    109:  * Enable/disable joystick event polling.
                    110:  * If joystick events are disabled, you must call SDL_JoystickUpdate()
                    111:  * yourself and check the state of the joystick when you want joystick
                    112:  * information.
                    113:  * The state can be one of SDL_QUERY, SDL_ENABLE or SDL_IGNORE.
                    114:  */
                    115: extern DECLSPEC int SDLCALL SDL_JoystickEventState(int state);
                    116: 
                    117: /*
                    118:  * Get the current state of an axis control on a joystick
                    119:  * The state is a value ranging from -32768 to 32767.
                    120:  * The axis indices start at index 0.
                    121:  */
                    122: extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick *joystick, int axis);
                    123: 
                    124: /*
                    125:  * Get the current state of a POV hat on a joystick
                    126:  * The return value is one of the following positions:
                    127:  */
                    128: #define SDL_HAT_CENTERED       0x00
                    129: #define SDL_HAT_UP             0x01
                    130: #define SDL_HAT_RIGHT          0x02
                    131: #define SDL_HAT_DOWN           0x04
                    132: #define SDL_HAT_LEFT           0x08
                    133: #define SDL_HAT_RIGHTUP                (SDL_HAT_RIGHT|SDL_HAT_UP)
                    134: #define SDL_HAT_RIGHTDOWN      (SDL_HAT_RIGHT|SDL_HAT_DOWN)
                    135: #define SDL_HAT_LEFTUP         (SDL_HAT_LEFT|SDL_HAT_UP)
                    136: #define SDL_HAT_LEFTDOWN       (SDL_HAT_LEFT|SDL_HAT_DOWN)
                    137: /*
                    138:  * The hat indices start at index 0.
                    139:  */
                    140: extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick *joystick, int hat);
                    141: 
                    142: /*
                    143:  * Get the ball axis change since the last poll
                    144:  * This returns 0, or -1 if you passed it invalid parameters.
                    145:  * The ball indices start at index 0.
                    146:  */
                    147: extern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick *joystick, int ball, int *dx, int *dy);
                    148: 
                    149: /*
                    150:  * Get the current state of a button on a joystick
                    151:  * The button indices start at index 0.
                    152:  */
                    153: extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick *joystick, int button);
                    154: 
                    155: /*
                    156:  * Close a joystick previously opened with SDL_JoystickOpen()
                    157:  */
                    158: extern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick *joystick);
                    159: 
                    160: 
                    161: /* Ends C function definitions when using C++ */
                    162: #ifdef __cplusplus
                    163: }
                    164: #endif
                    165: #include "close_code.h"
                    166: 
                    167: #endif /* _SDL_joystick_h */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.