comparison include/SDL_events.h @ 4465:3e69e077cb95

Removed multi-mouse / multi-keyboard support in anticipation of a real multi-mouse and multi-touch API. Plus, this lets me start implementing cursor support.
author Sam Lantinga <slouken@libsdl.org>
date Sun, 09 May 2010 20:47:22 -0700
parents e953700da4ca
children 524dfefd554c
comparison
equal deleted inserted replaced
4464:fa77a6429698 4465:3e69e077cb95
73 SDL_MOUSEMOTION = 0x400, /**< Mouse moved */ 73 SDL_MOUSEMOTION = 0x400, /**< Mouse moved */
74 SDL_MOUSEBUTTONDOWN, /**< Mouse button pressed */ 74 SDL_MOUSEBUTTONDOWN, /**< Mouse button pressed */
75 SDL_MOUSEBUTTONUP, /**< Mouse button released */ 75 SDL_MOUSEBUTTONUP, /**< Mouse button released */
76 SDL_MOUSEWHEEL, /**< Mouse wheel motion */ 76 SDL_MOUSEWHEEL, /**< Mouse wheel motion */
77 77
78 /* Tablet events */ 78 /* Tablet or multiple mice input device events */
79 SDL_PROXIMITYIN = 0x500, /**< Proximity In event */ 79 SDL_INPUTMOTION = 0x500, /**< Input moved */
80 SDL_PROXIMITYOUT, /**< Proximity Out event */ 80 SDL_INPUTBUTTONDOWN, /**< Input button pressed */
81 SDL_INPUTBUTTONUP, /**< Input button released */
82 SDL_INPUTWHEEL, /**< Input wheel motion */
83 SDL_INPUTPROXIMITYIN, /**< Input pen entered proximity */
84 SDL_INPUTPROXIMITYOUT, /**< Input pen left proximity */
81 85
82 /* Joystick events */ 86 /* Joystick events */
83 SDL_JOYAXISMOTION = 0x600, /**< Joystick axis motion */ 87 SDL_JOYAXISMOTION = 0x600, /**< Joystick axis motion */
84 SDL_JOYBALLMOTION, /**< Joystick trackball motion */ 88 SDL_JOYBALLMOTION, /**< Joystick trackball motion */
85 SDL_JOYHATMOTION, /**< Joystick hat position change */ 89 SDL_JOYHATMOTION, /**< Joystick hat position change */
122 */ 126 */
123 typedef struct SDL_KeyboardEvent 127 typedef struct SDL_KeyboardEvent
124 { 128 {
125 Uint32 type; /**< ::SDL_KEYDOWN or ::SDL_KEYUP */ 129 Uint32 type; /**< ::SDL_KEYDOWN or ::SDL_KEYUP */
126 Uint32 windowID; /**< The window with keyboard focus, if any */ 130 Uint32 windowID; /**< The window with keyboard focus, if any */
127 Uint8 which; /**< The keyboard device index */
128 Uint8 state; /**< ::SDL_PRESSED or ::SDL_RELEASED */ 131 Uint8 state; /**< ::SDL_PRESSED or ::SDL_RELEASED */
129 Uint8 padding1; 132 Uint8 padding1;
130 Uint8 padding2; 133 Uint8 padding2;
134 Uint8 padding3;
131 SDL_keysym keysym; /**< The key that was pressed or released */ 135 SDL_keysym keysym; /**< The key that was pressed or released */
132 } SDL_KeyboardEvent; 136 } SDL_KeyboardEvent;
133 137
134 #define SDL_TEXTEDITINGEVENT_TEXT_SIZE (32) 138 #define SDL_TEXTEDITINGEVENT_TEXT_SIZE (32)
135 /** 139 /**
137 */ 141 */
138 typedef struct SDL_TextEditingEvent 142 typedef struct SDL_TextEditingEvent
139 { 143 {
140 Uint32 type; /**< ::SDL_TEXTEDITING */ 144 Uint32 type; /**< ::SDL_TEXTEDITING */
141 Uint32 windowID; /**< The window with keyboard focus, if any */ 145 Uint32 windowID; /**< The window with keyboard focus, if any */
142 Uint8 which; /**< The keyboard device index */
143 char text[SDL_TEXTEDITINGEVENT_TEXT_SIZE]; /**< The editing text */ 146 char text[SDL_TEXTEDITINGEVENT_TEXT_SIZE]; /**< The editing text */
144 int start; /**< The start cursor of selected editing text */ 147 int start; /**< The start cursor of selected editing text */
145 int length; /**< The length of selected editing text */ 148 int length; /**< The length of selected editing text */
146 } SDL_TextEditingEvent; 149 } SDL_TextEditingEvent;
147 150
152 */ 155 */
153 typedef struct SDL_TextInputEvent 156 typedef struct SDL_TextInputEvent
154 { 157 {
155 Uint32 type; /**< ::SDL_TEXTINPUT */ 158 Uint32 type; /**< ::SDL_TEXTINPUT */
156 Uint32 windowID; /**< The window with keyboard focus, if any */ 159 Uint32 windowID; /**< The window with keyboard focus, if any */
157 Uint8 which; /**< The keyboard device index */ 160 char text[SDL_TEXTINPUTEVENT_TEXT_SIZE]; /**< The input text */
161 } SDL_TextInputEvent;
162
163 /**
164 * \brief Mouse motion event structure (event.motion.*)
165 */
166 typedef struct SDL_MouseMotionEvent
167 {
168 Uint32 type; /**< ::SDL_MOUSEMOTION */
169 Uint32 windowID; /**< The window with mouse focus, if any */
170 Uint8 state; /**< The current button state */
158 Uint8 padding1; 171 Uint8 padding1;
159 Uint8 padding2; 172 Uint8 padding2;
160 Uint8 padding3; 173 Uint8 padding3;
161 char text[SDL_TEXTINPUTEVENT_TEXT_SIZE]; /**< The input text */ 174 int x; /**< X coordinate, relative to window */
162 } SDL_TextInputEvent; 175 int y; /**< Y coordinate, relative to window */
163 176 int xrel; /**< The relative motion in the X direction */
164 /** 177 int yrel; /**< The relative motion in the Y direction */
165 * \brief Mouse motion event structure (event.motion.*) 178 } SDL_MouseMotionEvent;
166 */ 179
167 typedef struct SDL_MouseMotionEvent 180 /**
168 { 181 * \brief Mouse button event structure (event.button.*)
169 Uint32 type; /**< ::SDL_MOUSEMOTION */ 182 */
183 typedef struct SDL_MouseButtonEvent
184 {
185 Uint32 type; /**< ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP */
170 Uint32 windowID; /**< The window with mouse focus, if any */ 186 Uint32 windowID; /**< The window with mouse focus, if any */
171 Uint8 which; /**< The mouse device index */ 187 Uint8 button; /**< The mouse button index */
172 Uint8 state; /**< The current button state */ 188 Uint8 state; /**< ::SDL_PRESSED or ::SDL_RELEASED */
173 Uint8 padding1; 189 Uint8 padding1;
174 Uint8 padding2; 190 Uint8 padding2;
175 int x; /**< X coordinate, relative to window */ 191 int x; /**< X coordinate, relative to window */
176 int y; /**< Y coordinate, relative to window */ 192 int y; /**< Y coordinate, relative to window */
177 int z; /**< Z coordinate, for future use */
178 int pressure; /**< Pressure reported by tablets */
179 int pressure_max; /**< Maximum value of the pressure reported by the device */
180 int pressure_min; /**< Minimum value of the pressure reported by the device */
181 int rotation; /**< For future use */
182 int tilt_x; /**< For future use */
183 int tilt_y; /**< For future use */
184 int cursor; /**< The cursor being used in the event */
185 int xrel; /**< The relative motion in the X direction */
186 int yrel; /**< The relative motion in the Y direction */
187 } SDL_MouseMotionEvent;
188
189 /**
190 * \brief Mouse button event structure (event.button.*)
191 */
192 typedef struct SDL_MouseButtonEvent
193 {
194 Uint32 type; /**< ::SDL_MOUSEBUTTONDOWN or ::SDL_MOUSEBUTTONUP */
195 Uint32 windowID; /**< The window with mouse focus, if any */
196 Uint8 which; /**< The mouse device index */
197 Uint8 button; /**< The mouse button index */
198 Uint8 state; /**< ::SDL_PRESSED or ::SDL_RELEASED */
199 Uint8 padding1;
200 int x; /**< X coordinate, relative to window */
201 int y; /**< Y coordinate, relative to window */
202 } SDL_MouseButtonEvent; 193 } SDL_MouseButtonEvent;
203 194
204 /** 195 /**
205 * \brief Mouse wheel event structure (event.wheel.*) 196 * \brief Mouse wheel event structure (event.wheel.*)
206 */ 197 */
207 typedef struct SDL_MouseWheelEvent 198 typedef struct SDL_MouseWheelEvent
208 { 199 {
209 Uint32 type; /**< ::SDL_MOUSEWHEEL */ 200 Uint32 type; /**< ::SDL_MOUSEWHEEL */
210 Uint32 windowID; /**< The window with mouse focus, if any */ 201 Uint32 windowID; /**< The window with mouse focus, if any */
211 Uint8 which; /**< The mouse device index */
212 Uint8 padding1;
213 Uint8 padding2;
214 Uint8 padding3;
215 int x; /**< The amount scrolled horizontally */ 202 int x; /**< The amount scrolled horizontally */
216 int y; /**< The amount scrolled vertically */ 203 int y; /**< The amount scrolled vertically */
217 } SDL_MouseWheelEvent; 204 } SDL_MouseWheelEvent;
218
219 /**
220 * \brief Tablet pen proximity event
221 */
222 typedef struct SDL_ProximityEvent
223 {
224 Uint32 type; /**< ::SDL_PROXIMITYIN or ::SDL_PROXIMITYOUT */
225 Uint32 windowID; /**< The associated window */
226 Uint8 which;
227 Uint8 padding1;
228 Uint8 padding2;
229 Uint8 padding3;
230 int cursor;
231 int x;
232 int y;
233 } SDL_ProximityEvent;
234 205
235 /** 206 /**
236 * \brief Joystick axis motion event structure (event.jaxis.*) 207 * \brief Joystick axis motion event structure (event.jaxis.*)
237 */ 208 */
238 typedef struct SDL_JoyAxisEvent 209 typedef struct SDL_JoyAxisEvent
369 SDL_JoyHatEvent jhat; /**< Joystick hat event data */ 340 SDL_JoyHatEvent jhat; /**< Joystick hat event data */
370 SDL_JoyButtonEvent jbutton; /**< Joystick button event data */ 341 SDL_JoyButtonEvent jbutton; /**< Joystick button event data */
371 SDL_QuitEvent quit; /**< Quit request event data */ 342 SDL_QuitEvent quit; /**< Quit request event data */
372 SDL_UserEvent user; /**< Custom event data */ 343 SDL_UserEvent user; /**< Custom event data */
373 SDL_SysWMEvent syswm; /**< System dependent window event data */ 344 SDL_SysWMEvent syswm; /**< System dependent window event data */
374 SDL_ProximityEvent proximity; /**< Proximity In or Out event */
375 345
376 /** Temporarily here for backwards compatibility */ 346 /** Temporarily here for backwards compatibility */
377 /*@{*/ 347 /*@{*/
378 #ifndef SDL_NO_COMPAT 348 #ifndef SDL_NO_COMPAT
379 SDL_ActiveEvent active; 349 SDL_ActiveEvent active;