changeset 4795:b18e61cb457a

small changes
author pontscho
date Thu, 21 Feb 2002 21:11:01 +0000
parents 45f652f8b7c8
children b4580c55d8bc
files libvo/vo_xmga.c libvo/vo_xv.c libvo/x11_common.c libvo/x11_common.h
diffstat 4 files changed, 84 insertions(+), 142 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_xmga.c	Thu Feb 21 19:41:50 2002 +0000
+++ b/libvo/vo_xmga.c	Thu Feb 21 21:11:01 2002 +0000
@@ -68,8 +68,6 @@
 };
 
 //static Display              * mDisplay;
-static Window                 mWindow;
-static GC                     mGC;
 static XGCValues              wGCV;
 
 static XImage               * myximage;
@@ -102,11 +100,10 @@
 
 static void mDrawColorKey( void )
 {
- XSetBackground( mDisplay,mGC,0 );
-// XFillRectangle( mDisplay,mWindow,mGC,0,0,drwWidth,drwHeight );
- XClearWindow( mDisplay,mWindow );
- XSetForeground( mDisplay,mGC,fgColor );
- XFillRectangle( mDisplay,mWindow,mGC,drwX,drwY,drwWidth,(mFullscreen?drwHeight - 1:drwHeight) );
+ XSetBackground( mDisplay,vo_gc,0 );
+ XClearWindow( mDisplay,vo_window );
+ XSetForeground( mDisplay,vo_gc,fgColor );
+ XFillRectangle( mDisplay,vo_window,vo_gc,drwX,drwY,drwWidth,(mFullscreen?drwHeight - 1:drwHeight) );
  XFlush( mDisplay );
 }
 
@@ -126,9 +123,9 @@
            }
          #endif
 
-         XGetGeometry( mDisplay,mWindow,&mRoot,&drwX,&drwY,&drwWidth,&drwHeight,&drwBorderWidth,&drwDepth );
+         XGetGeometry( mDisplay,vo_window,&mRoot,&drwX,&drwY,&drwWidth,&drwHeight,&drwBorderWidth,&drwDepth );
          drwX=0; drwY=0; // drwWidth=wndWidth; drwHeight=wndHeight;
-         XTranslateCoordinates( mDisplay,mWindow,mRoot,0,0,&drwcX,&drwcY,&mRoot );
+         XTranslateCoordinates( mDisplay,vo_window,mRoot,0,0,&drwcX,&drwcY,&mRoot );
          fprintf( stderr,"[xmga] dcx: %d dcy: %d dx: %d dy: %d dw: %d dh: %d\n",drwcX,drwcY,drwX,drwY,drwWidth,drwHeight );
 
          aspect(&dwidth,&dheight,A_NOZOOM);
@@ -265,10 +262,6 @@
 
  wndX=0; wndY=0;
  wndWidth=d_width; wndHeight=d_height;
- #ifdef HAVE_NEW_GUI
-//  mdwidth=d_width; mdheight=d_height;
-  mdwidth=width; mdheight=height;
- #endif
  mFullscreen=fullscreen&1;
 
  switch ( vo_depthonscreen )
@@ -282,6 +275,7 @@
 
   aspect(&d_width,&d_height,A_NOZOOM);
 #ifdef HAVE_NEW_GUI
