diff options
Diffstat (limited to 'libvo')
-rw-r--r-- | libvo/gl_common.h | 2 | ||||
-rw-r--r-- | libvo/vo_gl.c | 4 | ||||
-rw-r--r-- | libvo/vo_gl2.c | 4 | ||||
-rw-r--r-- | libvo/x11_common.c | 9 | ||||
-rw-r--r-- | libvo/x11_common.h | 1 |
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 |