aboutsummaryrefslogtreecommitdiffhomepage
path: root/libvo
diff options
context:
space:
mode:
authorGravatar arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-05 15:33:50 +0000
committerGravatar arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-05-05 15:33:50 +0000
commit4b4a3421eaac8bd99a0137402aa70c7834979445 (patch)
tree2a5b409d8b056dbf2ec8dc6cdd6803278c6e9098 /libvo
parent7a4298edc05dcc54ef9c49e074cfd6ca84172bec (diff)
- the "black bars" in xv bug fixed (drwX=drwY=0)
- -fsmode is working again - BaseSize flag for upscale-only Xv drivers (disabled now) patch by Tom Lees <tal26@cam.ac.uk> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5982 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/vo_xv.c5
-rw-r--r--libvo/x11_common.c7
2 files changed, 6 insertions, 6 deletions
diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c
index 4f920627f4..8dc55f461d 100644
--- a/libvo/vo_xv.c
+++ b/libvo/vo_xv.c
@@ -402,7 +402,8 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
}
// dwidth=d_width; dheight=d_height; //XXX: what are the copy vars used for?
vo_dwidth=d_width; vo_dheight=d_height;
- hint.flags = PPosition | PSize;
+ hint.flags = PPosition | PSize /* | PBaseSize */;
+ hint.base_width = hint.width; hint.base_height = hint.height;
XGetWindowAttributes(mDisplay, DefaultRootWindow(mDisplay), &attribs);
depth=attribs.depth;
if (depth != 15 && depth != 16 && depth != 24 && depth != 32) depth = 24;
@@ -433,6 +434,7 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
))
);
XSetStandardProperties(mDisplay, vo_window, hello, hello, None, NULL, 0, &hint);
+ XSetWMNormalHints( mDisplay,vo_window,&hint );
if ( vo_fs ) vo_x11_decoration( mDisplay,vo_window,0 );
XMapWindow(mDisplay, vo_window);
#ifdef HAVE_XINERAMA
@@ -553,6 +555,7 @@ static void check_events(void)
if(e&VO_EVENT_RESIZE)
{
XGetGeometry( mDisplay,vo_window,&mRoot,&drwX,&drwY,&vo_dwidth,&vo_dheight,&drwBorderWidth,&drwDepth );
+ drwX = drwY = 0;
mp_msg(MSGT_VO,MSGL_V, "[xv] dx: %d dy: %d dw: %d dh: %d\n",drwX,drwY,vo_dwidth,vo_dheight );
aspect(&dwidth,&dheight,A_NOZOOM);
diff --git a/libvo/x11_common.c b/libvo/x11_common.c
index e89aa75077..99dec63979 100644
--- a/libvo/x11_common.c
+++ b/libvo/x11_common.c
@@ -390,10 +390,9 @@ void vo_x11_decoration( Display * vo_Display,Window w,int d )
if ( !WinID ) return;
-#if 0
if(vo_fsmode&1){
XSetWindowAttributes attr;
- attr.override_redirect = True;
+ attr.override_redirect = (!d) ? True : False;
XChangeWindowAttributes(vo_Display, w, CWOverrideRedirect, &attr);
// XMapWindow(vo_Display, w);
}
@@ -401,7 +400,6 @@ void vo_x11_decoration( Display * vo_Display,Window w,int d )
if(vo_fsmode&8){
XSetTransientForHint (vo_Display, w, RootWindow(vo_Display,mScreen));
}
-#endif
vo_MotifHints=XInternAtom( vo_Display,"_MOTIF_WM_HINTS",0 );
if ( vo_MotifHints != None )
@@ -588,16 +586,15 @@ void vo_x11_fullscreen( void )
vo_fs=VO_TRUE;
vo_old_x=vo_dx; vo_old_y=vo_dy; vo_old_width=vo_dwidth; vo_old_height=vo_dheight;
vo_dx=0; vo_dy=0; vo_dwidth=vo_screenwidth; vo_dheight=vo_screenheight;
- vo_x11_decoration( mDisplay,vo_window,0 );
}
else
{
vo_fs=VO_FALSE;
vo_dx=vo_old_x; vo_dy=vo_old_y; vo_dwidth=vo_old_width; vo_dheight=vo_old_height;
- vo_x11_decoration( mDisplay,vo_window,1 );
}
vo_x11_sizehint( vo_dx,vo_dy,vo_dwidth,vo_dheight,0 );
XMoveResizeWindow( mDisplay,vo_window,vo_dx,vo_dy,vo_dwidth,vo_dheight );
+ vo_x11_decoration( mDisplay,vo_window,(vo_fs) ? 0 : 1 );
XMapRaised( mDisplay,vo_window );
XRaiseWindow( mDisplay,vo_window );