changeset 5955:caac20b1ca79

fix xmga fs, resize to movie size and mouse auto hide + dga
author pontscho
date Fri, 03 May 2002 20:57:13 +0000
parents 70b326241d52
children 1e6273906977
files Gui/interface.c libvo/vo_x11.c libvo/vo_xmga.c libvo/vo_xv.c libvo/x11_common.c libvo/x11_common.h mplayer.c
diffstat 7 files changed, 32 insertions(+), 25 deletions(-) [+]
line wrap: on
line diff
--- a/Gui/interface.c	Fri May 03 20:29:20 2002 +0000
+++ b/Gui/interface.c	Fri May 03 20:57:13 2002 +0000
@@ -96,12 +96,10 @@
 	wsPostRedisplay( &appMPlayer.subWindow );
 	break;
    case guiSetShVideo:
-        if ( arg )
 	 {
-	  tmp_sh_video_t * sh_video = (tmp_sh_video_t *)arg;
 	  mplResizeToMovieSize( vo_dwidth,vo_dheight );
-	  guiIntfStruct.MovieWidth=sh_video->disp_w;
-	  guiIntfStruct.MovieHeight=sh_video->disp_h;
+	  guiIntfStruct.MovieWidth=vo_dwidth;
+	  guiIntfStruct.MovieHeight=vo_dwidth;
          }
 	break;
 #ifdef USE_DVDREAD
--- a/libvo/vo_x11.c	Fri May 03 20:29:20 2002 +0000
+++ b/libvo/vo_x11.c	Fri May 03 20:57:13 2002 +0000
@@ -242,7 +242,7 @@
 #endif
 
 
-
+ vo_mouse_autohide=1;
  if (!title)
     title = strdup("MPlayer X11 (XImage/Shm) render");
 
--- a/libvo/vo_xmga.c	Fri May 03 20:29:20 2002 +0000
+++ b/libvo/vo_xmga.c	Fri May 03 20:57:13 2002 +0000
@@ -59,6 +59,10 @@
 static unsigned int timerd=0;
 #endif
 
+#ifdef HAVE_NEW_GUI
+#include "../Gui/interface.h"
+#endif
+
 static vo_info_t vo_info =
 {
  "X11 (Matrox G200/G4x0/G550 overlay in window using /dev/mga_vid)",
@@ -67,7 +71,6 @@
  ""
 };
 
-//static Display              * mDisplay;
 static XGCValues              wGCV;
 
 static XImage               * myximage;
@@ -187,17 +190,9 @@
 
 static uint32_t config( uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t fullscreen, char *title, uint32_t format,const vo_tune_info_t* info)
 {
- char                 * frame_mem;
-// uint32_t               frame_size;
-// int                    mScreen;
- unsigned int           fg, bg;
  char                 * mTitle=(title == NULL) ? "XMGA render" : title;
- char                 * name=":0.0";
- XSizeHints             hint;
  XVisualInfo            vinfo;
- XEvent                 xev;
 
- XGCValues              xgcv;
  unsigned long          xswamask;
 
  width+=width&1;
@@ -241,6 +236,7 @@
  vo_dwidth=d_width; vo_dheight=d_height;
  if ( vo_fs )
   { vo_old_width=d_width; vo_old_height=d_height; }
+ vo_mouse_autohide=1;
 
  switch ( vo_depthonscreen )
   {
@@ -263,10 +259,9 @@
      vo_dwidth=vo_screenwidth;
      vo_dheight=vo_screenheight;
 #ifdef X11_FULLSCREEN
-     aspect(&vo_dwidth,&vo_dheight,A_ZOOM);
+     aspect(&dwidth,&dheight,A_ZOOM);
 #endif
     }
-   dwidth=vo_dwidth; dheight=vo_dheight;
 
    XGetWindowAttributes( mDisplay,DefaultRootWindow( mDisplay ),&attribs );
    mDepth=attribs.depth;
@@ -304,7 +299,7 @@
 #endif
    vo_gc=XCreateGC( mDisplay,vo_window,GCForeground,&wGCV );
 #ifdef HAVE_NEW_GUI
-  }
+  } else guiGetEvent( guiSetShVideo,0 );
 #endif
 
  set_window();
--- a/libvo/vo_xv.c	Fri May 03 20:29:20 2002 +0000
+++ b/libvo/vo_xv.c	Fri May 03 20:57:13 2002 +0000
@@ -41,6 +41,10 @@
 
 #include "../postproc/rgb2rgb.h"
 
