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

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