diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-07-11 18:40:02 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2006-07-11 18:40:02 +0000 |
commit | 9f4c23ecc5d2dd0732634c1581b6a99cee0ecd63 (patch) | |
tree | ee19261cd606d5b0e58bf017cae6302292f062c6 /Gui/wm | |
parent | b6091747f13eff9151817e3541c77a002517b359 (diff) |
Somewhat fix Gui with xinerama, reuse existing code, maybe one day the Gui will
consist of something besides duplicate code.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19017 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'Gui/wm')
-rw-r--r-- | Gui/wm/ws.c | 30 |
1 files changed, 12 insertions, 18 deletions
diff --git a/Gui/wm/ws.c b/Gui/wm/ws.c index 3edb6d245d..5e2e010bf3 100644 --- a/Gui/wm/ws.c +++ b/Gui/wm/ws.c @@ -237,24 +237,6 @@ wsXDNDInitialize(); wsScreen=DefaultScreen( wsDisplay ); wsRootWin=RootWindow( wsDisplay,wsScreen ); -#ifdef HAVE_XINERAMA - if(XineramaIsActive(wsDisplay)) - { - XineramaScreenInfo *screens; - int num_screens; - - screens = XineramaQueryScreens(wsDisplay, &num_screens); - if(xinerama_screen >= num_screens) xinerama_screen = 0; - wsOrgX = screens[xinerama_screen].x_org; - wsOrgY = screens[xinerama_screen].y_org; - wsMaxX=screens[xinerama_screen].width; - wsMaxY=screens[xinerama_screen].height; - mp_msg( MSGT_GPLAYER,MSGL_V,"[ws] screens %d Max %d, %d Org %d,%d\n", - num_screens, wsMaxX, wsMaxY, wsOrgX, wsOrgY); - XFree(screens); - } - else -#endif #ifdef HAVE_XF86VM { int clock; @@ -272,6 +254,11 @@ wsXDNDInitialize(); if ( !wsMaxY ) wsMaxY=DisplayHeight( wsDisplay,wsScreen ); } + vo_screenwidth = wsMaxX; vo_screenheight = wsMaxY; + xinerama_x = wsOrgX; xinerama_y = wsOrgY; + update_xinerama_info(); + wsMaxX = vo_screenwidth; wsMaxY = vo_screenheight; + wsOrgX = xinerama_x; wsOrgY = xinerama_y; wsGetDepthOnScreen(); #ifdef DEBUG @@ -794,6 +781,13 @@ void wsFullScreen( wsTWindow * win ) { win->OldX=win->X; win->OldY=win->Y; win->OldWidth=win->Width; win->OldHeight=win->Height; + vo_dx = win->X; vo_dy = win->Y; + vo_dwidth = win->Width; vo_dheight = win->Height; + vo_screenwidth = wsMaxX; vo_screenheight = wsMaxY; + xinerama_x = wsOrgX; xinerama_y = wsOrgY; + update_xinerama_info(); + wsMaxX = vo_screenwidth; wsMaxY = vo_screenheight; + wsOrgX = xinerama_x; wsOrgY = xinerama_y; win->X=wsOrgX; win->Y=wsOrgY; win->Width=wsMaxX; win->Height=wsMaxY; } |