[Mplayer-cvslog] CVS: main/libvo vo_xv.c,1.134,1.135
Arpi of Ize
arpi at mplayerhq.hu
Wed Jan 29 21:25:20 CET 2003
Update of /cvsroot/mplayer/main/libvo
In directory mail:/var/tmp.root/cvs-serv30694
Modified Files:
vo_xv.c
Log Message:
-fixed-vo vs. panscan vs. 'f' vs. -fs fix
patch by Jindrich Makovicka <makovick at kmlinux.fjfi.cvut.cz>
Index: vo_xv.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/vo_xv.c,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -r1.134 -r1.135
--- vo_xv.c 19 Jan 2003 16:52:00 -0000 1.134
+++ vo_xv.c 29 Jan 2003 20:25:01 -0000 1.135
@@ -385,10 +385,17 @@
#ifdef HAVE_XINERAMA
vo_x11_xinerama_move(mDisplay,vo_window);
#endif
- } else
- if ( !(flags&1) ) XMoveResizeWindow( mDisplay,vo_window,hint.x,hint.y,hint.width,hint.height );
-
- vo_x11_sizehint( hint.x, hint.y, hint.width, hint.height,0 );
+ vo_x11_sizehint( hint.x, hint.y, hint.width, hint.height,0 );
+ } else {
+ // vo_fs set means we were already at fullscreen
+ vo_x11_sizehint( hint.x, hint.y, hint.width, hint.height,0 );
+ if ( !vo_fs ) XMoveResizeWindow( mDisplay,vo_window,hint.x,hint.y,hint.width,hint.height );
+ if ( flags&1 && !vo_fs ) vo_x11_fullscreen(); // handle -fs on non-first file
+ }
+
+// vo_x11_sizehint( hint.x, hint.y, hint.width, hint.height,0 );
+
+ printf("\n!!!!!! %d;%d %dx%d \n",hint.x,hint.y,hint.width,hint.height);
if ( vo_gc != None ) XFreeGC( mDisplay,vo_gc );
vo_gc = XCreateGC(mDisplay, vo_window, 0L, &xgcv);
@@ -434,7 +441,7 @@
#endif
aspect(&vo_dwidth,&vo_dheight,A_NOZOOM);
- if ( ( flags&1 )&&( WinID <= 0 ) )
+ if ( (( flags&1 )&&( WinID <= 0 )) || vo_fs )
{
aspect(&vo_dwidth,&vo_dheight,A_ZOOM);
drwX=( vo_screenwidth - (vo_dwidth > vo_screenwidth?vo_screenwidth:vo_dwidth) ) / 2;
@@ -445,6 +452,19 @@
}
panscan_calc();
+ XClearWindow(mDisplay, vo_window);
+#ifdef HAVE_SHM
+ if ( Shmem_Flag )
+ {
+ XvShmPutImage(mDisplay, xv_port, vo_window, vo_gc, xvimage[current_buf], 0, 0, image_width, image_height, drwX, drwY, 1, 1, False);
+ XvShmPutImage(mDisplay, xv_port, vo_window, vo_gc, xvimage[current_buf], 0, 0, image_width, image_height, drwX,drwY,vo_dwidth,(vo_fs?vo_dheight - 1:vo_dheight), False);
+ }
+ else
+#endif
+ {
+ XvPutImage(mDisplay, xv_port, vo_window, vo_gc, xvimage[current_buf], 0, 0, image_width, image_height, drwX, drwY, 1, 1);
+ XvPutImage(mDisplay, xv_port, vo_window, vo_gc, xvimage[current_buf], 0, 0, image_width, image_height, drwX,drwY,vo_dwidth,(vo_fs?vo_dheight - 1:vo_dheight));
+ }
mp_msg(MSGT_VO,MSGL_V, "[xv] dx: %d dy: %d dw: %d dh: %d\n",drwX,drwY,vo_dwidth,vo_dheight );
More information about the MPlayer-cvslog
mailing list