comparison render_sdl.c @ 915:9e882eca717e

Initial support for relative mouse mode and skeleton of support for capture mode. Avoid mouse position overflow in absolute mode. Allow absolute mode to be set by ROM DB.
author Michael Pavone <pavone@retrodev.com>
date Tue, 15 Dec 2015 20:01:50 -0800
parents 28ec32e720b2
children 9364dad5561a
comparison
equal deleted inserted replaced
914:28ec32e720b2 915:9e882eca717e
20 SDL_Renderer *main_renderer; 20 SDL_Renderer *main_renderer;
21 SDL_Texture *main_texture; 21 SDL_Texture *main_texture;
22 SDL_Rect main_clip; 22 SDL_Rect main_clip;
23 SDL_GLContext *main_context; 23 SDL_GLContext *main_context;
24 24
25 int main_width, main_height; 25 int main_width, main_height, is_fullscreen;
26 26
27 uint8_t render_dbg = 0; 27 uint8_t render_dbg = 0;
28 uint8_t debug_pal = 0; 28 uint8_t debug_pal = 0;
29 uint8_t render_gl = 1; 29 uint8_t render_gl = 1;
30 30
104 } 104 }
105 105
106 int render_height() 106 int render_height()
107 { 107 {
108 return main_height; 108 return main_height;
109 }
110
111 int render_fullscreen()
112 {
113 return is_fullscreen;
109 } 114 }
110 115
111 uint32_t render_map_color(uint8_t r, uint8_t g, uint8_t b) 116 uint32_t render_map_color(uint8_t r, uint8_t g, uint8_t b)
112 { 117 {
113 return 255 << 24 | r << 16 | g << 8 | b; 118 return 255 << 24 | r << 16 | g << 8 | b;
263 width = mode.w; 268 width = mode.w;
264 height = mode.h; 269 height = mode.h;
265 } 270 }
266 main_width = width; 271 main_width = width;
267 main_height = height; 272 main_height = height;
273 is_fullscreen = fullscreen;
268 274
269 render_gl = 0; 275 render_gl = 0;
270 276
271 #ifndef DISABLE_OPENGL 277 #ifndef DISABLE_OPENGL
272 flags |= SDL_WINDOW_OPENGL; 278 flags |= SDL_WINDOW_OPENGL;
557 break; 563 break;
558 case SDL_JOYHATMOTION: 564 case SDL_JOYHATMOTION:
559 handle_joy_dpad(event->jbutton.which, event->jhat.hat, event->jhat.value); 565 handle_joy_dpad(event->jbutton.which, event->jhat.hat, event->jhat.value);
560 break; 566 break;
561 case SDL_MOUSEMOTION: 567 case SDL_MOUSEMOTION:
562 handle_mouse_moved(event->motion.which, event->motion.x, event->motion.y); 568 handle_mouse_moved(event->motion.which, event->motion.x, event->motion.y, event->motion.xrel, event->motion.yrel);
563 break; 569 break;
564 case SDL_MOUSEBUTTONDOWN: 570 case SDL_MOUSEBUTTONDOWN:
565 handle_mousedown(event->button.which, event->button.button); 571 handle_mousedown(event->button.which, event->button.button);
566 break; 572 break;
567 case SDL_MOUSEBUTTONUP: 573 case SDL_MOUSEBUTTONUP: