summaryrefslogtreecommitdiffstats
path: root/libvo/sub.c
diff options
context:
space:
mode:
authoratlka <atlka@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-16 09:25:32 +0000
committeratlka <atlka@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-16 09:25:32 +0000
commitaad3a2ec861cb1e877608dc41521adf88202e6cc (patch)
tree15882ae5852c39aa846683a2bebeda59e6772fc2 /libvo/sub.c
parent4b0e21e35660b032e5101fd146f164887197b0d6 (diff)
downloadmpv-aad3a2ec861cb1e877608dc41521adf88202e6cc.tar.bz2
mpv-aad3a2ec861cb1e877608dc41521adf88202e6cc.tar.xz
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.c19
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;