# HG changeset patch # User atlka # Date 998393330 0 # Node ID 48f589cf639bc565dfc8cbac9a8737f71b64bead # Parent cced86eff1255daff4e849249085e68d73a7518c minor changes according to OSD diff -r cced86eff125 -r 48f589cf639b libvo/sub.c --- a/libvo/sub.c Tue Aug 21 11:06:52 2001 +0000 +++ b/libvo/sub.c Tue Aug 21 11:28:50 2001 +0000 @@ -33,7 +33,9 @@ int vo_osd_progbar_value=100; // 0..255 inline static void vo_draw_text_progbar(int dxs,int dys,void (*draw_alpha)(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride)){ - int i; + unsigned char *s; + unsigned char *sa; + int i,w,h,st; int y=(dys-vo_font->height)/2; int c,font; int delimw=vo_font->width[OSD_PB_START] @@ -69,28 +71,30 @@ x+=vo_font->width[c]+vo_font->charspace; c=OSD_PB_0; - if ((font=vo_font->font[c])>=0) + if ((font=vo_font->font[c])>=0){ + w=vo_font->width[c]; + h=vo_font->pic_a[font]->h; + s=vo_font->pic_b[font]->bmp+vo_font->start[c]; + sa=vo_font->pic_a[font]->bmp+vo_font->start[c]; + st=vo_font->pic_a[font]->w; for (i=mark;i--;){ - draw_alpha(x,y, - vo_font->width[c], - vo_font->pic_a[font]->h, - 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); + draw_alpha(x,y,w,h,s,sa,st); x+=charw; } + } c=OSD_PB_1; - if ((font=vo_font->font[c])>=0) + if ((font=vo_font->font[c])>=0){ + w=vo_font->width[c]; + h=vo_font->pic_a[font]->h; + s =vo_font->pic_b[font]->bmp+vo_font->start[c]; + sa=vo_font->pic_a[font]->bmp+vo_font->start[c]; + st=vo_font->pic_a[font]->w; for (i=elems-mark;i--;){ - draw_alpha(x,y, - vo_font->width[c], - vo_font->pic_a[font]->h, - 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); + draw_alpha(x,y,w,h,s,sa,st); x+=charw; } + } c=OSD_PB_END; if ((font=vo_font->font[c])>=0) @@ -136,7 +140,7 @@ memdxs=dxs; memdys=memy=dys; - // too long lines divide into smaller ones + // too long lines divide into a smaller ones i=k=lines=lasth=0; h=vo_font->height; xsize=-vo_font->charspace; @@ -187,14 +191,14 @@ } else if (jmemy){ // out of the screen so end parsing - memy +=vo_font->height-lasth; // correct y position + memy +=vo_font->height-lasth; // correct the y position l=0; break; } utbl[k++]=0; xtbl[lines++]=(dxs-xsize)/2; if (lines==MAX_UCSLINES||k>MAX_UCS){ l=0; break; - } else if(l || jcharspace; lasth=h;