diff options
author | atlka <atlka@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-08-16 09:25:32 +0000 |
---|---|---|
committer | atlka <atlka@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-08-16 09:25:32 +0000 |
commit | aad3a2ec861cb1e877608dc41521adf88202e6cc (patch) | |
tree | 15882ae5852c39aa846683a2bebeda59e6772fc2 /libvo/sub.c | |
parent | 4b0e21e35660b032e5101fd146f164887197b0d6 (diff) |
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
Diffstat (limited to 'libvo/sub.c')
-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 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; |