#define dbg(...)
#endif
+struct x11reuse_context;
+
struct SDL_PrivateVideoData {
struct vout_fbdev *fbdev;
- void *saved_layer;
+ void *front_buffer;
+ void *layer_state;
/* physical screen size, should match touchscreen */
int phys_w, phys_h;
/* layer */
/* phys -> layer coord multipliers (16.16) */
int ts_xmul, ts_ymul;
/* misc/config */
+ struct x11reuse_context *x11reuse_context;
unsigned int xenv_up:1;
unsigned int xenv_mouse:1;
unsigned int app_uses_flip:1;
unsigned int cfg_force_vsync:1;
unsigned int cfg_force_doublebuf:1;
+ unsigned int cfg_force_directbuf:1;
unsigned int cfg_no_ts_translate:1;
unsigned int cfg_ts_force_tslib:1;
+ /* delayed icon surface */
+ struct SDL_Surface *delayed_icon;
+ void *delayed_icon_mask;
};
void *osdl_video_set_mode(struct SDL_PrivateVideoData *pdata,
int border_l, int border_r, int border_t, int border_b,
- int width, int height, int bpp, int *doublebuf);
+ int width, int height, int bpp, int *doublebuf,
+ const char *wm_title);
void *osdl_video_flip(struct SDL_PrivateVideoData *pdata);
+void *osdl_video_get_active_buffer(struct SDL_PrivateVideoData *pdata);
int osdl_video_detect_screen(struct SDL_PrivateVideoData *pdata);
+int osdl_video_pause(struct SDL_PrivateVideoData *pdata, int is_pause);
+int osdl_video_get_window(void **display, int *screen, void **window);
void osdl_video_finish(struct SDL_PrivateVideoData *pdata);
void omapsdl_input_init(void);
void omapsdl_input_bind(const char *kname, const char *sdlname);
int omapsdl_input_get_events(int timeout_ms,
- int (*key_cb)(void *cb_arg, int sdl_kc, int is_pressed),
+ int (*key_cb)(void *cb_arg, int sdl_kc, int sdl_sc, int is_pressed),
int (*ts_cb)(void *cb_arg, int x, int y, unsigned int pressure),
void *cb_arg);
void omapsdl_input_finish(void);