use offscreen blitting when SDL_DOUBLEBUF is not set
[sdl_omap.git] / src / video / omapdss / osdl.h
index 12a6f6e..6b78977 100644 (file)
@@ -27,6 +27,7 @@
 
 struct SDL_PrivateVideoData {
        struct vout_fbdev *fbdev;
+       void *front_buffer;
        void *saved_layer;
        /* physical screen size, should match touchscreen */
        int phys_w, phys_h;
@@ -38,23 +39,29 @@ struct SDL_PrivateVideoData {
        int ts_xmul, ts_ymul;
        /* misc/config */
        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;
 };
 
 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);
 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);