summaryrefslogtreecommitdiffstats
path: root/libvo/vo_xv.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-06-27 10:26:13 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-06-27 10:26:13 +0000
commitf131aafff160e816a3c5904d664561ffe9f32058 (patch)
tree31eb8b5970484238c36a7ca3d2cad288785879a3 /libvo/vo_xv.c
parentb4be37acaf5d725d0c81508907fef9733acab444 (diff)
downloadmpv-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.c41
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);