From 7ba8aec5af73d7ff4ce4d9a788d6a5911c621e88 Mon Sep 17 00:00:00 2001 From: Nicolas Pennequin Date: Thu, 15 Feb 2007 22:17:01 +0000 Subject: [PATCH] * Add support for an optional y coordinate to the progressbar (from FS #4783). * Modify the 'Rockboxed' WPS to make use of this new coordinate. It improves the display of cuesheet/A-B markers a lot and cleans the bitmaps up a bit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12321 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/gwps-common.c | 61 +++++++++++++++++++++-------------- apps/gui/gwps.h | 1 + wps/Rockboxed.128x128x16.wps | 2 +- wps/Rockboxed.160x128x16.wps | 2 +- wps/Rockboxed.176x132x16.wps | 2 +- wps/Rockboxed.176x220x16.wps | 2 +- wps/Rockboxed.220x176x16.wps | 2 +- wps/Rockboxed.240x320x16.wps | 2 +- wps/Rockboxed.320x240x16.wps | 2 +- wps/Rockboxed/pg-108.bmp | Bin 3294 -> 1674 bytes wps/Rockboxed/pg-140.bmp | Bin 4254 -> 2154 bytes wps/Rockboxed/pg-220.bmp | Bin 9954 -> 3354 bytes 12 files changed, 44 insertions(+), 32 deletions(-) diff --git a/apps/gui/gwps-common.c b/apps/gui/gwps-common.c index b6e64d2fcc..2037ad57a5 100644 --- a/apps/gui/gwps-common.c +++ b/apps/gui/gwps-common.c @@ -620,30 +620,37 @@ static char* get_tag(struct wps_data* wps_data, wps_data->full_line_progressbar=0; return buf; #else - char *p=strchr(tag, '|'); - if (p) { - wps_data->progress_height=atoi(++p); - p=strchr(p, '|'); - if (p) { - wps_data->progress_start=atoi(++p); - p=strchr(p, '|'); - if (p) - wps_data->progress_end=atoi(++p); - else + /* default values : */ + wps_data->progress_top = -1; + wps_data->progress_height = 6; + wps_data->progress_start = 0; + wps_data->progress_end = 0; + + char *prev=strchr(tag, '|'); + if (prev) { + char *p=strchr(prev+1, '|'); + if (p) { + wps_data->progress_height=atoi(++prev); + prev=strchr(prev, '|'); + p=strchr(++p, '|'); + if (p) { + wps_data->progress_start=atoi(++prev); + prev=strchr(prev, '|'); + p=strchr(++p, '|'); + if (p) { + wps_data->progress_end=atoi(++prev); + prev=strchr(prev, '|'); + p=strchr(++p, '|'); + if(p) + wps_data->progress_top = atoi(++prev); + } + + if (wps_data->progress_height<3) + wps_data->progress_height=3; + if (wps_data->progress_endprogress_start+3) wps_data->progress_end=0; - }else { - wps_data->progress_start=0; - wps_data->progress_end=0; - } - - if (wps_data->progress_height<3) - wps_data->progress_height=3; - if (wps_data->progress_endprogress_start+3) - wps_data->progress_end=0; - }else { - wps_data->progress_height=6; - wps_data->progress_start=0; - wps_data->progress_end=0; + } + } } return "\x01"; #endif @@ -1824,8 +1831,12 @@ bool gui_wps_refresh(struct gui_wps *gwps, int ffwd_offset, /* progress */ if (flags & refresh_mode & WPS_REFRESH_PLAYER_PROGRESS) { - int sb_y = i*h + offset + ((h > data->progress_height + 1) - ? (h - data->progress_height) / 2 : 1); + int sb_y; + if (data->progress_top == -1) + sb_y = i*h + offset + ((h > data->progress_height + 1) + ? (h - data->progress_height) / 2 : 1); + else + sb_y = data->progress_top; if (!data->progress_end) data->progress_end=display->width; diff --git a/apps/gui/gwps.h b/apps/gui/gwps.h index ff4e128d4e..e19bffc0b1 100644 --- a/apps/gui/gwps.h +++ b/apps/gui/gwps.h @@ -103,6 +103,7 @@ struct wps_data unsigned short time_mult[WPS_MAX_LINES][WPS_MAX_SUBLINES]; long subline_expire_time[WPS_MAX_LINES]; int curr_subline[WPS_MAX_LINES]; + int progress_top; int progress_height; int progress_start; int progress_end; diff --git a/wps/Rockboxed.128x128x16.wps b/wps/Rockboxed.128x128x16.wps index 6e9c5ed31d..6373660af9 100644 --- a/wps/Rockboxed.128x128x16.wps +++ b/wps/Rockboxed.128x128x16.wps @@ -43,7 +43,7 @@ %al %s%ac%?it<%it|%fn>%ar %ac%t3%ig;%t%iy -%pb|10|10|108| +%pb|5|10|108|76| %al %pc%ac%?fc%ar%pt %?ps<%xdb> %?mp<%xdq|%xdp|%xdq|%xdf|%xdr> diff --git a/wps/Rockboxed.160x128x16.wps b/wps/Rockboxed.160x128x16.wps index 40a0a46bcb..3e957de842 100644 --- a/wps/Rockboxed.160x128x16.wps +++ b/wps/Rockboxed.160x128x16.wps @@ -43,7 +43,7 @@ %al %s%ac%?it<%it|Title?>%ar %ac%t3%ig;%t%iy -%pb|10|10|140| +%pb|5|10|140|76| %al %pc%ac%?fc%ar%pt %?ps<%xdb> %?mp<%xdq|%xdp|%xdq|%xdf|%xdr> diff --git a/wps/Rockboxed.176x132x16.wps b/wps/Rockboxed.176x132x16.wps index 0ad9727f97..6f43810b2f 100644 --- a/wps/Rockboxed.176x132x16.wps +++ b/wps/Rockboxed.176x132x16.wps @@ -46,7 +46,7 @@ %al %s%ac%?it<%it|%fn>%ar %ac%t3%ig;%t%iy -%pb|5|10|156| +%pb|5|10|156|75| %al %pc%ac%?fc%ar%pt %?ps<%xdb> %?mp<%xdq|%xdp|%xdq|%xdf|%xdr> diff --git a/wps/Rockboxed.176x220x16.wps b/wps/Rockboxed.176x220x16.wps index e5b4c21127..6866f9a0cf 100644 --- a/wps/Rockboxed.176x220x16.wps +++ b/wps/Rockboxed.176x220x16.wps @@ -54,7 +54,7 @@ -%pb|5|10|156| +%pb|5|10|156|171| %al %pc%ac%?fc%ar%pt %?ps<%xdb> %?mp<%xdq|%xdp|%xdq|%xdf|%xdr> diff --git a/wps/Rockboxed.220x176x16.wps b/wps/Rockboxed.220x176x16.wps index 16e08ddd01..947c4f7857 100644 --- a/wps/Rockboxed.220x176x16.wps +++ b/wps/Rockboxed.220x176x16.wps @@ -48,7 +48,7 @@ %ac%t3%ig;%t%iy -%pb|5|28|191| +%pb|5|28|191|122| %al %pc%ac%?fc%ar%pt %?ps<%xdb> %?mp<%xdq|%xdp|%xdq|%xdf|%xdr> diff --git a/wps/Rockboxed.240x320x16.wps b/wps/Rockboxed.240x320x16.wps index 98b5ff99b6..75d5283b36 100644 --- a/wps/Rockboxed.240x320x16.wps +++ b/wps/Rockboxed.240x320x16.wps @@ -52,7 +52,7 @@ %ac%t3%ig;%t%iy -%pb|15|10|220| +%pb|5|10|220|256| %al %pc%ac%?fc%ar%pt %?ps<%xdb> %?mp<%xdq|%xdp|%xdq|%xdf|%xdr> diff --git a/wps/Rockboxed.320x240x16.wps b/wps/Rockboxed.320x240x16.wps index c0221d745f..3060b658c0 100644 --- a/wps/Rockboxed.320x240x16.wps +++ b/wps/Rockboxed.320x240x16.wps @@ -48,7 +48,7 @@ %ac%t3%ig;%t%iy -%pb|5|10|300| +%pb|5|10|300|178| %al %pc%ac%?fc%ar%pt %?ps<%xdb> %?mp<%xdq|%xdp|%xdq|%xdf|%xdr> diff --git a/wps/Rockboxed/pg-108.bmp b/wps/Rockboxed/pg-108.bmp index 7f7c8263579957d4067127db399eae35c7a56f66..72b22ca3a9f132392cc692f32bd0caeffc0fa373 100644 GIT binary patch delta 64 ycmca7*~M$-Ba&Y*&U6!AHv07K&x_q`s#{CD_R1Cr&hDYTneD>3e-TEs610Wwg&nJ1wNlf z&g0RkLKqsmU3HJhqzB*w;8JX33oDA2rQ)bb*RVjIwuQz)VJN$$dUgXmU!P2FFPtB) zjupbt*zKx&L?%4|9{`tP8(UaWv@8`zO}d5!^0X~94hlorE!DFd;QRf4K5d<6?Ttbh z8oOO}kI1A4-~-@NY-0;6ik79~s7cqbK%TaR#zA2yyQO+|1L)^GpT7KjJSxv7jY1e| zKu+r(@pvVmRXIR?bw#5UEdjz)tJz{M1yFYdYM@M1o~a&NgLU{v8+I68V0eLld4WIF C{^q;@ diff --git a/wps/Rockboxed/pg-140.bmp b/wps/Rockboxed/pg-140.bmp index ef309029f744d8ee7f79cc911e9cc8cb293dbd38..2f93e8ad4a0dc76aae8bb107fe91bd2aac7d5be1 100644 GIT binary patch delta 64 ycmbQI_)5Uc$v2CG0SwH5qy`Z805K~NGcrg3Nd^WJpu7+_1cL>D#O69?6Al3GjRoHT literal 4254 zcmeH}F-inM5JksS6EX4#p1=c`dk+s|ZX$~y21YJ8A}FZqte}VsZXmLkSwH*XQFQlC zvXclcHN~r6Rll1S#G~WUZnOG1R6fvms&8B0R>O3P+hqrO0Wfz4mw zyKCR?FO}cg3x$}{ULA%B_QIJB71n<>C)Xw z#;~;>b8$ZL*Y8)#*YntUG9D?!lyogp#uc}uc()&L0Ir*~J*kJo1kF(qA#lySu^DcH-NeOtY=NJThsCUOo_DtjF(qA#lySu^DcH-NeOtYythbTg+a6KcAH6(^es-G+04L^a{Fn5sSbspfT8h zPg0`ikT_7K|018?M A?f?J) literal 9954 zcmeH~&1zLa5QL9w7lJFFKzsrpz`f7sMnn)7f{;M22nzn>Mo16?$wESK<%`531s_Gv zxwDbG2z2N(R8@D^^fZK!XV3pWUT%M$>U^T_kG==`?k$gWF3Wr6AKv$OE9kgcZaR7c zy@B39Z=g5O8@O8=xY%w^KfclVWAj=e3^lNVj_4M2_ad$WdI2f}0}$~fB|uO{){1HA zg-!rIfV^T9u_7fvWN+dumR?Mt6HpwWzNOId3KeAJY>DkNj)CqJ)IcYZZj4dti@$z% zr2P7N==1yGD}^wWtVL+HI3>lsbAST?D||AAC!)(%i?b%ju#VLP6bGn>EOfj=1sVCY z#P}F6Pod}|C=Sql%(?4!=}wigMTva1@M`_&|Lx%A$%nT-KfimS5QdVq2+bC!q_}qu zZ~$P1Pp0rhblGZg*5nx0v6_J50QHcCj#sE4BcGNS9|Pto6nzB60lJSlcik@CsWP@G zk*^kBtsnh=pMAPM-}=1V9w~&OWGzCo#VIN7odX;ISmBc?JP}>CTAVdGhIOnapg2H1 zWTE2~D#*yECC0~qc?v}zL2-cYW6oW-OLwY_ElT98g;(oGfBpHsK0m(t`9Ku|{3ifQSEP5?fDykZowA|*g%Z{jSLUQD19P#mDX zrO@#T6=dXWiS09vf$kL4KqrxIj8W=~|K0jutf%b_^agqZy@B39Z=g5O8|V%626_X% Qf!;uGpf}JP_|Fae1A(ct4gdfE