diff options
-rw-r--r-- | frontend_local.c | 9 | ||||
-rw-r--r-- | xine_fbfe_frontend.c | 24 | ||||
-rw-r--r-- | xine_frontend.h | 10 | ||||
-rw-r--r-- | xine_frontend_main.c | 4 | ||||
-rw-r--r-- | xine_sxfe_frontend.c | 13 |
5 files changed, 37 insertions, 23 deletions
diff --git a/frontend_local.c b/frontend_local.c index 354e9b25..e46d6b88 100644 --- a/frontend_local.c +++ b/frontend_local.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: frontend_local.c,v 1.39 2009-05-03 20:11:39 phintuka Exp $ + * $Id: frontend_local.c,v 1.40 2009-05-31 16:51:26 phintuka Exp $ * */ @@ -201,8 +201,9 @@ void cXinelibLocal::ConfigureWindow(int fullscreen, int width, int height, { LOCK_FE; if(fe) - fe->fe_display_config(fe, width, height, fullscreen, modeswitch, modeline, - aspect, scale_video, field_order); + fe->fe_display_config(fe, -1, -1, width, height, + fullscreen, modeswitch, modeline, + aspect, scale_video, field_order); } void cXinelibLocal::ConfigureDecoder(int pes_buffers) @@ -344,7 +345,7 @@ void cXinelibLocal::Action(void) SetStopSignal(); } else { LOGDBG("cXinelibLocal::Action - fe created"); - if(!curr_fe->fe_display_open(curr_fe, xc.width, xc.height, xc.fullscreen, xc.hud_osd, + if(!curr_fe->fe_display_open(curr_fe, 0, 0, xc.width, xc.height, xc.fullscreen, xc.hud_osd, xc.modeswitch, xc.modeline, xc.display_aspect, keypress_handler, 0/*no_x_kbd*/, 0/*gui_hotkeys*/, xc.video_port, diff --git a/xine_fbfe_frontend.c b/xine_fbfe_frontend.c index 811154d8..b1394dec 100644 --- a/xine_fbfe_frontend.c +++ b/xine_fbfe_frontend.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_fbfe_frontend.c,v 1.44 2009-02-21 11:55:37 phintuka Exp $ + * $Id: xine_fbfe_frontend.c,v 1.45 2009-05-31 16:51:26 phintuka Exp $ * */ @@ -116,7 +116,9 @@ static void update_DFBARGS(const char *fb_dev) /* * fbfe_display_open */ -static int fbfe_display_open(frontend_t *this_gen, int width, int height, int fullscreen, int hud, +static int fbfe_display_open(frontend_t *this_gen, + int xpos, int ypos, + int width, int height, int fullscreen, int hud, int modeswitch, const char *modeline, int aspect, fe_keypress_f keyfunc, int no_x_kbd, int gui_hotkeys, const char *video_port, int scale_video, int field_order, @@ -138,8 +140,8 @@ static int fbfe_display_open(frontend_t *this_gen, int width, int height, int fu LOGDBG("fbfe_display_open(width=%d, height=%d, fullscreen=%d, display=%s)", width, height, fullscreen, video_port); - this->x.xpos = 0; - this->x.ypos = 0; + this->x.xpos = xpos; + this->x.ypos = ypos; this->x.width = width; this->x.height = height; this->x.aspect = aspect; @@ -189,17 +191,21 @@ static int fbfe_display_open(frontend_t *this_gen, int width, int height, int fu * * configure windows */ -static int fbfe_display_config(frontend_t *this_gen, int width, int height, int fullscreen, - int modeswitch, const char *modeline, int aspect, - int scale_video, int field_order) +static int fbfe_display_config(frontend_t *this_gen, + int xpos, int ypos, + int width, int height, int fullscreen, + int modeswitch, const char *modeline, + int aspect, int scale_video, int field_order) { fbfe_t *this = (fbfe_t*)this_gen; if(!this) return 0; - this->x.width = width; - this->x.height = height; + this->x.xpos = xpos >= 0 ? xpos : this->x.xpos; + this->x.ypos = ypos >= 0 ? ypos : this->x.ypos; + this->x.width = width >= 0 ? width : this->x.width; + this->x.height = height >= 0 ? height : this->x.height; this->x.aspect = aspect; this->x.scale_video = scale_video; this->x.field_order = field_order; diff --git a/xine_frontend.h b/xine_frontend.h index c6cbe5eb..f588dc04 100644 --- a/xine_frontend.h +++ b/xine_frontend.h @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_frontend.h,v 1.18 2009-02-21 11:55:37 phintuka Exp $ + * $Id: xine_frontend.h,v 1.19 2009-05-31 16:51:25 phintuka Exp $ * */ @@ -61,14 +61,18 @@ struct frontend_config_s { struct frontend_s { /* Display */ - int (*fe_display_open)(frontend_t*, int winwidth, int winheight, + int (*fe_display_open)(frontend_t*, + int xpos, int ypos, + int winwidth, int winheight, int fullscreen, int hud, int modeswitch, const char *modeline, int aspect, fe_keypress_f keypresshandler, int no_x_kbd, int gui_hotkeys, const char *video_port, int scale_video, int field_order, const char *aspect_controller, int window_id); - int (*fe_display_config)(frontend_t *, int width, int height, + int (*fe_display_config)(frontend_t *, + int xpos, int ypos, + int width, int height, int fullscreen, int modeswitch, const char *modeline, int aspect, int scale_video, int field_order); diff --git a/xine_frontend_main.c b/xine_frontend_main.c index b45cb357..03143a07 100644 --- a/xine_frontend_main.c +++ b/xine_frontend_main.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_frontend_main.c,v 1.74 2009-02-21 11:55:37 phintuka Exp $ + * $Id: xine_frontend_main.c,v 1.75 2009-05-31 16:51:26 phintuka Exp $ * */ @@ -702,7 +702,7 @@ int main(int argc, char *argv[]) } /* Initialize display */ - if (!fe->fe_display_open(fe, width, height, fullscreen, hud, 0, + if (!fe->fe_display_open(fe, 0, 0, width, height, fullscreen, hud, 0, "", aspect, NULL, noxkbd, gui_hotkeys, video_port, scale_video, 0, aspect_controller, window_id)) { diff --git a/xine_sxfe_frontend.c b/xine_sxfe_frontend.c index f3625ec0..e4aba486 100644 --- a/xine_sxfe_frontend.c +++ b/xine_sxfe_frontend.c @@ -4,7 +4,7 @@ * See the main source file 'xineliboutput.c' for copyright information and * how to reach the author. * - * $Id: xine_sxfe_frontend.c,v 1.110 2009-02-21 11:55:37 phintuka Exp $ + * $Id: xine_sxfe_frontend.c,v 1.111 2009-05-31 16:51:26 phintuka Exp $ * */ @@ -1098,7 +1098,9 @@ static void create_windows(sxfe_t *this) * * connect to X server, create windows */ -static int sxfe_display_open(frontend_t *this_gen, int width, int height, int fullscreen, int hud, +static int sxfe_display_open(frontend_t *this_gen, + int xpos, int ypos, + int width, int height, int fullscreen, int hud, int modeswitch, const char *modeline, int aspect, fe_keypress_f keyfunc, int no_x_kbd, int gui_hotkeys, const char *video_port, int scale_video, int field_order, @@ -1128,8 +1130,8 @@ static int sxfe_display_open(frontend_t *this_gen, int width, int height, int fu #endif } - this->x.xpos = 0; - this->x.ypos = 0; + this->x.xpos = xpos; + this->x.ypos = ypos; this->x.width = width; this->x.height = height; this->x.aspect = aspect; @@ -1265,6 +1267,7 @@ static int sxfe_display_open(frontend_t *this_gen, int width, int height, int fu * configure windows */ static int sxfe_display_config(frontend_t *this_gen, + int xpos, int ypos, int width, int height, int fullscreen, int modeswitch, const char *modeline, int aspect, int scale_video, @@ -1358,7 +1361,7 @@ static void sxfe_toggle_fullscreen(fe_t *this_gen) this->x.ypos = this->origypos; } - this->fe.fe_display_config((frontend_t*)this, this->origwidth, this->origheight, + this->fe.fe_display_config((frontend_t*)this, -1, -1, this->origwidth, this->origheight, this->fullscreen ? 0 : 1, 0/*this->vmode_switch*/, NULL/*this->modeline*/, this->x.aspect, this->x.scale_video, this->x.field_order); |