From 554ce917df75c7545475459c8dcb96bfa00283d5 Mon Sep 17 00:00:00 2001 From: reimar Date: Sat, 15 Nov 2008 22:48:41 +0000 Subject: [PATCH] respect -vf dsize etc. also for -rootwin, just like vo_xv does. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27935 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/vo_x11.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/libvo/vo_x11.c b/libvo/vo_x11.c index 0cd589f28c..02ab2ad4a7 100644 --- a/libvo/vo_x11.c +++ b/libvo/vo_x11.c @@ -454,12 +454,6 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, } 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 int config(uint32_t width, uint32_t height, uint32_t d_width, 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;