diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/video_out/video_out_xcbxv.c | 20 | ||||
-rw-r--r-- | src/video_out/video_out_xv.c | 13 |
2 files changed, 31 insertions, 2 deletions
diff --git a/src/video_out/video_out_xcbxv.c b/src/video_out/video_out_xcbxv.c index 6b8bc3919..bbc9b4adb 100644 --- a/src/video_out/video_out_xcbxv.c +++ b/src/video_out/video_out_xcbxv.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out_xcbxv.c,v 1.1 2007/02/15 15:19:33 dgp85 Exp $ + * $Id: video_out_xcbxv.c,v 1.2 2007/02/15 18:26:55 dgp85 Exp $ * * video_out_xcbxv.c, X11 video extension interface for xine * @@ -898,6 +898,9 @@ static int xv_gui_data_exchange (vo_driver_t *this_gen, /* XExposeEvent * xev = (XExposeEvent *) data; */ if (this->cur_frame) { + int i; + xcb_rectangle_t rects[4]; + int rects_count = 0; pthread_mutex_lock(&this->main_mutex); @@ -920,6 +923,21 @@ static int xv_gui_data_exchange (vo_driver_t *this_gen, this->cur_frame->xv_data_size, this->cur_frame->image); } + xcb_change_gc(this->connection, this->gc, XCB_GC_FOREGROUND, &this->screen->black_pixel); + + for( i = 0; i < 4; i++ ) { + if( this->sc.border[i].w && this->sc.border[i].h ) { + rects[rects_count].x = this->sc.border[i].x; + rects[rects_count].y = this->sc.border[i].y; + rects[rects_count].width = this->sc.border[i].w; + rects[rects_count].height = this->sc.border[i].h; + rects_count++; + } + } + + if (rects_count > 0) + xcb_poly_fill_rectangle(this->connection, this->window, this->gc, rects_count, rects); + if(this->xoverlay) xcbosd_expose(this->xoverlay); diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c index 3dc62920d..75a4a37e2 100644 --- a/src/video_out/video_out_xv.c +++ b/src/video_out/video_out_xv.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out_xv.c,v 1.221 2006/12/25 15:19:51 dgp85 Exp $ + * $Id: video_out_xv.c,v 1.222 2007/02/15 18:26:55 dgp85 Exp $ * * video_out_xv.c, X11 video extension interface for xine * @@ -953,6 +953,7 @@ static int xv_gui_data_exchange (vo_driver_t *this_gen, /* XExposeEvent * xev = (XExposeEvent *) data; */ if (this->cur_frame) { + int i; LOCK_DISPLAY(this); @@ -972,6 +973,16 @@ static int xv_gui_data_exchange (vo_driver_t *this_gen, this->sc.output_width, this->sc.output_height); } + XSetForeground (this->display, this->gc, this->black.pixel); + + for( i = 0; i < 4; i++ ) { + if( this->sc.border[i].w && this->sc.border[i].h ) { + XFillRectangle(this->display, this->drawable, this->gc, + this->sc.border[i].x, this->sc.border[i].y, + this->sc.border[i].w, this->sc.border[i].h); + } + } + if(this->xoverlay) x11osd_expose(this->xoverlay); |