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_xv.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_xv.c')
-rw-r--r-- | libvo/vo_xv.c | 41 |
1 files changed, 3 insertions, 38 deletions
diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c index 7f68510432..391b2b288b 100644 --- a/libvo/vo_xv.c +++ b/libvo/vo_xv.c @@ -301,48 +301,13 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width, if (vo_dheight <= 0) vo_dheight = d_height; aspect_save_prescale(vo_dwidth, vo_dheight); } - } else if (vo_window == None) - { - vo_window = - vo_x11_create_smooth_window(mDisplay, mRootWin, - vinfo.visual, hint.x, hint.y, - hint.width, hint.height, depth, - CopyFromParent); - XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xswa); - - vo_x11_classhint(mDisplay, vo_window, "xv"); - vo_hidecursor(mDisplay, vo_window); - - vo_x11_selectinput_witherr(mDisplay, vo_window, - StructureNotifyMask | KeyPressMask | - PropertyChangeMask | ((WinID == 0) ? - 0 - : - (PointerMotionMask - | - ButtonPressMask - | - ButtonReleaseMask - | - ExposureMask))); - XSetStandardProperties(mDisplay, vo_window, hello, hello, None, - NULL, 0, &hint); - vo_x11_sizehint(hint.x, hint.y, hint.width, hint.height, 0); - 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_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_create_vo_window(&vinfo, vo_dx, vo_dy, d_width, d_height, + flags, CopyFromParent, "xv", title); + XChangeWindowAttributes(mDisplay, vo_window, xswamask, &xswa); } -// 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); |