diff options
-rw-r--r-- | libvo/sub.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/libvo/sub.c b/libvo/sub.c index 30bfe2b3df..8fe826eb0d 100644 --- a/libvo/sub.c +++ b/libvo/sub.c @@ -273,11 +273,13 @@ inline static void vo_draw_text_sub(int dxs,int dys,void (*draw_alpha)(int x0,in } void *vo_spudec=NULL; -#ifdef USE_DVDREAD +void *vo_vobsub=NULL; inline static void vo_draw_spudec(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)){ spudec_draw(vo_spudec, draw_alpha); } -#endif +inline static void vo_draw_vobsub(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)){ + vobsub_draw(vo_vobsub, dxs, dys, draw_alpha); +} static int draw_alpha_init_flag=0; @@ -285,6 +287,14 @@ extern void vo_draw_alpha_init(); void vo_draw_text(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)){ + if(vo_spudec){ + vo_draw_spudec(dxs,dys,draw_alpha); + } + + if(vo_vobsub){ + vo_draw_vobsub(dxs,dys,draw_alpha); + } + if(!vo_font) return; // no font if(!draw_alpha_init_flag){ @@ -303,11 +313,6 @@ void vo_draw_text(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, if(vo_osd_progbar_type>=0 && vo_font->font[OSD_PB_0]>=0){ vo_draw_text_progbar(dxs,dys,draw_alpha); } -#ifdef USE_DVDREAD - if(vo_spudec){ - vo_draw_spudec(dxs,dys,draw_alpha); - } -#endif } |