+ mdwidth=width; mdheight=height;
  if ( vo_window == None )
   {
 #endif
@@ -306,49 +300,37 @@
    xswamask=CWBackPixel | CWBorderPixel | CWColormap | CWEventMask;
 
     if ( WinID>=0 ){
-      mWindow = WinID ? ((Window)WinID) : RootWindow(mDisplay,mScreen);
-      XUnmapWindow( mDisplay,mWindow );
-      XChangeWindowAttributes( mDisplay,mWindow,xswamask,&xWAttribs);
+      vo_window = WinID ? ((Window)WinID) : RootWindow(mDisplay,mScreen);
+      XUnmapWindow( mDisplay,vo_window );
+      XChangeWindowAttributes( mDisplay,vo_window,xswamask,&xWAttribs);
     } else 
-   mWindow=XCreateWindow( mDisplay,RootWindow( mDisplay,mScreen ),
+   vo_window=XCreateWindow( mDisplay,RootWindow( mDisplay,mScreen ),
      wndX,wndY,
      wndWidth,wndHeight,
      xWAttribs.border_pixel,
      mDepth,
      InputOutput,
      vinfo.visual,xswamask,&xWAttribs );
-   vo_x11_classhint( mDisplay,mWindow,"xmga" );
-   vo_hidecursor(mDisplay,mWindow);
+   vo_x11_classhint( mDisplay,vo_window,"xmga" );
+   vo_hidecursor(mDisplay,vo_window);
 
-   if ( mFullscreen ) vo_x11_decoration( mDisplay,mWindow,0 );
+   if ( mFullscreen ) vo_x11_decoration( mDisplay,vo_window,0 );
 
-   XGetNormalHints( mDisplay,mWindow,&hint );
+   XGetNormalHints( mDisplay,vo_window,&hint );
    hint.x=wndX; hint.y=wndY;
    hint.width=wndWidth; hint.height=wndHeight;
    hint.base_width=wndWidth; hint.base_height=wndHeight;
    hint.flags=USPosition | USSize;
-   XSetNormalHints( mDisplay,mWindow,&hint );
-   XStoreName( mDisplay,mWindow,mTitle );
-   XMapWindow( mDisplay,mWindow );
+   XSetNormalHints( mDisplay,vo_window,&hint );
+   XStoreName( mDisplay,vo_window,mTitle );
+   XMapWindow( mDisplay,vo_window );
 		   
 #ifdef HAVE_XINERAMA
-   vo_x11_xinerama_move(mDisplay,mWindow);
+   vo_x11_xinerama_move(mDisplay,vo_window);
 #endif
-   mGC=XCreateGC( mDisplay,mWindow,GCForeground,&wGCV );
+   vo_gc=XCreateGC( mDisplay,vo_window,GCForeground,&wGCV );
 #ifdef HAVE_NEW_GUI
   }
-  else
-    {
-     mWindow=vo_window;
-//     fprintf( stderr,"[xmga] width: %d height: %d d_width: %d d_height: %d\n",width,height,d_width,d_height );
-//     if ( vo_screenwidth != d_width )
-//      {
-//       XMoveWindow( mDisplay,mWindow,( vo_screenwidth - d_width ) / 2,( vo_screenheight - d_height ) / 2 );
-//       XResizeWindow( mDisplay,mWindow,d_width,d_height );
-//      }
-//      else mFullscreen=1;
-      mGC=vo_gc; //XCreateGC( mDisplay,mWindow,GCForeground,&wGCV );
-    }
 #endif
 
  set_window();
@@ -365,13 +347,8 @@
  
  set_window();
 
-#ifdef HAVE_NEW_GUI
- if ( vo_window == None )
-#endif
- {
-   XFlush( mDisplay );
-   XSync( mDisplay,False );
- }
+ XFlush( mDisplay );
+ XSync( mDisplay,False );
 
  saver_off(mDisplay);
 
@@ -390,7 +367,7 @@
  if ( vo_window == None )
 #endif
  {
-  XDestroyWindow( mDisplay,mWindow );
+  XDestroyWindow( mDisplay,vo_window );
  }
  mga_uninit();
  printf("vo: uninit!\n");
--- a/libvo/vo_xv.c	Thu Feb 21 19:41:50 2002 +0000
+++ b/libvo/vo_xv.c	Thu Feb 21 21:11:01 2002 +0000
@@ -57,9 +57,6 @@
 static unsigned char *ImageData;
 
 /* X11 related variables */
-//static Display *mydisplay;
-static Window mywindow;
-static GC mygc;
 static XImage *myximage;
 static int depth, bpp, mode;
 static XWindowAttributes attribs;
@@ -405,50 +402,44 @@
    xswamask = CWBackPixel | CWBorderPixel;
 
     if ( WinID>=0 ){
-      mywindow = WinID ? ((Window)WinID) : RootWindow(mDisplay,mScreen);
-      XUnmapWindow( mDisplay,mywindow );
-      XChangeWindowAttributes( mDisplay,mywindow,xswamask,&xswa );
+      vo_window = WinID ? ((Window)WinID) : RootWindow(mDisplay,mScreen);
+      XUnmapWindow( mDisplay,vo_window );
+      XChangeWindowAttributes( mDisplay,vo_window,xswamask,&xswa );
     } else 
 
-   mywindow = XCreateWindow(mDisplay, RootWindow(mDisplay,mScreen),
+   vo_window = XCreateWindow(mDisplay, RootWindow(mDisplay,mScreen),
        hint.x, hint.y, hint.width, hint.height,
        0, depth,CopyFromParent,vinfo.visual,xswamask,&xswa);
 
-   vo_x11_classhint( mDisplay,mywindow,"xv" );
-   vo_hidecursor(mDisplay,mywindow);
+   vo_x11_classhint( mDisplay,vo_window,"xv" );
+   vo_hidecursor(mDisplay,vo_window);
 
-   XSelectInput(mDisplay, mywindow, StructureNotifyMask | KeyPressMask 
+   XSelectInput(mDisplay, vo_window, StructureNotifyMask | KeyPressMask 
 #ifdef HAVE_NEW_INPUT
 		| ButtonPressMask | ButtonReleaseMask
 #endif
    );
-   XSetStandardProperties(mDisplay, mywindow, hello, hello, None, NULL, 0, &hint);
-   if ( mFullscreen ) vo_x11_decoration( mDisplay,mywindow,0 );
-   XMapWindow(mDisplay, mywindow);
+   XSetStandardProperties(mDisplay, vo_window, hello, hello, None, NULL, 0, &hint);
+   if ( mFullscreen ) vo_x11_decoration( mDisplay,vo_window,0 );
+   XMapWindow(mDisplay, vo_window);
 #ifdef HAVE_XINERAMA
-   vo_x11_xinerama_move(mDisplay,mywindow);
+   vo_x11_xinerama_move(mDisplay,vo_window);
 #endif
-   mygc = XCreateGC(mDisplay, mywindow, 0L, &xgcv);
+   vo_gc = XCreateGC(mDisplay, vo_window, 0L, &xgcv);
    XFlush(mDisplay);
    XSync(mDisplay, False);
 #ifdef HAVE_XF86VM
     if ( vm )
      {
       /* Grab the mouse pointer in our window */
-      XGrabPointer(mDisplay, mywindow, True, 0,
+      XGrabPointer(mDisplay, vo_window, True, 0,
                    GrabModeAsync, GrabModeAsync,
-                   mywindow, None, CurrentTime);
-      XSetInputFocus(mDisplay, mywindow, RevertToNone, CurrentTime);
+                   vo_window, None, CurrentTime);
+      XSetInputFocus(mDisplay, vo_window, RevertToNone, CurrentTime);
      }
 #endif
-
 #ifdef HAVE_NEW_GUI
   }
-  else
-    {
-     mywindow=vo_window;
-     mygc=vo_gc;
-    }
 #endif
 
  xv_port = 0;
@@ -519,9 +510,9 @@
 #endif
      set_gamma_correction();
 
-     XGetGeometry( mDisplay,mywindow,&mRoot,&drwX,&drwY,&drwWidth,&drwHeight,&drwBorderWidth,&drwDepth );
+     XGetGeometry( mDisplay,vo_window,&mRoot,&drwX,&drwY,&drwWidth,&drwHeight,&drwBorderWidth,&drwDepth );
      drwX=0; drwY=0;
-     XTranslateCoordinates( mDisplay,mywindow,mRoot,0,0,&drwcX,&drwcY,&mRoot );
+     XTranslateCoordinates( mDisplay,vo_window,mRoot,0,0,&drwcX,&drwcY,&mRoot );
      printf( "[xv] dcx: %d dcy: %d dx: %d dy: %d dw: %d dh: %d\n",drwcX,drwcY,drwX,drwY,drwWidth,drwHeight );
 
      aspect(&dwidth,&dheight,A_NOZOOM);
@@ -583,9 +574,9 @@
  int e=vo_x11_check_events(mDisplay);
  if(e&VO_EVENT_RESIZE)
   {
-   XGetGeometry( mDisplay,mywindow,&mRoot,&drwX,&drwY,&drwWidth,&drwHeight,&drwBorderWidth,&drwDepth );
+   XGetGeometry( mDisplay,vo_window,&mRoot,&drwX,&drwY,&drwWidth,&drwHeight,&drwBorderWidth,&drwDepth );
    drwX=0; drwY=0;
-   XTranslateCoordinates( mDisplay,mywindow,mRoot,0,0,&drwcX,&drwcY,&mRoot );
+   XTranslateCoordinates( mDisplay,vo_window,mRoot,0,0,&drwcX,&drwcY,&mRoot );
    printf( "[xv] dcx: %d dcy: %d dx: %d dy: %d dw: %d dh: %d\n",drwcX,drwcY,drwX,drwY,drwWidth,drwHeight );
 
    #ifdef HAVE_NEW_GUI
@@ -617,8 +608,8 @@
   }
  if ( e & VO_EVENT_EXPOSE )
   {
-   XvShmPutImage(mDisplay, xv_port, mywindow, mygc, xvimage[current_buf], 0, 0,  image_width, image_height, drwX, drwY, 1, 1, False);
-   XvShmPutImage(mDisplay, xv_port, mywindow, mygc, xvimage[current_buf], 0, 0,  image_width, image_height, drwX,drwY,drwWidth,(mFullscreen?drwHeight - 1:drwHeight), False);
+   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,drwWidth,(mFullscreen?drwHeight - 1:drwHeight), False);
   }
 }
 
