blob: 51fff2e9b8c507beb4695f4b4e097d84e21d7cdf [file] [log] [blame]
Gerd Hoffmann5d0fe652014-11-11 10:21:24 +01001#ifndef SDL2_H
2#define SDL2_H
3
4struct sdl2_console {
5 DisplayChangeListener dcl;
6 DisplaySurface *surface;
7 SDL_Texture *texture;
8 SDL_Window *real_window;
9 SDL_Renderer *real_renderer;
10 int idx;
11 int last_vm_running; /* per console for caption reasons */
12 int x, y;
13 int hidden;
14};
15
Gerd Hoffmann2c3056f2014-11-11 13:22:49 +010016void sdl2_window_create(struct sdl2_console *scon);
17void sdl2_window_destroy(struct sdl2_console *scon);
18void sdl2_window_resize(struct sdl2_console *scon);
Gerd Hoffmann63ed4902014-11-12 08:01:27 +010019void sdl2_poll_events(struct sdl2_console *scon);
Gerd Hoffmann2c3056f2014-11-11 13:22:49 +010020
Gerd Hoffmann8fc1a3f2014-11-11 10:58:19 +010021void sdl2_reset_keys(struct sdl2_console *scon);
22void sdl2_process_key(struct sdl2_console *scon,
23 SDL_KeyboardEvent *ev);
24
Gerd Hoffmannf1ddebd2014-11-11 11:09:26 +010025void sdl2_2d_update(DisplayChangeListener *dcl,
26 int x, int y, int w, int h);
Gerd Hoffmann2c3056f2014-11-11 13:22:49 +010027void sdl2_2d_switch(DisplayChangeListener *dcl,
28 DisplaySurface *new_surface);
Gerd Hoffmann62959ff2014-11-12 08:03:34 +010029void sdl2_2d_refresh(DisplayChangeListener *dcl);
Gerd Hoffmann0d01b7c2014-11-11 13:31:08 +010030void sdl2_2d_redraw(struct sdl2_console *scon);
Gerd Hoffmann877417d2015-01-09 09:27:09 +010031bool sdl2_2d_check_format(DisplayChangeListener *dcl,
32 pixman_format_code_t format);
Gerd Hoffmannf1ddebd2014-11-11 11:09:26 +010033
Gerd Hoffmann5d0fe652014-11-11 10:21:24 +010034#endif /* SDL2_H */