+#ifdef HAVE_NEW_GUI
+#include "../Gui/interface.h"
+#endif
+
 static vo_info_t vo_info =
 {
         "X11/Xv",
@@ -330,6 +334,8 @@
  image_height = height;
  image_width = width;
  image_format=format;
+ 
+ vo_mouse_autohide=1;
 
  vo_dwidth=d_width; vo_dheight=d_height;
  vo_fs=flags&1;
@@ -446,7 +452,7 @@
      }
 #endif
 #ifdef HAVE_NEW_GUI
-  }
+  } else guiGetEvent( guiSetShVideo,0 );
 #endif
 
      mp_msg(MSGT_VO,MSGL_V, "using Xvideo port %d for hw scaling\n",xv_port );
--- a/libvo/x11_common.c	Fri May 03 20:29:20 2002 +0000
+++ b/libvo/x11_common.c	Fri May 03 20:57:13 2002 +0000
@@ -60,6 +60,7 @@
 
 /* output window id */
 int WinID=-1;
+int vo_mouse_autohide = 0;
 
 #ifdef HAVE_XINERAMA
 int xinerama_screen = 0;
@@ -90,7 +91,10 @@
 }
 
 void vo_showcursor( Display *disp, Window win )
-{ XDefineCursor( disp,win,0 ); }
+{ 
+ if ( WinID==0 ) return;
+ XDefineCursor( disp,win,0 ); 
+}
 
 #ifdef	SCAN_VISUALS
 /*
@@ -384,6 +388,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;
@@ -394,6 +401,7 @@
   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 )
@@ -464,7 +472,7 @@
 
 // unsigned long  vo_KeyTable[512];
 
- if ( --vo_mouse_counter == 0 ) vo_hidecursor( mydisplay,vo_window );
+ if ( ( vo_mouse_autohide )&&( --vo_mouse_counter == 0 ) ) vo_hidecursor( mydisplay,vo_window );
  
  while ( XPending( mydisplay ) )
   {
@@ -513,11 +521,11 @@
 	   }
            break;
       case MotionNotify:
-           vo_showcursor( mydisplay,vo_window ); vo_mouse_counter=vo_mouse_timer_const;
+           if ( vo_mouse_autohide ) { vo_showcursor( mydisplay,vo_window ); vo_mouse_counter=vo_mouse_timer_const; }
            break;
 #ifdef HAVE_NEW_INPUT
       case ButtonPress:
-           vo_showcursor( mydisplay,vo_window ); vo_mouse_counter=vo_mouse_timer_const;
+           if ( vo_mouse_autohide ) { vo_showcursor( mydisplay,vo_window ); vo_mouse_counter=vo_mouse_timer_const; }
            // Ignore mouse whell press event
            if(Event.xbutton.button > 3) {
 	   mplayer_put_key(MOUSE_BTN0+Event.xbutton.button-1);
@@ -530,7 +538,7 @@
            mplayer_put_key((MOUSE_BTN0+Event.xbutton.button-1)|MP_KEY_DOWN);
            break;
       case ButtonRelease:
-           vo_showcursor( mydisplay,vo_window ); vo_mouse_counter=vo_mouse_timer_const;
+           if ( vo_mouse_autohide ) { vo_showcursor( mydisplay,vo_window ); vo_mouse_counter=vo_mouse_timer_const; }
            #ifdef HAVE_NEW_GUI
 	    // Ignor mouse button 1 - 3 under gui 
 	    if ( use_gui && ( Event.xbutton.button >= 1 )&&( Event.xbutton.button <= 3 ) ) break;
@@ -591,7 +599,7 @@
  vo_x11_sizehint( vo_dx,vo_dy,vo_dwidth,vo_dheight,0 );
  XMoveResizeWindow( mDisplay,vo_window,vo_dx,vo_dy,vo_dwidth,vo_dheight );
  XMapRaised( mDisplay,vo_window );
-
+ 
  XRaiseWindow( mDisplay,vo_window );
  XFlush( mDisplay );
 }
--- a/libvo/x11_common.h	Fri May 03 20:29:20 2002 +0000
+++ b/libvo/x11_common.h	Fri May 03 20:57:13 2002 +0000
@@ -22,6 +22,7 @@
 extern int WinID;
 
 extern int vo_mouse_timer_const;
+extern int vo_mouse_autohide;
 
 int vo_init( void );
 int vo_hidecursor ( Display* , Window );
--- a/mplayer.c	Fri May 03 20:29:20 2002 +0000
+++ b/mplayer.c	Fri May 03 20:57:13 2002 +0000
@@ -1319,7 +1319,6 @@
 #ifdef HAVE_NEW_GUI
    if ( use_gui )
     {
-     guiGetEvent( guiSetShVideo,(char *)sh_video );
      guiGetEvent( guiSetFileName,filename );
      guiIntfStruct.StreamType=stream->type;
      if ( sh_audio ) guiIntfStruct.AudioType=sh_audio->channels; else guiIntfStruct.AudioType=0;