@@ -627,7 +618,7 @@
 
 static void flip_page(void)
 {
- XvShmPutImage(mDisplay, xv_port, mywindow, mygc, xvimage[current_buf],
+ XvShmPutImage(mDisplay, xv_port, vo_window, vo_gc, xvimage[current_buf],
          0, 0,  image_width, image_height,
          drwX,drwY,drwWidth,(mFullscreen?drwHeight - 1:drwHeight),
          False);
@@ -778,7 +769,7 @@
  if ( vo_window == None )
 #endif
  {
-  XDestroyWindow( mDisplay,mywindow );
+  XDestroyWindow( mDisplay,vo_window );
  }
  for( i=0;i<num_buffers;i++ ) deallocate_xvimage( i );
 #ifdef HAVE_XF86VM
--- a/libvo/x11_common.c	Thu Feb 21 19:41:50 2002 +0000
+++ b/libvo/x11_common.c	Thu Feb 21 21:11:01 2002 +0000
@@ -392,19 +392,12 @@
 	    XSetClassHint(display,window,&wmClass);
 }
 
+Window    vo_window = None;
+GC        vo_gc;
+
 #ifdef HAVE_NEW_GUI
- Window    vo_window = None;
- GC        vo_gc;
- int       vo_xeventhandling = 1;
- int       vo_resize = 0;
- int       vo_expose = 0;
-
  void vo_setwindow( Window w,GC g ) {
    vo_window=w; vo_gc=g;
-   vo_xeventhandling=0;
- }
- void vo_setwindowsize( int w,int h ) {
-    vo_dwidth=w; vo_dheight=h;
  }
 #endif
 
@@ -433,57 +426,41 @@
  static XComposeStatus stat;
 // unsigned long  vo_KeyTable[512];
 
-#ifdef HAVE_NEW_GUI
- if ( vo_xeventhandling )
-   {
-#endif
-    while ( XPending( mydisplay ) )
-      {
-       XNextEvent( mydisplay,&Event );
-       switch( Event.type )
-         {
-          case Expose:
-               ret|=VO_EVENT_EXPOSE;
-               break;
-          case ConfigureNotify:
-               vo_dwidth=Event.xconfigure.width;
-               vo_dheight=Event.xconfigure.height;
-	       ret|=VO_EVENT_RESIZE;
-               break;
-          case KeyPress:
-               XLookupString( &Event.xkey,buf,sizeof(buf),&keySym,&stat );
-               vo_x11_putkey( ( (keySym&0xff00) != 0?( (keySym&0x00ff) + 256 ):( keySym ) ) );
-	       ret|=VO_EVENT_KEYPRESS;
-               break;
+ while ( XPending( mydisplay ) )
+  {
+   XNextEvent( mydisplay,&Event );
+//   #ifdef HAVE_NEW_GUI
+//    if ( use_gui ) gEvent( 0,(char*)&Event );
+//   #endif
+   if ( vo_window == Event.xany.window )
+    switch( Event.type )
+     {
+      case Expose:
+           ret|=VO_EVENT_EXPOSE;
+           break;
+      case ConfigureNotify:
+           vo_dwidth=Event.xconfigure.width;
+           vo_dheight=Event.xconfigure.height;
+           ret|=VO_EVENT_RESIZE;
+           break;
+      case KeyPress:
+           XLookupString( &Event.xkey,buf,sizeof(buf),&keySym,&stat );
+           vo_x11_putkey( ( (keySym&0xff00) != 0?( (keySym&0x00ff) + 256 ):( keySym ) ) );
+           ret|=VO_EVENT_KEYPRESS;
+           break;
 #ifdef HAVE_NEW_INPUT
-          case ButtonPress:
-               // Ignore mouse whell press event
-               if(Event.xbutton.button == 4 || Event.xbutton.button == 5)
-                    break;
-               mplayer_put_key((MOUSE_BTN0+Event.xbutton.button-1)|MP_KEY_DOWN);
-               break;
-          case ButtonRelease:
-               mplayer_put_key(MOUSE_BTN0+Event.xbutton.button-1);
-               break;
+      case ButtonPress:
+           // Ignore mouse whell press event
+           if(Event.xbutton.button == 4 || Event.xbutton.button == 5)
+            break;
+           mplayer_put_key((MOUSE_BTN0+Event.xbutton.button-1)|MP_KEY_DOWN);
+           break;
+      case ButtonRelease:
+           mplayer_put_key(MOUSE_BTN0+Event.xbutton.button-1);
+           break;
 #endif
-         }
-      }
-#ifdef HAVE_NEW_GUI
-    }
-    else
-     {
-      if ( vo_resize )
-       {
-        vo_resize=0;
-        ret|=VO_EVENT_RESIZE;
-       }
-      if ( vo_expose )
-       {
-        vo_expose=0;
-        ret|=VO_EVENT_EXPOSE;
-       }
      }
-#endif
+  }
 
   return ret;
 }
--- a/libvo/x11_common.h	Thu Feb 21 19:41:50 2002 +0000
+++ b/libvo/x11_common.h	Thu Feb 21 21:11:01 2002 +0000
@@ -21,14 +21,11 @@
 int vo_x11_check_events(Display *mydisplay);
 #endif
 
+extern Window    vo_window;
+extern GC        vo_gc;
+
 #ifdef HAVE_NEW_GUI
- extern Window    vo_window;
- extern GC        vo_gc;
  extern void vo_setwindow( Window w,GC g );
- extern void vo_setwindowsize( int w,int h );
- extern int       vo_xeventhandling;
- extern int       vo_expose;
- extern int       vo_resize;
  extern void vo_x11_putkey(int key);
 #endif
 #ifdef HAVE_GUI