comparison io.c @ 1202:a6ae693974e0

Allow toggling full screen mode at runtime. Allow resizing the window in windowed mode. Allow specifying the aspect ratio in the config file.
author Michael Pavone <pavone@retrodev.com>
date Thu, 26 Jan 2017 00:55:02 -0800
parents 9bc78bd89567
children 9d6f155732ed
comparison
equal deleted inserted replaced
1201:aee2177a1630 1202:a6ae693974e0
68 UI_SAVE_STATE, 68 UI_SAVE_STATE,
69 UI_SET_SPEED, 69 UI_SET_SPEED,
70 UI_NEXT_SPEED, 70 UI_NEXT_SPEED,
71 UI_PREV_SPEED, 71 UI_PREV_SPEED,
72 UI_RELEASE_MOUSE, 72 UI_RELEASE_MOUSE,
73 UI_TOGGLE_FULLSCREEN,
73 UI_EXIT 74 UI_EXIT
74 } ui_action; 75 } ui_action;
75 76
76 typedef enum { 77 typedef enum {
77 MOUSE_ABSOLUTE, //really only useful for menu ROM 78 MOUSE_ABSOLUTE, //really only useful for menu ROM
413 if (current_io->mouse_captured) { 414 if (current_io->mouse_captured) {
414 current_io->mouse_captured = 0; 415 current_io->mouse_captured = 0;
415 render_relative_mouse(0); 416 render_relative_mouse(0);
416 } 417 }
417 break; 418 break;
419 case UI_TOGGLE_FULLSCREEN:
420 render_toggle_fullscreen();
421 break;
418 case UI_EXIT: 422 case UI_EXIT:
419 current_system->request_exit(current_system); 423 current_system->request_exit(current_system);
420 break; 424 break;
421 } 425 }
422 break; 426 break;
558 *ui_out = UI_NEXT_SPEED; 562 *ui_out = UI_NEXT_SPEED;
559 } else if(!strcmp(target + 3, "prev_speed")) { 563 } else if(!strcmp(target + 3, "prev_speed")) {
560 *ui_out = UI_PREV_SPEED; 564 *ui_out = UI_PREV_SPEED;
561 } else if(!strcmp(target + 3, "release_mouse")) { 565 } else if(!strcmp(target + 3, "release_mouse")) {
562 *ui_out = UI_RELEASE_MOUSE; 566 *ui_out = UI_RELEASE_MOUSE;
567 } else if (!strcmp(target + 3, "toggle_fullscreen")) {
568 *ui_out = UI_TOGGLE_FULLSCREEN;
563 } else if(!strcmp(target + 3, "exit")) { 569 } else if(!strcmp(target + 3, "exit")) {
564 *ui_out = UI_EXIT; 570 *ui_out = UI_EXIT;
565 } else { 571 } else {
566 warning("Unreconized UI binding type %s\n", target); 572 warning("Unreconized UI binding type %s\n", target);
567 return 0; 573 return 0;