summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authormswitch <mswitch@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-02 11:24:53 +0000
committermswitch <mswitch@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-11-02 11:24:53 +0000
commitf88d25146b9f886aa3826dde8d8afa6d8cb9de23 (patch)
tree73c360531436b0b7f1b31bc710aeeb38df2eefe2 /libvo
parentcb3ab03342274b9e1f7347f0ed11c0b68f90946d (diff)
downloadmpv-f88d25146b9f886aa3826dde8d8afa6d8cb9de23.tar.bz2
mpv-f88d25146b9f886aa3826dde8d8afa6d8cb9de23.tar.xz
Minor cleanups
Fixed overlay so that it works with gui git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8038 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo')
-rw-r--r--libvo/vo_dxr3.c25
1 files changed, 15 insertions, 10 deletions
diff --git a/libvo/vo_dxr3.c b/libvo/vo_dxr3.c
index c88600c828..c05002ca99 100644
--- a/libvo/vo_dxr3.c
+++ b/libvo/vo_dxr3.c
@@ -502,10 +502,15 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
em8300_overlay_screen_t ovlscr;
em8300_attribute_t ovlattr;
+ vo_dx = (vo_screenwidth - d_width) / 2;
+ vo_dy = (vo_screenheight - d_height) / 2;
+ vo_dwidth = d_width;
+ vo_dheight = d_height;
#ifdef HAVE_NEW_GUI
if (use_gui) {
guiGetEvent(guiSetShVideo, 0);
XSetWindowBackground(mDisplay, vo_window, KEY_COLOR);
+ XClearWindow(mDisplay, vo_window);
XGetWindowAttributes(mDisplay, DefaultRootWindow(mDisplay), &xwin_attribs);
depth = xwin_attribs.depth;
if (depth != 15 && depth != 16 && depth != 24 && depth != 32) {
@@ -524,10 +529,10 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
xswa.background_pixel = KEY_COLOR;
xswa.border_pixel = 0;
xswamask = CWBackPixel | CWBorderPixel;
- hint.y = (vo_screenheight - d_height) / 2;
- hint.x = (vo_screenwidth - d_width) / 2;
- hint.base_width = hint.width = vo_dwidth = d_width;
- hint.base_height = hint.height = vo_dheight = d_height;
+ hint.y = vo_dy;
+ hint.x = vo_dx;
+ hint.base_width = hint.width = vo_dwidth;
+ hint.base_height = hint.height = vo_dheight;
hint.flags = PPosition | PSize;
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, "Viewing Window");
@@ -564,12 +569,14 @@ static uint32_t config(uint32_t width, uint32_t height, uint32_t d_width, uint32
}
acq_color = ((key_color.red / 256) << 16) | ((key_color.green / 256) << 8) | key_color.blue;
- if (acq_color != KEY_COLOR) {
- printf("VO: [dxr3] Unable to allocate exact keycolor, using closest match (%0x)\n", acq_color);
+ if (key_color.pixel != KEY_COLOR) {
+ printf("VO: [dxr3] Unable to allocate exact keycolor, using closest match (%0x)\n", key_color.pixel);
}
/* Set keycolor and activate overlay */
- overlay_set_keycolor(overlay_data, acq_color);
+ XSetWindowBackground(mDisplay, vo_window, key_color.pixel);
+ XClearWindow(mDisplay, vo_window);
+ overlay_set_keycolor(overlay_data, key_color.pixel);
overlay_set_mode(overlay_data, EM8300_OVERLAY_MODE_OVERLAY);
overlay_set_mode(overlay_data, EM8300_OVERLAY_MODE_RECTANGLE);
}
@@ -871,14 +878,13 @@ static uint32_t preinit(const char *arg)
overlay_t *ov;
XWindowAttributes attribs;
- ioval = open("/dev/em8300-0", fdflags);
dpy = XOpenDisplay(NULL);
if (!dpy) {
printf("VO: [dxr3] Unable to open display during overlay hack setup!\n");
return -1;
}
XGetWindowAttributes(dpy, RootWindow(dpy, DefaultScreen(dpy)), &attribs);
- ov = overlay_init(ioval);
+ ov = overlay_init(fd_control);
overlay_set_screen(ov, attribs.width, attribs.height, PlanesOfScreen(ScreenOfDisplay(dpy, 0)));
overlay_read_state(ov, NULL);
overlay_set_keycolor(ov, KEY_COLOR);
@@ -886,7 +892,6 @@ static uint32_t preinit(const char *arg)
overlay_set_mode(ov, EM8300_OVERLAY_MODE_RECTANGLE);
overlay_release(ov);
XCloseDisplay(dpy);
- close(ioval);
/* End of fucked up hack */
/* Initialize overlay and X11 */