Mercurial > sdl-ios-xcode
comparison src/video/nanox/SDL_nxevents.c @ 1668:4da1ee79c9af SDL-1.3
more tweaking indent options
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 29 May 2006 04:04:35 +0000 |
parents | 782fd950bd46 |
children |
comparison
equal
deleted
inserted
replaced
1667:1fddae038bc8 | 1668:4da1ee79c9af |
---|---|
34 | 34 |
35 // The translation tables from a nanox keysym to a SDL keysym | 35 // The translation tables from a nanox keysym to a SDL keysym |
36 static SDLKey NX_NONASCII_keymap[MWKEY_LAST + 1]; | 36 static SDLKey NX_NONASCII_keymap[MWKEY_LAST + 1]; |
37 | 37 |
38 void | 38 void |
39 NX_InitOSKeymap (_THIS) | 39 NX_InitOSKeymap(_THIS) |
40 { | 40 { |
41 int i; | 41 int i; |
42 | 42 |
43 Dprintf ("enter NX_InitOSKeymap\n"); | 43 Dprintf("enter NX_InitOSKeymap\n"); |
44 | 44 |
45 // Map the nanox scancodes to SDL keysyms | 45 // Map the nanox scancodes to SDL keysyms |
46 for (i = 0; i < SDL_arraysize (NX_NONASCII_keymap); ++i) | 46 for (i = 0; i < SDL_arraysize(NX_NONASCII_keymap); ++i) |
47 NX_NONASCII_keymap[i] = SDLK_UNKNOWN; | 47 NX_NONASCII_keymap[i] = SDLK_UNKNOWN; |
48 | 48 |
49 NX_NONASCII_keymap[MWKEY_LEFT & 0xFF] = SDLK_LEFT; | 49 NX_NONASCII_keymap[MWKEY_LEFT & 0xFF] = SDLK_LEFT; |
50 NX_NONASCII_keymap[MWKEY_RIGHT & 0xFF] = SDLK_RIGHT; | 50 NX_NONASCII_keymap[MWKEY_RIGHT & 0xFF] = SDLK_RIGHT; |
51 NX_NONASCII_keymap[MWKEY_UP & 0xFF] = SDLK_UP; | 51 NX_NONASCII_keymap[MWKEY_UP & 0xFF] = SDLK_UP; |
105 NX_NONASCII_keymap[MWKEY_SYSREQ & 0xFF] = SDLK_SYSREQ; | 105 NX_NONASCII_keymap[MWKEY_SYSREQ & 0xFF] = SDLK_SYSREQ; |
106 NX_NONASCII_keymap[MWKEY_PAUSE & 0xFF] = SDLK_PAUSE; | 106 NX_NONASCII_keymap[MWKEY_PAUSE & 0xFF] = SDLK_PAUSE; |
107 NX_NONASCII_keymap[MWKEY_BREAK & 0xFF] = SDLK_BREAK; | 107 NX_NONASCII_keymap[MWKEY_BREAK & 0xFF] = SDLK_BREAK; |
108 NX_NONASCII_keymap[MWKEY_MENU & 0xFF] = SDLK_MENU; | 108 NX_NONASCII_keymap[MWKEY_MENU & 0xFF] = SDLK_MENU; |
109 | 109 |
110 Dprintf ("leave NX_InitOSKeymap\n"); | 110 Dprintf("leave NX_InitOSKeymap\n"); |
111 } | 111 } |
112 | 112 |
113 SDL_keysym * | 113 SDL_keysym * |
114 NX_TranslateKey (GR_EVENT_KEYSTROKE * keystroke, SDL_keysym * keysym) | 114 NX_TranslateKey(GR_EVENT_KEYSTROKE * keystroke, SDL_keysym * keysym) |
115 { | 115 { |
116 GR_KEY ch = keystroke->ch; | 116 GR_KEY ch = keystroke->ch; |
117 | 117 |
118 Dprintf ("enter NX_TranslateKey\n"); | 118 Dprintf("enter NX_TranslateKey\n"); |
119 | 119 |
120 keysym->scancode = keystroke->scancode; | 120 keysym->scancode = keystroke->scancode; |
121 keysym->sym = SDLK_UNKNOWN; | 121 keysym->sym = SDLK_UNKNOWN; |
122 | 122 |
123 if (ch & MWKEY_NONASCII_MASK) { | 123 if (ch & MWKEY_NONASCII_MASK) { |
157 } | 157 } |
158 #endif | 158 #endif |
159 | 159 |
160 keysym->unicode = ch; | 160 keysym->unicode = ch; |
161 | 161 |
162 Dprintf ("leave NX_TranslateKey\n"); | 162 Dprintf("leave NX_TranslateKey\n"); |
163 return keysym; | 163 return keysym; |
164 } | 164 } |
165 | 165 |
166 static int | 166 static int |
167 check_boundary (_THIS, int x, int y) | 167 check_boundary(_THIS, int x, int y) |
168 { | 168 { |
169 if (x < OffsetX || y < OffsetY || x > OffsetX + this->screen->w || | 169 if (x < OffsetX || y < OffsetY || x > OffsetX + this->screen->w || |
170 y > OffsetY + this->screen->h) | 170 y > OffsetY + this->screen->h) |
171 return 0; | 171 return 0; |
172 | 172 |
173 return 1; | 173 return 1; |
174 } | 174 } |
175 | 175 |
176 void | 176 void |
177 NX_PumpEvents (_THIS) | 177 NX_PumpEvents(_THIS) |
178 { | 178 { |
179 GR_EVENT event; | 179 GR_EVENT event; |
180 static GR_BUTTON last_button_down = 0; | 180 static GR_BUTTON last_button_down = 0; |
181 | 181 |
182 GrCheckNextEvent (&event); | 182 GrCheckNextEvent(&event); |
183 while (event.type != GR_EVENT_TYPE_NONE) { | 183 while (event.type != GR_EVENT_TYPE_NONE) { |
184 | 184 |
185 // dispatch event | 185 // dispatch event |
186 switch (event.type) { | 186 switch (event.type) { |
187 case GR_EVENT_TYPE_MOUSE_ENTER: | 187 case GR_EVENT_TYPE_MOUSE_ENTER: |
188 { | 188 { |
189 Dprintf ("mouse enter\n"); | 189 Dprintf("mouse enter\n"); |
190 SDL_PrivateAppActive (1, SDL_APPMOUSEFOCUS); | 190 SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); |
191 break; | 191 break; |
192 } | 192 } |
193 | 193 |
194 case GR_EVENT_TYPE_MOUSE_EXIT: | 194 case GR_EVENT_TYPE_MOUSE_EXIT: |
195 { | 195 { |
196 Dprintf ("mouse exit\n"); | 196 Dprintf("mouse exit\n"); |
197 SDL_PrivateAppActive (0, SDL_APPMOUSEFOCUS); | 197 SDL_PrivateAppActive(0, SDL_APPMOUSEFOCUS); |
198 break; | 198 break; |
199 } | 199 } |
200 | 200 |
201 case GR_EVENT_TYPE_FOCUS_IN: | 201 case GR_EVENT_TYPE_FOCUS_IN: |
202 { | 202 { |
203 Dprintf ("focus in\n"); | 203 Dprintf("focus in\n"); |
204 SDL_PrivateAppActive (1, SDL_APPINPUTFOCUS); | 204 SDL_PrivateAppActive(1, SDL_APPINPUTFOCUS); |
205 break; | 205 break; |
206 } | 206 } |
207 | 207 |
208 case GR_EVENT_TYPE_FOCUS_OUT: | 208 case GR_EVENT_TYPE_FOCUS_OUT: |
209 { | 209 { |
210 Dprintf ("focus out\n"); | 210 Dprintf("focus out\n"); |
211 SDL_PrivateAppActive (0, SDL_APPINPUTFOCUS); | 211 SDL_PrivateAppActive(0, SDL_APPINPUTFOCUS); |
212 break; | 212 break; |
213 } | 213 } |
214 | 214 |
215 case GR_EVENT_TYPE_MOUSE_MOTION: | 215 case GR_EVENT_TYPE_MOUSE_MOTION: |
216 { | 216 { |
217 Dprintf ("mouse motion\n"); | 217 Dprintf("mouse motion\n"); |
218 | 218 |
219 if (SDL_VideoSurface) { | 219 if (SDL_VideoSurface) { |
220 if (currently_fullscreen) { | 220 if (currently_fullscreen) { |
221 if (check_boundary | 221 if (check_boundary |
222 (this, event.button.x, event.button.y)) { | 222 (this, event.button.x, event.button.y)) { |
223 SDL_PrivateMouseMotion (0, 0, | 223 SDL_PrivateMouseMotion(0, 0, |
224 event.button.x - | 224 event.button.x - |
225 OffsetX, | 225 OffsetX, |
226 event.button.y - OffsetY); | 226 event.button.y - OffsetY); |
227 } | 227 } |
228 } else { | 228 } else { |
229 SDL_PrivateMouseMotion (0, 0, event.button.x, | 229 SDL_PrivateMouseMotion(0, 0, event.button.x, |
230 event.button.y); | 230 event.button.y); |
231 } | 231 } |
232 } | 232 } |
233 break; | 233 break; |
234 } | 234 } |
235 | 235 |
236 case GR_EVENT_TYPE_BUTTON_DOWN: | 236 case GR_EVENT_TYPE_BUTTON_DOWN: |
237 { | 237 { |
238 int button = event.button.buttons; | 238 int button = event.button.buttons; |
239 | 239 |
240 Dprintf ("button down\n"); | 240 Dprintf("button down\n"); |
241 | 241 |
242 switch (button) { | 242 switch (button) { |
243 case MWBUTTON_L: | 243 case MWBUTTON_L: |
244 button = 1; | 244 button = 1; |
245 break; | 245 break; |
253 button = 0; | 253 button = 0; |
254 } | 254 } |
255 last_button_down = button; | 255 last_button_down = button; |
256 | 256 |
257 if (currently_fullscreen) { | 257 if (currently_fullscreen) { |
258 if (check_boundary (this, event.button.x, event.button.y)) { | 258 if (check_boundary(this, event.button.x, event.button.y)) { |
259 SDL_PrivateMouseButton (SDL_PRESSED, button, | 259 SDL_PrivateMouseButton(SDL_PRESSED, button, |
260 event.button.x - | 260 event.button.x - |
261 OffsetX, | 261 OffsetX, |
262 event.button.y - OffsetY); | 262 event.button.y - OffsetY); |
263 } | 263 } |
264 } else { | 264 } else { |
265 SDL_PrivateMouseButton (SDL_PRESSED, button, | 265 SDL_PrivateMouseButton(SDL_PRESSED, button, |
266 event.button.x, event.button.y); | 266 event.button.x, event.button.y); |
267 } | 267 } |
268 break; | 268 break; |
269 } | 269 } |
270 | 270 |
271 // do not konw which button is released | 271 // do not konw which button is released |
272 case GR_EVENT_TYPE_BUTTON_UP: | 272 case GR_EVENT_TYPE_BUTTON_UP: |
273 { | 273 { |
274 Dprintf ("button up\n"); | 274 Dprintf("button up\n"); |
275 | 275 |
276 if (currently_fullscreen) { | 276 if (currently_fullscreen) { |
277 if (check_boundary (this, event.button.x, event.button.y)) { | 277 if (check_boundary(this, event.button.x, event.button.y)) { |
278 SDL_PrivateMouseButton (SDL_RELEASED, | 278 SDL_PrivateMouseButton(SDL_RELEASED, |
279 last_button_down, | 279 last_button_down, |
280 event.button.x - | 280 event.button.x - |
281 OffsetX, | 281 OffsetX, |
282 event.button.y - OffsetY); | 282 event.button.y - OffsetY); |
283 } | 283 } |
284 } else { | 284 } else { |
285 SDL_PrivateMouseButton (SDL_RELEASED, | 285 SDL_PrivateMouseButton(SDL_RELEASED, |
286 last_button_down, | 286 last_button_down, |
287 event.button.x, event.button.y); | 287 event.button.x, event.button.y); |
288 } | 288 } |
289 last_button_down = 0; | 289 last_button_down = 0; |
290 break; | 290 break; |
291 } | 291 } |
292 | 292 |
293 case GR_EVENT_TYPE_KEY_DOWN: | 293 case GR_EVENT_TYPE_KEY_DOWN: |
294 { | 294 { |
295 SDL_keysym keysym; | 295 SDL_keysym keysym; |
296 | 296 |
297 Dprintf ("key down\n"); | 297 Dprintf("key down\n"); |
298 SDL_PrivateKeyboard (SDL_PRESSED, | 298 SDL_PrivateKeyboard(SDL_PRESSED, |
299 NX_TranslateKey (&event.keystroke, | 299 NX_TranslateKey(&event.keystroke, |
300 &keysym)); | 300 &keysym)); |
301 break; | 301 break; |
302 } | 302 } |
303 | 303 |
304 case GR_EVENT_TYPE_KEY_UP: | 304 case GR_EVENT_TYPE_KEY_UP: |
305 { | 305 { |
306 SDL_keysym keysym; | 306 SDL_keysym keysym; |
307 | 307 |
308 Dprintf ("key up\n"); | 308 Dprintf("key up\n"); |
309 SDL_PrivateKeyboard (SDL_RELEASED, | 309 SDL_PrivateKeyboard(SDL_RELEASED, |
310 NX_TranslateKey (&event.keystroke, | 310 NX_TranslateKey(&event.keystroke, |
311 &keysym)); | 311 &keysym)); |
312 break; | 312 break; |
313 } | 313 } |
314 | 314 |
315 case GR_EVENT_TYPE_CLOSE_REQ: | 315 case GR_EVENT_TYPE_CLOSE_REQ: |
316 { | 316 { |
317 Dprintf ("close require\n"); | 317 Dprintf("close require\n"); |
318 SDL_PrivateQuit (); | 318 SDL_PrivateQuit(); |
319 break; | 319 break; |
320 } | 320 } |
321 | 321 |
322 case GR_EVENT_TYPE_EXPOSURE: | 322 case GR_EVENT_TYPE_EXPOSURE: |
323 { | 323 { |
324 Dprintf ("event_type_exposure\n"); | 324 Dprintf("event_type_exposure\n"); |
325 if (SDL_VideoSurface) { | 325 if (SDL_VideoSurface) { |
326 NX_RefreshDisplay (this); //, & event.exposure) ; | 326 NX_RefreshDisplay(this); //, & event.exposure) ; |
327 } | 327 } |
328 break; | 328 break; |
329 } | 329 } |
330 | 330 |
331 case GR_EVENT_TYPE_UPDATE: | 331 case GR_EVENT_TYPE_UPDATE: |
332 { | 332 { |
333 switch (event.update.utype) { | 333 switch (event.update.utype) { |
334 case GR_UPDATE_MAP: | 334 case GR_UPDATE_MAP: |
335 { | 335 { |
336 Dprintf ("GR_UPDATE_MAP\n"); | 336 Dprintf("GR_UPDATE_MAP\n"); |
337 // If we're not active, make ourselves active | 337 // If we're not active, make ourselves active |
338 if (!(SDL_GetAppState () & SDL_APPACTIVE)) { | 338 if (!(SDL_GetAppState() & SDL_APPACTIVE)) { |
339 // Send an internal activate event | 339 // Send an internal activate event |
340 SDL_PrivateAppActive (1, SDL_APPACTIVE); | 340 SDL_PrivateAppActive(1, SDL_APPACTIVE); |
341 } | 341 } |
342 if (SDL_VideoSurface) { | 342 if (SDL_VideoSurface) { |
343 NX_RefreshDisplay (this); | 343 NX_RefreshDisplay(this); |
344 } | 344 } |
345 break; | 345 break; |
346 } | 346 } |
347 | 347 |
348 case GR_UPDATE_UNMAP: | 348 case GR_UPDATE_UNMAP: |
349 case GR_UPDATE_UNMAPTEMP: | 349 case GR_UPDATE_UNMAPTEMP: |
350 { | 350 { |
351 Dprintf ("GR_UPDATE_UNMAP or GR_UPDATE_UNMAPTEMP\n"); | 351 Dprintf("GR_UPDATE_UNMAP or GR_UPDATE_UNMAPTEMP\n"); |
352 // If we're active, make ourselves inactive | 352 // If we're active, make ourselves inactive |
353 if (SDL_GetAppState () & SDL_APPACTIVE) { | 353 if (SDL_GetAppState() & SDL_APPACTIVE) { |
354 // Send an internal deactivate event | 354 // Send an internal deactivate event |
355 SDL_PrivateAppActive (0, | 355 SDL_PrivateAppActive(0, |
356 SDL_APPACTIVE | | 356 SDL_APPACTIVE | |
357 SDL_APPINPUTFOCUS); | 357 SDL_APPINPUTFOCUS); |
358 } | 358 } |
359 break; | 359 break; |
360 } | 360 } |
361 | 361 |
362 case GR_UPDATE_SIZE: | 362 case GR_UPDATE_SIZE: |
363 { | 363 { |
364 Dprintf ("GR_UPDATE_SIZE\n"); | 364 Dprintf("GR_UPDATE_SIZE\n"); |
365 SDL_PrivateResize (event.update.width, | 365 SDL_PrivateResize(event.update.width, |
366 event.update.height); | 366 event.update.height); |
367 break; | 367 break; |
368 } | 368 } |
369 | 369 |
370 case GR_UPDATE_MOVE: | 370 case GR_UPDATE_MOVE: |
371 case GR_UPDATE_REPARENT: | 371 case GR_UPDATE_REPARENT: |
372 { | 372 { |
373 Dprintf ("GR_UPDATE_MOVE or GR_UPDATE_REPARENT\n"); | 373 Dprintf("GR_UPDATE_MOVE or GR_UPDATE_REPARENT\n"); |
374 #ifdef ENABLE_NANOX_DIRECT_FB | 374 #ifdef ENABLE_NANOX_DIRECT_FB |
375 if (Clientfb) { | 375 if (Clientfb) { |
376 /* Get current window position and fb pointer */ | 376 /* Get current window position and fb pointer */ |
377 if (currently_fullscreen) | 377 if (currently_fullscreen) |
378 GrGetWindowFBInfo (FSwindow, &fbinfo); | 378 GrGetWindowFBInfo(FSwindow, &fbinfo); |
379 else | 379 else |
380 GrGetWindowFBInfo (SDL_Window, &fbinfo); | 380 GrGetWindowFBInfo(SDL_Window, &fbinfo); |
381 } | 381 } |
382 #endif | 382 #endif |
383 break; | 383 break; |
384 } | 384 } |
385 | 385 |
386 default: | 386 default: |
387 Dprintf ("unknown GR_EVENT_TYPE_UPDATE\n"); | 387 Dprintf("unknown GR_EVENT_TYPE_UPDATE\n"); |
388 break; | 388 break; |
389 } | 389 } |
390 break; | 390 break; |
391 } | 391 } |
392 | 392 |
393 default: | 393 default: |
394 { | 394 { |
395 Dprintf ("pump event default\n"); | 395 Dprintf("pump event default\n"); |
396 } | 396 } |
397 } | 397 } |
398 | 398 |
399 GrCheckNextEvent (&event); | 399 GrCheckNextEvent(&event); |
400 } | 400 } |
401 } | 401 } |
402 | 402 |
403 /* vi: set ts=4 sw=4 expandtab: */ | 403 /* vi: set ts=4 sw=4 expandtab: */ |