From aad3a2ec861cb1e877608dc41521adf88202e6cc Mon Sep 17 00:00:00 2001 From: atlka Date: Thu, 16 Aug 2001 09:25:32 +0000 Subject: changes according to proper subfont bar positioning and char spaceing - sub.c changes to scale from 0.100 to 0..255 for proper OSD displaying - mplayer.c git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1549 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libvo/sub.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'libvo/sub.c') diff --git a/libvo/sub.c b/libvo/sub.c index 1d07355426..51298928f4 100644 --- a/libvo/sub.c +++ b/libvo/sub.c @@ -38,10 +38,15 @@ inline static void vo_draw_text_progbar(int dxs,int dys,void (*draw_alpha)(int x int y=(dys-vo_font->height)/2; int x; int c,font; - int width=(dxs*2/3-vo_font->width[0x10]-vo_font->width[0x12]); - int elems=width/vo_font->width[0x11]; + int charw=vo_font->width[OSD_PB_0]+vo_font->charspace; + int delimw=vo_font->width[OSD_PB_START] + +vo_font->width[OSD_PB_END] + +vo_font->charspace; + int width=(2*dxs-3*delimw)/3; + int elems=width/charw; int mark=(vo_osd_progbar_value*(elems+1))>>8; - x=(dxs-width)/2; + x=(dxs-elems*charw-delimw)/2; + // printf("osd.progbar width=%d xpos=%d\n",width,x); c=vo_osd_progbar_type; @@ -61,7 +66,7 @@ inline static void vo_draw_text_progbar(int dxs,int dys,void (*draw_alpha)(int x vo_font->pic_b[font]->bmp+vo_font->start[c], vo_font->pic_a[font]->bmp+vo_font->start[c], vo_font->pic_a[font]->w); - x+=vo_font->width[c]; + x+=vo_font->width[c]+vo_font->charspace; c=OSD_PB_0; if ((font=vo_font->font[c])>=0) @@ -72,7 +77,7 @@ inline static void vo_draw_text_progbar(int dxs,int dys,void (*draw_alpha)(int x vo_font->pic_b[font]->bmp+vo_font->start[c], vo_font->pic_a[font]->bmp+vo_font->start[c], vo_font->pic_a[font]->w); - x+=vo_font->width[c]; + x+=charw; } c=OSD_PB_1; @@ -84,7 +89,7 @@ inline static void vo_draw_text_progbar(int dxs,int dys,void (*draw_alpha)(int x vo_font->pic_b[font]->bmp+vo_font->start[c], vo_font->pic_a[font]->bmp+vo_font->start[c], vo_font->pic_a[font]->w); - x+=vo_font->width[c]; + x+=charw; } c=OSD_PB_END; @@ -95,7 +100,7 @@ inline static void vo_draw_text_progbar(int dxs,int dys,void (*draw_alpha)(int x vo_font->pic_b[font]->bmp+vo_font->start[c], vo_font->pic_a[font]->bmp+vo_font->start[c], vo_font->pic_a[font]->w); -// x+=vo_font->width[c]; +// x+=vo_font->width[c]+vo_font->charspace; // vo_osd_progbar_value=(vo_osd_progbar_value+1)&0xFF; -- cgit v1.2.3