changeset 27901:88fad4f51a94

respect -vf dsize etc. also for -rootwin, just like vo_xv does.
author reimar
date Sat, 15 Nov 2008 22:48:41 +0000
parents 4115aa1e880e
children db013e54aef5
files libvo/vo_x11.c
diffstat 1 files changed, 8 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_x11.c	Sat Nov 15 22:34:41 2008 +0000
+++ b/libvo/vo_x11.c	Sat Nov 15 22:48:41 2008 +0000
@@ -454,12 +454,6 @@
     }
     getMyXImage();
 
-    if (!WinID)
-    {
-        vo_dwidth = vo_screenwidth;
-        vo_dheight = vo_screenheight;
-    }
-
     while (fmte->mpfmt) {
       int depth = IMGFMT_RGB_DEPTH(fmte->mpfmt);
       /* bits_per_pixel in X seems to be set to 16 for 15 bit formats
@@ -529,22 +523,26 @@
 
 static void Display_Image(XImage * myximage, uint8_t * ImageData)
 {
+    int x = (vo_dwidth - dst_width) / 2;
+    int y = (vo_dheight - myximage->height) / 2;
+    if (WinID == 0) {
+      x = vo_dx;
+      y = vo_dy;
+    }
     myximage->data += out_offset;
 #ifdef HAVE_SHM
     if (Shmem_Flag)
     {
         XShmPutImage(mDisplay, vo_window, vo_gc, myximage,
                      0, 0,
-                     (vo_dwidth - dst_width) / 2,
-                     (vo_dheight - myximage->height) / 2, dst_width,
+                     x, y, dst_width,
                      myximage->height, True);
     } else
 #endif
     {
         XPutImage(mDisplay, vo_window, vo_gc, myximage,
                   0, 0,
-                  (vo_dwidth - dst_width) / 2,
-                  (vo_dheight - myximage->height) / 2, dst_width,
+                  x, y, dst_width,
                   myximage->height);
     }
     myximage->data -= out_offset;