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