X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fvideo%2Fomapdss%2Fomapsdl.h;h=12a6f6e49346aa7dd285bdd3dfec0d51078fa1a3;hb=0c7caf2be89c7285aed60c5cb7a5ace9776033ab;hp=5e737823623bcee9ddd594006ab29a53d7b8aa21;hpb=f9b3f440374c61339a12046b226066658e313065;p=sdl_omap.git diff --git a/src/video/omapdss/omapsdl.h b/src/video/omapdss/omapsdl.h index 5e73782..12a6f6e 100644 --- a/src/video/omapdss/omapsdl.h +++ b/src/video/omapdss/omapsdl.h @@ -1,5 +1,5 @@ /* - * (C) Gražvydas "notaz" Ignotas, 2010 + * (C) Gražvydas "notaz" Ignotas, 2010-2012 * * This work is licensed under the terms of the GNU LGPL, version 2.1 or later. * See the COPYING file in the top-level directory. @@ -28,11 +28,25 @@ struct SDL_PrivateVideoData { struct vout_fbdev *fbdev; void *saved_layer; - int screen_w, screen_h; + /* physical screen size, should match touchscreen */ + int phys_w, phys_h; + /* layer */ + int layer_x, layer_y, layer_w, layer_h; + /* SDL surface borders to hide */ + int border_l, border_r, border_t, border_b; + /* phys -> layer coord multipliers (16.16) */ + int ts_xmul, ts_ymul; + /* misc/config */ unsigned int xenv_up:1; + unsigned int app_uses_flip:1; + unsigned int cfg_force_vsync:1; + unsigned int cfg_force_doublebuf:1; + unsigned int cfg_no_ts_translate:1; }; -int osdl_video_set_mode(struct SDL_PrivateVideoData *pdata, int width, int height, int bpp); +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); void *osdl_video_flip(struct SDL_PrivateVideoData *pdata); int osdl_video_detect_screen(struct SDL_PrivateVideoData *pdata); void osdl_video_finish(struct SDL_PrivateVideoData *pdata); @@ -45,11 +59,9 @@ int omapsdl_input_get_events(int timeout_ms, void *cb_arg); void omapsdl_input_finish(void); -void omapsdl_config(void); -void omapsdl_config_from_env(void); +void omapsdl_config(struct SDL_PrivateVideoData *pdata); +void omapsdl_config_from_env(struct SDL_PrivateVideoData *pdata); /* functions for standalone */ void do_clut(void *dest, void *src, unsigned short *pal, int count); -/* config */ -extern int gcfg_force_vsync;