Mercurial > mplayer.hg
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;