# HG changeset patch # User atmos4 # Date 1002120795 0 # Node ID a74a82334f60dc918874d7f8578fe295cbbab565 # Parent 720ca9249e4e30f517f326e281449449e85cb719 Use aspect() diff -r 720ca9249e4e -r a74a82334f60 libvo/vo_xv.c --- a/libvo/vo_xv.c Wed Oct 03 14:41:53 2001 +0000 +++ b/libvo/vo_xv.c Wed Oct 03 14:53:15 2001 +0000 @@ -36,6 +36,7 @@ #include "fastmemcpy.h" #include "sub.h" +#include "aspect.h" static vo_info_t vo_info = { @@ -120,6 +121,7 @@ static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width, uint32_t d_height, uint32_t flags, char *title, uint32_t format) { // int screen; +// int myx,myy; char *hello = (title == NULL) ? "Xv render" : title; // char *name = ":0.0"; XSizeHints hint; @@ -158,23 +160,19 @@ { hint.width=vo_screenwidth; hint.height=vo_screenheight; +#ifdef X11_FULLSCREEN /* this code replaces X11_FULLSCREEN hack in mplayer.c - * with libvo2 this should be unified among vo plugins + * aspect() is available through aspect.h for all vos. * besides zooming should only be done with -zoom, * but I leave the old -fs behaviour so users don't get * irritated for now (and send lots o' mails ;) ::atmos */ -#ifdef X11_FULLSCREEN - d_height=(int)((float)vo_screenwidth/(float)dwidth*(float)dheight); - d_height+=d_height%2; // round - d_width=vo_screenwidth; - if(dheight>vo_screenheight){ - d_width=(int)((float)vo_screenheight/(float)dheight*(float)dwidth); - d_width+=d_width%2; // round - d_height=vo_screenheight; + { + rect_t newres = aspect(d_width,d_height,vo_screenwidth,vo_screenheight); + dwidth=d_width=newres.w; dheight=d_height=newres.h; + //myx=newres.x; myy=newres.y; } - dwidth=d_width; dheight=d_height; #endif } @@ -288,12 +286,12 @@ if ( mFullscreen ) { - drwX=( vo_screenwidth - (dwidth > vo_screenwidth?vo_screenwidth:dwidth) ) / 2; + drwX=( vo_screenwidth - (dwidth > vo_screenwidth?vo_screenwidth:dwidth) ) / 2; /* =myx; */ drwcX+=drwX; - drwY=( vo_screenheight - (dheight > vo_screenheight?vo_screenheight:dheight) ) / 2; + drwY=( vo_screenheight - (dheight > vo_screenheight?vo_screenheight:dheight) ) / 2; /* =myy; */ drwcY+=drwY; - drwWidth=(dwidth > vo_screenwidth?vo_screenwidth:dwidth); - drwHeight=(dheight > vo_screenheight?vo_screenheight:dheight); + drwWidth=(dwidth > vo_screenwidth?vo_screenwidth:dwidth); /* =dwidth */ + drwHeight=(dheight > vo_screenheight?vo_screenheight:dheight); /* =dheight */ printf( "[xv-fs] dcx: %d dcy: %d dx: %d dy: %d dw: %d dh: %d\n",drwcX,drwcY,drwX,drwY,drwWidth,drwHeight ); } #ifdef HAVE_NEW_GUI