Mercurial > mplayer.hg
changeset 32963:ce00479b68ce
Cosmetic: Format to MPlayer coding style.
Additionally: sort prototype declarations, remove useless comment at top of
file, add comment to include file, group and sort includes, move assignment
outside condition, group statements by adding or removing new lines to ease
reading and remove needless parentheses and braces.
author | ib |
---|---|
date | Tue, 08 Mar 2011 12:29:44 +0000 |
parents | 59f89e650306 |
children | cddc94d28830 |
files | gui/mplayer/gui_common.c gui/mplayer/gui_common.h |
diffstat | 2 files changed, 393 insertions(+), 251 deletions(-) [+] |
line wrap: on
line diff
--- a/gui/mplayer/gui_common.c Tue Mar 08 12:12:37 2011 +0000 +++ b/gui/mplayer/gui_common.c Tue Mar 08 12:29:44 2011 +0000 @@ -1,6 +1,4 @@ /* - * main window - * * This file is part of MPlayer. * * MPlayer is free software; you can redistribute it and/or modify @@ -18,307 +16,451 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include <stdlib.h> +#include <inttypes.h> #include <stdio.h> -#include <inttypes.h> +#include <stdlib.h> #include <string.h> #include "gui_common.h" #include "gui/interface.h" #include "gui/skin/font.h" +#include "access_mpcontext.h" +#include "codec-cfg.h" // this should be in libmpdemux/stheader.h #include "config.h" #include "help_mp.h" - -#include "stream/stream.h" +#include "libavutil/avstring.h" +#include "libmpdemux/stheader.h" #include "mixer.h" #include "osdep/timer.h" -#include "libmpdemux/stheader.h" -#include "codec-cfg.h" -#include "access_mpcontext.h" -#include "libavutil/avstring.h" +#include "stream/stream.h" -static char * image_buffer; -static int image_width; +static char *image_buffer; +static int image_width; -static void TranslateFilename( int c,char * tmp,size_t tmplen ) +static void TranslateFilename(int c, char *tmp, size_t tmplen) { - int i; - char * p; - size_t len; + int i; + char *p; + size_t len; - switch ( guiIntfStruct.StreamType ) - { - case STREAMTYPE_STREAM: + switch (guiIntfStruct.StreamType) { + case STREAMTYPE_STREAM: av_strlcpy(tmp, guiIntfStruct.Filename, tmplen); break; - case STREAMTYPE_FILE: - if ( ( guiIntfStruct.Filename )&&( guiIntfStruct.Filename[0] ) ) - { - if ( (p = strrchr(guiIntfStruct.Filename, '/')) ) - av_strlcpy(tmp, p + 1, tmplen); + + case STREAMTYPE_FILE: + if (guiIntfStruct.Filename && guiIntfStruct.Filename[0]) { + p = strrchr(guiIntfStruct.Filename, '/'); + + if (p) + av_strlcpy(tmp, p + 1, tmplen); else - av_strlcpy(tmp, guiIntfStruct.Filename, tmplen); - len=strlen( tmp ); - if ( ( len > 3 )&&( tmp[len - 3] == '.' ) ) tmp[len - 3]=0; - else if ( ( len > 4 )&&( tmp[len - 4] == '.' ) ) tmp[len - 4]=0; - else if ( ( len > 5 )&&( tmp[len - 5] == '.' ) ) tmp[len - 5]=0; - } else av_strlcpy( tmp,MSGTR_NoFileLoaded,tmplen ); - break; + av_strlcpy(tmp, guiIntfStruct.Filename, tmplen); + + len = strlen(tmp); + + if (len > 3 && tmp[len - 3] == '.') + tmp[len - 3] = 0; + else if (len > 4 && tmp[len - 4] == '.') + tmp[len - 4] = 0; + else if (len > 5 && tmp[len - 5] == '.') + tmp[len - 5] = 0; + } else + av_strlcpy(tmp, MSGTR_NoFileLoaded, tmplen); + break; + #ifdef CONFIG_DVDREAD - case STREAMTYPE_DVD: - if ( guiIntfStruct.DVD.current_chapter ) snprintf(tmp,tmplen,MSGTR_Chapter,guiIntfStruct.DVD.current_chapter ); - else av_strlcat( tmp,MSGTR_NoChapter,tmplen ); - break; + case STREAMTYPE_DVD: + if (guiIntfStruct.DVD.current_chapter) + snprintf(tmp, tmplen, MSGTR_Chapter, guiIntfStruct.DVD.current_chapter); + else + av_strlcat(tmp, MSGTR_NoChapter, tmplen); + break; #endif + #ifdef CONFIG_VCD - case STREAMTYPE_VCD: - snprintf( tmp,tmplen,MSGTR_VCDTrack,guiIntfStruct.Track ); - break; + case STREAMTYPE_VCD: + snprintf(tmp, tmplen, MSGTR_VCDTrack, guiIntfStruct.Track); + break; #endif - default: av_strlcpy( tmp,MSGTR_NoMediaOpened,tmplen ); - } - if ( c ) - { - for ( i=0;i < (int)strlen( tmp );i++ ) - { - int t=0; - if ( c == 1 ) { if ( ( tmp[i] >= 'A' )&&( tmp[i] <= 'Z' ) ) t=32; } - if ( c == 2 ) { if ( ( tmp[i] >= 'a' )&&( tmp[i] <= 'z' ) ) t=-32; } - tmp[i]=(char)( tmp[i] + t ); + + default: + av_strlcpy(tmp, MSGTR_NoMediaOpened, tmplen); } - } + + if (c) { + for (i = 0; i < (int)strlen(tmp); i++) { + int t = 0; + + if (c == 1) + if (tmp[i] >= 'A' && tmp[i] <= 'Z') + t = 32; + + if (c == 2) + if (tmp[i] >= 'a' && tmp[i] <= 'z') + t = -32; + + tmp[i] = (char)(tmp[i] + t); + } + } } /* Unsafe! Pass only null-terminated strings as (char *)str. */ -char * Translate( char * str ) +char *Translate(char *str) { - mixer_t *mixer = mpctx_get_mixer(guiIntfStruct.mpcontext); - static char trbuf[512]; - char tmp[512]; - int i,c; - int t; - int strsize = 0; - memset( trbuf,0,512 ); - memset( tmp,0,128 ); - strsize = strlen(str); - for ( c=0,i=0;i < strsize;i++ ) - { - if ( str[i] != '$' ) { trbuf[c++]=str[i]; trbuf[c]=0; } - else - { - switch ( str[++i] ) - { - case 't': snprintf( tmp,sizeof( tmp ),"%02d",guiIntfStruct.Track ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 'o': TranslateFilename( 0,tmp,sizeof( tmp ) ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 'f': TranslateFilename( 1,tmp,sizeof( tmp ) ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 'F': TranslateFilename( 2,tmp,sizeof( tmp ) ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case '6': t=guiIntfStruct.LengthInSec; goto calclengthhhmmss; - case '1': t=guiIntfStruct.TimeSec; + mixer_t *mixer = mpctx_get_mixer(guiIntfStruct.mpcontext); + static char trbuf[512]; + char tmp[512]; + int i, c; + int t; + int strsize = 0; + + memset(trbuf, 0, 512); + memset(tmp, 0, 128); + strsize = strlen(str); + + for (c = 0, i = 0; i < strsize; i++) { + if (str[i] != '$') { + trbuf[c++] = str[i]; + trbuf[c] = 0; + } else { + switch (str[++i]) { + case 't': + snprintf(tmp, sizeof(tmp), "%02d", guiIntfStruct.Track); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'o': + TranslateFilename(0, tmp, sizeof(tmp)); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'f': + TranslateFilename(1, tmp, sizeof(tmp)); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'F': + TranslateFilename(2, tmp, sizeof(tmp)); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '6': + t = guiIntfStruct.LengthInSec; + goto calclengthhhmmss; + + case '1': + t = guiIntfStruct.TimeSec; calclengthhhmmss: - snprintf( tmp,sizeof( tmp ),"%02d:%02d:%02d",t/3600,t/60%60,t%60 ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); - break; - case '7': t=guiIntfStruct.LengthInSec; goto calclengthmmmmss; - case '2': t=guiIntfStruct.TimeSec; + snprintf(tmp, sizeof(tmp), "%02d:%02d:%02d", t / 3600, t / 60 % 60, t % 60); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '7': + t = guiIntfStruct.LengthInSec; + goto calclengthmmmmss; + + case '2': + t = guiIntfStruct.TimeSec; calclengthmmmmss: - snprintf( tmp,sizeof( tmp ),"%04d:%02d",t/60,t%60 ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); - break; - case '3': snprintf( tmp,sizeof( tmp ),"%02d",guiIntfStruct.TimeSec / 3600 ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case '4': snprintf( tmp,sizeof( tmp ),"%02d",( ( guiIntfStruct.TimeSec / 60 ) % 60 ) ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case '5': snprintf( tmp,sizeof( tmp ),"%02d",guiIntfStruct.TimeSec % 60 ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case '8': snprintf( tmp,sizeof( tmp ),"%01d:%02d:%02d",guiIntfStruct.TimeSec / 3600,( guiIntfStruct.TimeSec / 60 ) % 60,guiIntfStruct.TimeSec % 60 ); av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 'v': snprintf( tmp,sizeof( tmp ),"%3.2f%%",guiIntfStruct.Volume ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 'V': snprintf( tmp,sizeof( tmp ),"%3.1f",guiIntfStruct.Volume ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 'b': snprintf( tmp,sizeof( tmp ),"%3.2f%%",guiIntfStruct.Balance ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 'B': snprintf( tmp,sizeof( tmp ),"%3.1f",guiIntfStruct.Balance ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 'd': snprintf( tmp,sizeof( tmp ),"%d",guiIntfStruct.FrameDrop ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 'x': snprintf( tmp,sizeof( tmp ),"%d",guiIntfStruct.MovieWidth ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 'y': snprintf( tmp,sizeof( tmp ),"%d",guiIntfStruct.MovieHeight ); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 'C': snprintf( tmp,sizeof( tmp ),"%s", guiIntfStruct.sh_video? ((sh_video_t *)guiIntfStruct.sh_video)->codec->name : ""); - av_strlcat( trbuf,tmp,sizeof( trbuf ) ); break; - case 's': if ( guiIntfStruct.Playing == 0 ) av_strlcat( trbuf,"s",sizeof( trbuf ) ); break; - case 'l': if ( guiIntfStruct.Playing == 1 ) av_strlcat( trbuf,"p",sizeof( trbuf ) ); break; - case 'e': if ( guiIntfStruct.Playing == 2 ) av_strlcat( trbuf,"e",sizeof( trbuf ) ); break; - case 'a': - if ( mixer->muted ) { av_strlcat( trbuf,"n",sizeof( trbuf ) ); break; } - switch ( guiIntfStruct.AudioType ) - { - case 0: av_strlcat( trbuf,"n",sizeof( trbuf ) ); break; - case 1: av_strlcat( trbuf,"m",sizeof( trbuf ) ); break; - case 2: av_strlcat( trbuf,"t",sizeof( trbuf ) ); break; - } - break; - case 'T': - switch ( guiIntfStruct.StreamType ) - { - case STREAMTYPE_FILE: av_strlcat( trbuf,"f",sizeof( trbuf ) ); break; + snprintf(tmp, sizeof(tmp), "%04d:%02d", t / 60, t % 60); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '3': + snprintf(tmp, sizeof(tmp), "%02d", guiIntfStruct.TimeSec / 3600); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '4': + snprintf(tmp, sizeof(tmp), "%02d", (guiIntfStruct.TimeSec / 60) % 60); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '5': + snprintf(tmp, sizeof(tmp), "%02d", guiIntfStruct.TimeSec % 60); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case '8': + snprintf(tmp, sizeof(tmp), "%01d:%02d:%02d", guiIntfStruct.TimeSec / 3600, (guiIntfStruct.TimeSec / 60) % 60, guiIntfStruct.TimeSec % 60); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'v': + snprintf(tmp, sizeof(tmp), "%3.2f%%", guiIntfStruct.Volume); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'V': + snprintf(tmp, sizeof(tmp), "%3.1f", guiIntfStruct.Volume); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'b': + snprintf(tmp, sizeof(tmp), "%3.2f%%", guiIntfStruct.Balance); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'B': + snprintf(tmp, sizeof(tmp), "%3.1f", guiIntfStruct.Balance); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'd': + snprintf(tmp, sizeof(tmp), "%d", guiIntfStruct.FrameDrop); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'x': + snprintf(tmp, sizeof(tmp), "%d", guiIntfStruct.MovieWidth); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'y': + snprintf(tmp, sizeof(tmp), "%d", guiIntfStruct.MovieHeight); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 'C': + snprintf(tmp, sizeof(tmp), "%s", guiIntfStruct.sh_video ? ((sh_video_t *)guiIntfStruct.sh_video)->codec->name : ""); + av_strlcat(trbuf, tmp, sizeof(trbuf)); + break; + + case 's': + if (guiIntfStruct.Playing == 0) + av_strlcat(trbuf, "s", sizeof(trbuf)); + break; + + case 'l': + if (guiIntfStruct.Playing == 1) + av_strlcat(trbuf, "p", sizeof(trbuf)); + break; + + case 'e': + if (guiIntfStruct.Playing == 2) + av_strlcat(trbuf, "e", sizeof(trbuf)); + break; + + case 'a': + + if (mixer->muted) { + av_strlcat(trbuf, "n", sizeof(trbuf)); + break; + } + + switch (guiIntfStruct.AudioType) { + case 0: + av_strlcat(trbuf, "n", sizeof(trbuf)); + break; + + case 1: + av_strlcat(trbuf, "m", sizeof(trbuf)); + break; + + case 2: + av_strlcat(trbuf, "t", sizeof(trbuf)); + break; + } + + break; + + case 'T': + switch (guiIntfStruct.StreamType) { + case STREAMTYPE_FILE: + av_strlcat(trbuf, "f", sizeof(trbuf)); + break; + #ifdef CONFIG_VCD - case STREAMTYPE_VCD: av_strlcat( trbuf,"v",sizeof( trbuf ) ); break; + case STREAMTYPE_VCD: + av_strlcat(trbuf, "v", sizeof(trbuf)); + break; #endif - case STREAMTYPE_STREAM: av_strlcat( trbuf,"u",sizeof( trbuf ) ); break; + + case STREAMTYPE_STREAM: + av_strlcat(trbuf, "u", sizeof(trbuf)); + break; + #ifdef CONFIG_DVDREAD - case STREAMTYPE_DVD: av_strlcat( trbuf,"d",sizeof( trbuf ) ); break; + case STREAMTYPE_DVD: + av_strlcat(trbuf, "d", sizeof(trbuf)); + break; #endif - default: av_strlcat( trbuf," ",sizeof( trbuf ) ); break; + + default: + av_strlcat(trbuf, " ", sizeof(trbuf)); + break; + } + break; + + case '$': + av_strlcat(trbuf, "$", sizeof(trbuf)); + break; + + default: + continue; } - break; - case '$': av_strlcat( trbuf,"$",sizeof( trbuf ) ); break; - default: continue; - } - c=strlen( trbuf ); + + c = strlen(trbuf); + } } - } - return trbuf; + + return trbuf; } -void PutImage( txSample * bf,int x,int y,int max,int ofs ) +void PutImage(txSample *bf, int x, int y, int max, int ofs) { - int i=0,ix,iy; - uint32_t * buf = NULL; - uint32_t * drw = NULL; - register uint32_t tmp; - /* register uint32_t yc; */ + int i = 0, ix, iy; + uint32_t *buf = NULL; + uint32_t *drw = NULL; + register uint32_t tmp; + + /* register uint32_t yc; */ - if ( ( !bf )||( bf->Image == NULL ) ) return; + if (!bf || (bf->Image == NULL)) + return; - i=( bf->Width * ( bf->Height / max ) ) * ofs; - buf=(uint32_t *)image_buffer; - drw=(uint32_t *)bf->Image; + i = bf->Width * (bf->Height / max) * ofs; + buf = (uint32_t *)image_buffer; + drw = (uint32_t *)bf->Image; #if 1 - for ( iy=y;iy < (int)(y+bf->Height / max);iy++ ) - for ( ix=x;ix < (int)(x+bf->Width);ix++ ) - { - tmp=drw[i++]; - if ( tmp != 0x00ff00ff ) buf[iy * image_width + ix]=tmp; - } + for (iy = y; iy < (int)(y + bf->Height / max); iy++) + for (ix = x; ix < (int)(x + bf->Width); ix++) { + tmp = drw[i++]; + + if (tmp != 0x00ff00ff) + buf[iy * image_width + ix] = tmp; + } #else - yc=y * image_width; - for ( iy=y;iy < (int)(y+bf->Height / max);iy++ ) - { - for ( ix=x;ix < (int)(x+bf->Width);ix++ ) - { - tmp=drw[i++]; - if ( tmp != 0x00ff00ff ) buf[yc + ix]=tmp; + yc = y * image_width; + + for (iy = y; iy < (int)(y + bf->Height / max); iy++) { + for (ix = x; ix < (int)(x + bf->Width); ix++) { + tmp = drw[i++]; + + if (tmp != 0x00ff00ff) + buf[yc + ix] = tmp; + } + + yc += image_width; } - yc+=image_width; - } #endif } -void SimplePotmeterPutImage( txSample * bf,int x,int y,float frac ) +void SimplePotmeterPutImage(txSample *bf, int x, int y, float frac) { - int i=0,w,r,ix,iy; - uint32_t * buf = NULL; - uint32_t * drw = NULL; - register uint32_t tmp; + int i = 0, w, r, ix, iy; + uint32_t *buf = NULL; + uint32_t *drw = NULL; + register uint32_t tmp; - if ( ( !bf )||( bf->Image == NULL ) ) return; + if (!bf || (bf->Image == NULL)) + return; - buf=(uint32_t *)image_buffer; - drw=(uint32_t *)bf->Image; - w=bf->Width*frac; - r=bf->Width-w; - for ( iy=y;iy < (int)(y+bf->Height);iy++ ) - { - for ( ix=x;ix < (int)(x+w);ix++ ) - { - tmp=drw[i++]; - if ( tmp != 0x00ff00ff ) buf[iy * image_width + ix]=tmp; - } - i+=r; - } + buf = (uint32_t *)image_buffer; + drw = (uint32_t *)bf->Image; + w = bf->Width * frac; + r = bf->Width - w; + + for (iy = y; iy < (int)(y + bf->Height); iy++) { + for (ix = x; ix < (int)(x + w); ix++) { + tmp = drw[i++]; + + if (tmp != 0x00ff00ff) + buf[iy * image_width + ix] = tmp; + } + + i += r; + } } -void Render( wsTWindow * window,wItem * Items,int nrItems,char * db,int size ) +void Render(wsTWindow *window, wItem *Items, int nrItems, char *db, int size) { - wItem * item; - txSample * image = NULL; - int i, ofs; + wItem *item; + txSample *image = NULL; + int i, ofs; + + image_buffer = db; + image_width = window->Width; + + for (i = 0; i < nrItems + 1; i++) { + item = &Items[i]; + ofs = (item->pressed == btnPressed ? 0 : (item->pressed == btnReleased ? 1 : 2)); + + switch (item->type) { + case itButton: + PutImage(&item->Bitmap, item->x, item->y, 3, ofs); + break; - image_buffer=db; - image_width=window->Width; + case itPotmeter: + if (item->numphases == 1) + SimplePotmeterPutImage(&item->Bitmap, item->x, item->y, item->value / 100.0f); + else + PutImage(&item->Bitmap, item->x, item->y, item->numphases, (item->numphases - 1) * (item->value / 100.0f)); + break; + + case itHPotmeter: + if (item->numphases == 1) + SimplePotmeterPutImage(&item->Bitmap, item->x, item->y, item->value / 100.0f); + else + PutImage(&item->Bitmap, item->x, item->y, item->numphases, (item->numphases - 1) * (item->value / 100.0f)); + PutImage(&item->Mask, item->x + (int)((item->width - item->pwidth) * (item->value / 100.0f)), item->y, 3, ofs); + break; + + case itVPotmeter: + PutImage(&item->Bitmap, item->x, item->y, item->numphases, item->numphases * (1.0f - item->value / 100.0f)); + PutImage(&item->Mask, item->x, item->y + (int)((item->height - item->pheight) * (1.0f - item->value / 100.0f)), 3, ofs); + break; + + case itSLabel: + image = fntRender(item, 0, item->label); + if (image) + PutImage(image, item->x, item->y, 1, 0); - for( i=0;i < nrItems + 1;i++ ) - { - item=&Items[i]; - ofs = (item->pressed == btnPressed ? 0 : (item->pressed == btnReleased ? 1 : 2)); - switch( item->type ) - { - case itButton: - PutImage( &item->Bitmap,item->x,item->y,3,ofs ); - break; - case itPotmeter: - if (item->numphases == 1)SimplePotmeterPutImage( &item->Bitmap,item->x,item->y, item->value / 100.0f ); - else PutImage( &item->Bitmap,item->x,item->y,item->numphases,( item->numphases - 1 ) * ( item->value / 100.0f ) ); - break; - case itHPotmeter: - if (item->numphases == 1)SimplePotmeterPutImage( &item->Bitmap,item->x,item->y, item->value / 100.0f ); - else PutImage( &item->Bitmap,item->x,item->y,item->numphases,( item->numphases - 1 ) * ( item->value / 100.0f ) ); - PutImage( &item->Mask,item->x + (int)( ( item->width - item->pwidth ) * item->value / 100.0f ),item->y,3,ofs ); - break; - case itVPotmeter: - PutImage( &item->Bitmap, - item->x,item->y, - item->numphases, - item->numphases * ( 1.0f - item->value / 100.0f ) ); - PutImage( &item->Mask, - item->x,item->y + (int)( ( item->height - item->pheight ) * ( 1.0f - item->value / 100.0f ) ), - 3,ofs ); - break; - case itSLabel: - image=fntRender( item,0,item->label ); - if ( image ) PutImage( image,item->x,item->y,1,0 ); - case itDLabel: - { - int x; - unsigned int d; - char * t = Translate( item->label ); - if ( !item->text || ( strcmp( item->text, t ) != 0 ) ) - { - free( item->text ); - item->text = strdup( t ); - item->textwidth = fntTextWidth( item->fontid, t ); - item->starttime = GetTimerMS(); - item->last_x = 0; + case itDLabel: + { + int x; + unsigned int d; + char *t = Translate(item->label); + + if (!item->text || (strcmp(item->text, t) != 0)) { + free(item->text); + item->text = strdup(t); + item->textwidth = fntTextWidth(item->fontid, t); + item->starttime = GetTimerMS(); + item->last_x = 0; } - d = GetTimerMS() - item->starttime; - if ( d < DELAYTIME ) x = item->last_x; // don't scroll yet - else - { - int l; - char c[2]; - l = (item->textwidth ? item->textwidth : item->width); - x = l - ((d - DELAYTIME) / 20) % l - 1; - c[0] = *item->text; - c[1] = '\0'; - if ( x < (fntTextWidth( item->fontid, c ) + 1) >> 1) - { - item->starttime = GetTimerMS(); // stop again - item->last_x = x; // at current x pos - } + + d = GetTimerMS() - item->starttime; + + if (d < DELAYTIME) + x = item->last_x; // don't scroll yet + else { + int l; + char c[2]; + + l = (item->textwidth ? item->textwidth : item->width); + x = l - ((d - DELAYTIME) / 20) % l - 1; + c[0] = *item->text; + c[1] = '\0'; + + if (x < (fntTextWidth(item->fontid, c) + 1) >> 1) { + item->starttime = GetTimerMS(); // stop again + item->last_x = x; // at current x pos + } } - image = fntRender( item, x, t ); - } - if ( image ) PutImage( image,item->x,item->y,1,0 ); - break; + + image = fntRender(item, x, t); + } + + if (image) + PutImage(image, item->x, item->y, 1, 0); + + break; + } } - } - wsConvert( window,db,size ); + + wsConvert(window, db, size); }
--- a/gui/mplayer/gui_common.h Tue Mar 08 12:12:37 2011 +0000 +++ b/gui/mplayer/gui_common.h Tue Mar 08 12:29:44 2011 +0000 @@ -23,9 +23,9 @@ #define DELAYTIME 2500 // in milliseconds -char * Translate( char * str ); -void PutImage( txSample * bf,int x, int y, int max, int ofs ); -void SimplePotmeterPutImage( txSample * bf, int x, int y, float frac ); -void Render( wsTWindow * window, wItem * Items, int nrItems, char * db, int size ); +void PutImage(txSample *bf, int x, int y, int max, int ofs); +void Render(wsTWindow *window, wItem *Items, int nrItems, char *db, int size); +void SimplePotmeterPutImage(txSample *bf, int x, int y, float frac); +char *Translate(char *str); #endif /* MPLAYER_GUI_GUI_COMMON_H */