diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-06-27 10:26:13 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-06-27 10:26:13 +0000 |
commit | f131aafff160e816a3c5904d664561ffe9f32058 (patch) | |
tree | 31eb8b5970484238c36a7ca3d2cad288785879a3 /libvo/vo_xvmc.c | |
parent | b4be37acaf5d725d0c81508907fef9733acab444 (diff) | |
download | mpv-f131aafff160e816a3c5904d664561ffe9f32058.tar.bz2 mpv-f131aafff160e816a3c5904d664561ffe9f32058.tar.xz |
Make X11 window creation and (with -fixed-vo) management simpler and more
consistent by introducing a new function that handles most of the
ugly things. Changes of behaviour with some vos is unavoidable, bug reports
welcome.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23675 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/vo_xvmc.c')
-rw-r--r-- | libvo/vo_xvmc.c | 30 |
1 files changed, 3 insertions, 27 deletions
diff --git a/libvo/vo_xvmc.c b/libvo/vo_xvmc.c index ebc292ab89..3a2265856c 100644 --- a/libvo/vo_xvmc.c +++ b/libvo/vo_xvmc.c @@ -695,33 +695,9 @@ skip_surface_allocation: aspect_save_prescale(vo_dwidth, vo_dheight); } } else - if ( vo_window == None ){ - vo_window = XCreateWindow(mDisplay, mRootWin, - hint.x, hint.y, hint.width, hint.height, - 0, depth,CopyFromParent,vinfo.visual,xswamask,&xswa); - - vo_x11_classhint( mDisplay,vo_window,"xvmc" ); - vo_hidecursor(mDisplay,vo_window); - - vo_x11_selectinput_witherr(mDisplay, vo_window, StructureNotifyMask | KeyPressMask | PropertyChangeMask | ExposureMask | - ((WinID==0) ? 0 : (PointerMotionMask - | ButtonPressMask | ButtonReleaseMask)) ); - XSetStandardProperties(mDisplay, vo_window, hello, hello, None, NULL, 0, &hint); - XSetWMNormalHints( mDisplay,vo_window,&hint ); - XMapWindow(mDisplay, vo_window); - vo_x11_nofs_sizepos(hint.x, hint.y, hint.width, hint.height); - if ( flags&VOFLAG_FULLSCREEN ) vo_x11_fullscreen(); - else { - vo_x11_sizehint( hint.x, hint.y, hint.width, hint.height,0 ); - } - } else { - // vo_fs set means we were already at fullscreen - vo_x11_sizehint( hint.x, hint.y, hint.width, hint.height,0 ); - vo_x11_nofs_sizepos(hint.x, hint.y, hint.width, hint.height); - if ( flags&VOFLAG_FULLSCREEN && !vo_fs ) vo_x11_fullscreen(); // handle -fs on non-first file - } - -// vo_x11_sizehint( hint.x, hint.y, hint.width, hint.height,0 ); + vo_x11_create_vo_window(&vinfo, vo_dx, vo_dy, d_width, d_height, flags, + CopyFromParent, "xvmc", title); + XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xswa); if ( vo_gc != None ) XFreeGC( mDisplay,vo_gc ); vo_gc = XCreateGC(mDisplay, vo_window, GCForeground, &xgcv); |