summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorattila <attila@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-01-01 12:02:49 +0000
committerattila <attila@b3059339-0415-0410-9bf9-f77b7e298cf2>2003-01-01 12:02:49 +0000
commit76da393f9842750782dc3e8c7a265efe654dda3a (patch)
treeb201eecb3fcc12e718ad41e689d49ad65aadb948 /libvo
parentd2d5c0cf705a4759260d675cb228f9db725c3ec3 (diff)
downloadmpv-76da393f9842750782dc3e8c7a265efe654dda3a.tar.bz2
mpv-76da393f9842750782dc3e8c7a265efe654dda3a.tar.xz
X11 window aspect patch by Arnaud Boulan <boulan@iie.cnam.fr>
adds 2 options: -keepaspect (default) and -nokeepaspect tested with icewm and enlightenment git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8693 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/vo_xv.c2
-rw-r--r--libvo/x11_common.c10
2 files changed, 12 insertions, 0 deletions
diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c
index cdfaf90adb..0395330930 100644
--- a/libvo/vo_xv.c
+++ b/libvo/vo_xv.c
@@ -387,6 +387,8 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
} else
if ( !(flags&1) ) XMoveResizeWindow( mDisplay,vo_window,hint.x,hint.y,hint.width,hint.height );
+ vo_x11_sizehint( hint.x, hint.y, hint.width, hint.height,0 );
+
if ( vo_gc != None ) XFreeGC( mDisplay,vo_gc );
vo_gc = XCreateGC(mDisplay, vo_window, 0L, &xgcv);
XFlush(mDisplay);
diff --git a/libvo/x11_common.c b/libvo/x11_common.c
index 7c674cfa4d..9cd5bee3c7 100644
--- a/libvo/x11_common.c
+++ b/libvo/x11_common.c
@@ -80,6 +80,7 @@ static int vo_old_y = 0;
static int vo_old_width = 0;
static int vo_old_height = 0;
+int vo_x11_keepaspect = 1;
#ifdef HAVE_XINERAMA
int xinerama_screen = 0;
@@ -656,6 +657,15 @@ int vo_x11_check_events(Display *mydisplay){
void vo_x11_sizehint( int x, int y, int width, int height, int max )
{
vo_hint.flags=PPosition | PSize | PWinGravity;
+ if(vo_x11_keepaspect)
+ {
+ vo_hint.flags |= PAspect;
+ vo_hint.min_aspect.x = width;
+ vo_hint.min_aspect.y = height;
+ vo_hint.max_aspect.x = width;
+ vo_hint.max_aspect.y = height;
+ }
+
vo_hint.x=x; vo_hint.y=y; vo_hint.width=width; vo_hint.height=height;
if ( max )
{