[Mplayer-cvslog] CVS: main/libvo vo_x11.c,1.31,1.32

Arpi of Ize arpi at mplayer.dev.hu
Fri Oct 5 18:07:33 CEST 2001


Update of /cvsroot/mplayer/main/libvo
In directory mplayer:/var/tmp.root/cvs-serv12178

Modified Files:
	vo_x11.c 
Log Message:
grabs mouse with -vm - patch by Uwe Reder <Uwe.Reder at 3SOFT.de>

Index: vo_x11.c
===================================================================
RCS file: /cvsroot/mplayer/main/libvo/vo_x11.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- vo_x11.c	20 Sep 2001 10:26:22 -0000	1.31
+++ vo_x11.c	5 Oct 2001 16:07:17 -0000	1.32
@@ -149,6 +149,7 @@
  Colormap theCmap;
  XSetWindowAttributes xswa;
  unsigned long xswamask;
+ unsigned int modeline_width, modeline_height;
 
  image_height=height;
  image_width=width;
@@ -182,7 +183,7 @@
 
 #ifdef HAVE_XF86VM
     if (vm) {
-        unsigned int modeline_width, modeline_height, vm_event, vm_error;
+        unsigned int vm_event, vm_error;
 	unsigned int vm_ver, vm_rev;
         int i,j,have_vm=0,X,Y;
 
@@ -226,7 +227,16 @@
   }
 #endif
 
-
+#ifdef HAVE_XF86VM
+    if ( vm )
+     {
+      hint.x=(vo_screenwidth-modeline_width)/2;
+      hint.y=(vo_screenheight-modeline_height)/2;
+      hint.width=modeline_width;
+      hint.height=modeline_height;
+     }
+    else
+#endif
     if ( fullscreen )
      {
       hint.width=vo_screenwidth;
@@ -243,14 +253,23 @@
     vinfo.visual,AllocNone );
 
     xswa.background_pixel=0;
-    xswa.border_pixel=1;
+    xswa.border_pixel=0;
     xswa.colormap=theCmap;
-    xswamask=CWBackPixel | CWBorderPixel |CWColormap;
+    xswamask=CWBackPixel | CWBorderPixel | CWColormap;
 
+#ifdef HAVE_XF86VM
+    if ( vm )
+     {
+      xswa.override_redirect=True;
+      xswamask|=CWOverrideRedirect;
+     }
+#endif
+ 
     mywindow=XCreateWindow( mDisplay,RootWindow( mDisplay,mScreen ),
                          hint.x,hint.y,
                          hint.width,hint.height,
                          xswa.border_pixel,depth,CopyFromParent,vinfo.visual,xswamask,&xswa );
+
     vo_x11_classhint( mDisplay,mywindow,"x11" );
     vo_hidecursor(mDisplay,mywindow);
     if ( fullscreen ) vo_x11_decoration( mDisplay,mywindow,0 );
@@ -262,8 +281,18 @@
 
     XFlush( mDisplay );
     XSync( mDisplay,False );
-
     mygc=XCreateGC( mDisplay,mywindow,0L,&xgcv );
+
+#ifdef HAVE_XF86VM
+    if ( vm )
+     {
+      /* Grab the mouse pointer in our window */
+      XGrabPointer(mDisplay, mywindow, True, 0,
+                   GrabModeAsync, GrabModeAsync,
+                   mywindow, None, CurrentTime);
+      XSetInputFocus(mDisplay, mywindow, RevertToNone, CurrentTime);
+     }
+#endif
    }
 
 #ifdef SH_MEM




More information about the MPlayer-cvslog mailing list