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: */