summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
Diffstat (limited to 'libvo')
-rw-r--r--libvo/gl_common.h2
-rw-r--r--libvo/vo_gl.c4
-rw-r--r--libvo/vo_gl2.c4
-rw-r--r--libvo/x11_common.c9
-rw-r--r--libvo/x11_common.h1
5 files changed, 13 insertions, 7 deletions
diff --git a/libvo/gl_common.h b/libvo/gl_common.h
index a7a4f8c2b1..8b1e4b144c 100644
--- a/libvo/gl_common.h
+++ b/libvo/gl_common.h
@@ -293,6 +293,7 @@ void glDisableYUVConversion(GLenum target, int type);
/** \} */
#ifdef GL_WIN32
+#define vo_gl_border(vo) vo_w32_border()
#define vo_check_events() vo_w32_check_events()
#define vo_fullscreen() vo_w32_fullscreen()
#define vo_gl_ontop() vo_w32_ontop()
@@ -300,6 +301,7 @@ void glDisableYUVConversion(GLenum target, int type);
int setGlWindow(int *vinfo, HGLRC *context, HWND win);
void releaseGlContext(int *vinfo, HGLRC *context);
#else
+#define vo_gl_border(vo) vo_x11_border(vo)
#define vo_check_events() vo_x11_check_events(mDisplay)
#define vo_fullscreen() vo_x11_fullscreen()
#define vo_gl_ontop() vo_x11_ontop()
diff --git a/libvo/vo_gl.c b/libvo/vo_gl.c
index d75b7b933f..5a1f3c43ff 100644
--- a/libvo/vo_gl.c
+++ b/libvo/vo_gl.c
@@ -999,12 +999,10 @@ static int control(uint32_t request, void *data)
vo_fullscreen();
resize(vo_dwidth, vo_dheight);
return VO_TRUE;
-#ifdef GL_WIN32
case VOCTRL_BORDER:
- vo_w32_border();
+ vo_gl_border(global_vo);
resize(vo_dwidth, vo_dheight);
return VO_TRUE;
-#endif
case VOCTRL_GET_PANSCAN:
if (!use_aspect) return VO_NOTIMPL;
return VO_TRUE;
diff --git a/libvo/vo_gl2.c b/libvo/vo_gl2.c
index 68885c37c2..9af9b255c5 100644
--- a/libvo/vo_gl2.c
+++ b/libvo/vo_gl2.c
@@ -889,11 +889,9 @@ static int control(uint32_t request, void *data)
initGl(vo_dwidth, vo_dheight);
resize(&vo_dwidth, &vo_dheight);
return VO_TRUE;
-#ifdef GL_WIN32
case VOCTRL_BORDER:
- vo_w32_border();
+ vo_gl_border(global_vo);
return VO_TRUE;
-#endif
case VOCTRL_GET_PANSCAN:
return VO_TRUE;
case VOCTRL_SET_PANSCAN:
diff --git a/libvo/x11_common.c b/libvo/x11_common.c
index d40efd8735..858acda3be 100644
--- a/libvo/x11_common.c
+++ b/libvo/x11_common.c
@@ -1289,6 +1289,7 @@ void vo_x11_create_vo_window(struct vo *vo, XVisualInfo *vis, int x, int y,
hint.flags = PPosition | PSize;
XSetStandardProperties(mDisplay, x11->window, title, title, None, NULL, 0, &hint);
vo_x11_sizehint(vo, x, y, width, height, 0);
+ if (!vo_border) vo_x11_decoration(vo, 0);
// map window
XMapWindow(mDisplay, x11->window);
XClearWindow(mDisplay, x11->window);
@@ -1546,7 +1547,7 @@ void vo_x11_fullscreen(struct vo *vo)
if ( ! (x11->fs_type & vo_wm_FULLSCREEN) ) // not needed with EWMH fs
{
- vo_x11_decoration(vo, (vo_fs) ? 0 : 1);
+ vo_x11_decoration(vo, vo_border && !vo_fs);
vo_x11_sizehint(vo, x, y, w, h, 0);
vo_x11_setlayer(vo, x11->window, vo_fs);
@@ -1572,6 +1573,12 @@ void vo_x11_ontop(struct vo *vo)
vo_x11_setlayer(vo, vo->x11->window, opts->vo_ontop);
}
+void vo_x11_border(struct vo *vo)
+{
+ vo_border = !vo_border;
+ vo_x11_decoration(vo, vo_border && !vo_fs);
+}
+
/*
* XScreensaver stuff
*/
diff --git a/libvo/x11_common.h b/libvo/x11_common.h
index eef178d680..fdd4336924 100644
--- a/libvo/x11_common.h
+++ b/libvo/x11_common.h
@@ -108,6 +108,7 @@ void vo_x11_clearwindow_part(struct vo *vo, Window vo_window,
int img_width, int img_height, int use_fs);
void vo_x11_clearwindow(struct vo *vo, Window vo_window);
void vo_x11_ontop(struct vo *vo);
+extern void vo_x11_border(struct vo *vo);
void vo_x11_ewmh_fullscreen(struct vo_x11_state *x11, int action);
#endif