# HG changeset patch # User nick # Date 1013110629 0 # Node ID 67d10f13a9303e3a05647b1a259bae121380ee98 # Parent e9928913a61d7d88ed6774ec9b208e2cc64486db Configurable OSD zones diff -r e9928913a61d -r 67d10f13a930 libvo/vo_vesa.c --- a/libvo/vo_vesa.c Thu Feb 07 18:58:50 2002 +0000 +++ b/libvo/vo_vesa.c Thu Feb 07 19:37:09 2002 +0000 @@ -267,27 +267,58 @@ return 0; } +/* Please comment it out if you want have OSD within movie */ +#define OSD_OUTSIDE_MOVIE 1 + static void draw_alpha_32(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride) { unsigned int dstride=HAS_DGA()?video_mode_info.XResolution:dstW; +#ifndef OSD_OUTSIDE_MOVIE + if(HAS_DGA()) + { + x0 += x_offset; + y0 += y_offset; + } +#endif vo_draw_alpha_rgb32(w,h,src,srca,stride,dga_buffer+4*(y0*dstride+x0),4*dstride); } static void draw_alpha_24(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride) { unsigned int dstride=HAS_DGA()?video_mode_info.XResolution:dstW; +#ifndef OSD_OUTSIDE_MOVIE + if(HAS_DGA()) + { + x0 += x_offset; + y0 += y_offset; + } +#endif vo_draw_alpha_rgb24(w,h,src,srca,stride,dga_buffer+3*(y0*dstride+x0),3*dstride); } static void draw_alpha_16(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride) { unsigned int dstride=HAS_DGA()?video_mode_info.XResolution:dstW; +#ifndef OSD_OUTSIDE_MOVIE + if(HAS_DGA()) + { + x0 += x_offset; + y0 += y_offset; + } +#endif vo_draw_alpha_rgb16(w,h,src,srca,stride,dga_buffer+2*(y0*dstride+x0),2*dstride); } static void draw_alpha_15(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride) { unsigned int dstride=HAS_DGA()?video_mode_info.XResolution:dstW; +#ifndef OSD_OUTSIDE_MOVIE + if(HAS_DGA()) + { + x0 += x_offset; + y0 += y_offset; + } +#endif vo_draw_alpha_rgb15(w,h,src,srca,stride,dga_buffer+2*(y0*dstride+x0),2*dstride); } @@ -309,8 +340,13 @@ if(verbose > 2) printf("vo_vesa: draw_osd was called\n"); { +#ifdef OSD_OUTSIDE_MOVIE w = HAS_DGA()?video_mode_info.XResolution:dstW; h = HAS_DGA()?video_mode_info.YResolution:dstH; +#else + w = dstW; + h = dstH; +#endif if(dga_buffer) vo_draw_text(w,h,draw_alpha_fnc); } }