[Mplayer-cvslog] CVS: main/libvo video_out.c,1.57,1.58 video_out.h,1.41,1.42 x11_common.c,1.97,1.98
Arpi of Ize
arpi at mplayerhq.hu
Wed Sep 18 03:22:15 CEST 2002
Update of /cvsroot/mplayer/main/libvo
In directory mail:/var/tmp.root/cvs-serv26593
Modified Files:
video_out.c video_out.h x11_common.c
Log Message:
d_width==screenwidth && -fs hopefully fixed
Index: video_out.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/video_out.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -u -r1.57 -r1.58
--- video_out.c 9 Sep 2002 20:03:21 -0000 1.57
+++ video_out.c 18 Sep 2002 01:22:03 -0000 1.58
@@ -30,11 +30,6 @@
int vo_dheight=0;
int vo_dbpp=0;
-int vo_old_x = 0;
-int vo_old_y = 0;
-int vo_old_width = 0;
-int vo_old_height = 0;
-
int vo_doublebuffering = 0;
int vo_vsync = 0;
int vo_fs = 0;
Index: video_out.h
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/video_out.h,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- video_out.h 28 Aug 2002 21:32:31 -0000 1.41
+++ video_out.h 18 Sep 2002 01:22:03 -0000 1.42
@@ -170,11 +170,6 @@
extern int vo_dheight;
extern int vo_dbpp;
-extern int vo_old_x;
-extern int vo_old_y;
-extern int vo_old_width;
-extern int vo_old_height;
-
extern int vo_doublebuffering;
extern int vo_directrendering;
extern int vo_vsync;
Index: x11_common.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/x11_common.c,v
retrieving revision 1.97
retrieving revision 1.98
diff -u -r1.97 -r1.98
--- x11_common.c 3 Sep 2002 18:10:42 -0000 1.97
+++ x11_common.c 18 Sep 2002 01:22:03 -0000 1.98
@@ -66,6 +66,12 @@
int vo_mouse_autohide = 0;
int vo_wm_type = -1;
+static int vo_old_x = 0;
+static int vo_old_y = 0;
+static int vo_old_width = 0;
+static int vo_old_height = 0;
+
+
#ifdef HAVE_XINERAMA
int xinerama_screen = 0;
int xinerama_x = 0;
@@ -495,6 +501,7 @@
vo_window=None;
}
vo_fs=0;
+ vo_old_width=vo_old_height=0;
}
}
@@ -529,8 +536,8 @@
ret|=VO_EVENT_EXPOSE;
break;
case ConfigureNotify:
- if (!vo_fs && (Event.xconfigure.width == vo_screenwidth || Event.xconfigure.height == vo_screenheight)) break;
- if (vo_fs && Event.xconfigure.width != vo_screenwidth && Event.xconfigure.height != vo_screenheight) break;
+// if (!vo_fs && (Event.xconfigure.width == vo_screenwidth || Event.xconfigure.height == vo_screenheight)) break;
+// if (vo_fs && Event.xconfigure.width != vo_screenwidth && Event.xconfigure.height != vo_screenheight) break;
vo_dwidth=Event.xconfigure.width;
vo_dheight=Event.xconfigure.height;
#if 0
@@ -693,16 +700,24 @@
void vo_x11_fullscreen( void )
{
- int x=0,y=0,w=vo_screenwidth,h=vo_screenheight;
+ int x,y,w,h;
if ( WinID >= 0 ) return;
- if ( !vo_fs && (vo_dwidth == vo_screenwidth || vo_dheight == vo_screenheight)) return;
- if ( vo_fs && vo_dwidth != vo_screenwidth && vo_dheight != vo_screenheight) return;
-
- if ( vo_fs )
- { vo_fs=VO_FALSE; x=vo_old_x; y=vo_old_y; w=vo_old_width; h=vo_old_height; }
- else { vo_fs=VO_TRUE; vo_old_x=vo_dx; vo_old_y=vo_dy; vo_old_width=vo_dwidth; vo_old_height=vo_dheight; }
+ if ( vo_fs ){
+ // fs->win
+ if(vo_dwidth != vo_screenwidth && vo_dheight != vo_screenheight) return;
+ vo_fs=VO_FALSE;
+ x=vo_old_x; y=vo_old_y; w=vo_old_width; h=vo_old_height;
+ } else {
+ // win->fs
+ if(vo_old_width &&
+ (vo_dwidth==vo_screenwidth && vo_dwidth!=vo_old_width) &&
+ (vo_dheight==vo_screenheight && vo_dheight!=vo_old_height) ) return;
+ vo_fs=VO_TRUE;
+ vo_old_x=vo_dx; vo_old_y=vo_dy; vo_old_width=vo_dwidth; vo_old_height=vo_dheight;
+ x=0; y=0; w=vo_screenwidth; h=vo_screenheight;
+ }
vo_x11_decoration( mDisplay,vo_window,(vo_fs) ? 0 : 1 );
vo_x11_sizehint( x,y,w,h,0 );
More information about the MPlayer-cvslog
mailing list