summaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2010-10-28skin_parser: Change the way hardware conditionals are done (i.e %?cc)Jonathan Gordon3-7/+21
They now only parse the correct branch (so only the true branch, or only the false branch). This shuold allow you to load different images/backdrops with the same id's depending on the targets hardware. Add a new %Tp - "touchscreen present?" tag to check if the target has a touchscreen git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28370 a1c6a512-1295-4272-9138-f99709370657
2010-10-12Skin bar tags fix+cleanup:Jonathan Gordon1-1/+1
Don't crash when not enough params were given (i.e forgetting the filename) Make the parser enforce the first 4 params as compulsary Be more leniant and don't require the image filename if one isnt going to be loaded (no more need for the - as the 5th param) Add an option "image" to specify the filename (otherwise the first option will be used if it isnt a recognised option). e.g: %pv(0,0,100,10) or %pv(0,0,100,10, bar.bmp) or %pv(0,0,100,10, ..., image, bar.bmp) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28247 a1c6a512-1295-4272-9138-f99709370657
2010-10-10Touchscreen %T() tag.. don't allow - for width/height params (shouldn't ↵Jonathan Gordon1-1/+1
affect anyway because the current code would crash if you tried it) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28224 a1c6a512-1295-4272-9138-f99709370657
2010-10-05libskin_parser: fix a annoying bug where viewports required at least one ↵Jonathan Gordon1-0/+6
line (even %Vi()). multiple %Vi lines direclty under eachother should now work git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28210 a1c6a512-1295-4272-9138-f99709370657
2010-09-26fiddle with the alloc requested size instead of the buffer pointer to keep ↵Jonathan Gordon1-2/+2
the buffer 32bit aligned git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28175 a1c6a512-1295-4272-9138-f99709370657
2010-09-07m68k/setjmp.S: fix build with gcc 3.4.6 -std=gnu99Rafaël Carré1-21/+17
The register prefix is always % for the architecture we use (elf), hardcode it instead of confusing the preprocessor git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28025 a1c6a512-1295-4272-9138-f99709370657
2010-09-062 new touch region options... "settings_inc" and "settings_dec" which will ↵Jonathan Gordon1-1/+1
increase or decrease most of the available settings. To use it put the config name of the setting as the next param after settings_inc... i.e %T(0, 0, 32, 32, settings_inc, repeat) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28009 a1c6a512-1295-4272-9138-f99709370657
2010-09-06The glyph number is required if it is given (i.e you cantt use -)Jonathan Gordon1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28005 a1c6a512-1295-4272-9138-f99709370657
2010-08-25Accept FS#11567 by Fred Bauer - better memory management for the skin fontsJonathan Gordon1-1/+1
%Fl now takes an optional 3rd param which is the number of glyphs to cache (default to 256). the smaller the number, the less ram will be used (i.e using 15 for a font which only shown numbers is a good idea) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27882 a1c6a512-1295-4272-9138-f99709370657
2010-08-24mips is predefined by gcc, but we want it for paths. Don't let others fall ↵Thomas Martitz1-2/+0
into this trap again. Use __mips instead git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27872 a1c6a512-1295-4272-9138-f99709370657
2010-08-24Add a commentThomas Martitz1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27871 a1c6a512-1295-4272-9138-f99709370657
2010-08-24Fix red. Something - I coundn't find it - must be doing '#define mips 1'.Thomas Martitz1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27870 a1c6a512-1295-4272-9138-f99709370657
2010-08-24Move setjmp to lib and add setjmp for sh (imported from newlib) and compile ↵Thomas Martitz9-0/+1524
it as separate library. It's used by both, plugins and codecs, and sh/hwcodec doesn't compile codecs so it doesn't fit into sources. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27869 a1c6a512-1295-4272-9138-f99709370657
2010-08-19New skin tag: %if(<tag>, <operator>, <operand> [,option count]) which lets ↵Jonathan Gordon3-2/+7
you do very simple logical comparissons on other tags. <tag> is the tag to check against <operator> is the comparisson to do, any one of... =, !=, >, >=, <, <= (when comparring against a string tag like %ia only = and != work, and it is done NOT case sensitive) <operand> is either another tag, a number, or text. [option count] is an optinal number to use for the few tags which scale to the amount of options when used as a conditional (i.e %?pv<a|b|c|d> would have 4 options) example: %?if(%pv, >=, 0)<Warning.. volume clipping|coool...> That says "If the value from %pv (volume) is greater than or equal to 0 then display the warning line, otherwise the cool line." %?if(%ia, =, %Ia)<same artist> <= this artist and next artist are the same. some tags might need a touch of tweaking to work better with this. experiment and have fun git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27846 a1c6a512-1295-4272-9138-f99709370657
2010-08-15A bunch of new features for the bar type tags (%pb, %pv, %bl, etc):Jonathan Gordon1-1/+1
* the bar orientation (horiz/vert) is now chosen based on the width and heigt values (or can be forced). * the fill direction can now be inverted (fill right to left, or top to bottom is considered inverted) * It can now draw a slider type bar instead of a fill type (or indeed a slider with a fill type) To configure the new bar, any (or all) of the following params can be used after the bmp filename (order makes no difference either): invert - cause the bar to fill in the inverted direction vertical - draw a vertical bar (not needed if the height > width) horizontal - draw a horizontal bar (this is obviously the default) nofill - dont draw the filling bar (this still draws the outline, obviously pointless without the slider param) slider - draw an image for the slider. The next param MUST be the label of the image to draw. No option to use a subimage here, so the whole image needs to be the image you want on the slider. example: %pb(0,0,-,-,-,nofill, slider, slider_image, invert) - draw a boring horizontal progressbar which doesnt fill and only draws the image "slider_image" which moves right to left. the slider type might need some tweaking. let us know how it goes git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27821 a1c6a512-1295-4272-9138-f99709370657
2010-08-14Rework the skin playlist viewer so it uses the same drawing code as ↵Jonathan Gordon1-1/+1
everything else. This should mean that all text tags now work as expected. The 2nd code param is no longer needed so drop it (you can use conditionals and sublines and stuff in the one code param. example: %Vp(1, %?it<%in -%it|%fn>) <- show the next tracks strating from the first next track and show info if it is avilable or the filename. Basic cuesheet support here, and will load upcoming track tags from the database if you have load to ram enabled. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27814 a1c6a512-1295-4272-9138-f99709370657
2010-08-14Change %xd to allow for a number to be used to specify the subimage. i.e ↵Jonathan Gordon3-10/+72
%xd(Ac) can now we written as %xd(A, 3). subimage count start at 1 so a=1, b=2 etc. Also adds the possibility to specify a set of params which a tag can have (i.e a tag or a integer) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27812 a1c6a512-1295-4272-9138-f99709370657
2010-08-12New feature for the %xl (image load) tag. If you give it the filename ↵Jonathan Gordon1-0/+1
__list_icons__ it will use the list icon strip instead of loading a different bmp. example: %xl(I, __list_icons__, 0, 0) %xd(I, %Li) ^ display the list icon at position 0,0 in that viewport. (you can of course %xd(Ia) if you really wanted also.) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27787 a1c6a512-1295-4272-9138-f99709370657
2010-08-05New feature for the %xd() (display a preloaded image) skin tag.Jonathan Gordon1-1/+1
It can now automatically load the correct subimage from a strip (assuming the strip is in the correct order) by giving a tag for the 2nd param. example: %xd(F, %mp) which is equivilant to %?mp<%xd(Fa)|%xd(Fb)|%xd(Fc)|%xd(Fd)|%xd(Fe)> You can also set the subimage offset.. i.e %xd(E, %mm, -1) which means "show nothing for the first value of %mm and use the bitmap strip for the remaining values" if a tag+offset is <0 or greater than the number of subimages in a strip he image is cleared (I'm open to changing this if someone has a better idea) cabbiev2.176x220x16.wps is an example of how to use this git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27717 a1c6a512-1295-4272-9138-f99709370657
2010-08-05Add a T type to the tag table which allows parameters to be a single tagJonathan Gordon2-0/+12
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27716 a1c6a512-1295-4272-9138-f99709370657
2010-08-03make -vvv display the parse tree in checkwps. Fix a potential bug in the ↵Jonathan Gordon3-6/+14
parser where recursive tags (the playlist viewier) would share params with its parant which meant bad things git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27677 a1c6a512-1295-4272-9138-f99709370657
2010-07-31skinparser lib: even more const correctness, should fix checkwps, againNils Wallménius1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27643 a1c6a512-1295-4272-9138-f99709370657
2010-07-31skinparser lib: even more const correctness, should fix checkwpsNils Wallménius2-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27642 a1c6a512-1295-4272-9138-f99709370657
2010-07-31skinparser lib: more const correctnessNils Wallménius3-60/+48
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27641 a1c6a512-1295-4272-9138-f99709370657
2010-07-31skinparser lib: some const correctness and marking of local vars as 'static'Nils Wallménius4-8/+8
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27635 a1c6a512-1295-4272-9138-f99709370657
2010-07-29FS#11470 - new skin code, finally svn uses the new parser from the theme ↵Jonathan Gordon11-200/+434
editor. This means that a skin that passes the editor WILL pass svn and checkwps (unless the target runs out of skin buffer or something. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27613 a1c6a512-1295-4272-9138-f99709370657
2010-07-21Don't overwrite AR if it's been set from outside.Dominik Riebeling1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27511 a1c6a512-1295-4272-9138-f99709370657
2010-07-18Add missing argument that broke building libskin_parser outside of Rockbox.Dominik Riebeling1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27478 a1c6a512-1295-4272-9138-f99709370657
2010-07-18Theme Editor: Added column number to parser error messagesRobert Bieber3-14/+33
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27477 a1c6a512-1295-4272-9138-f99709370657
2010-07-15Theme Editor: Committed FS#11477 to add a DECIMAL parameter type in the ↵Robert Bieber5-12/+54
parser and adapt the Theme Editor to accomodate the change by Johnathan Gordon. Fixed bug in the parser caused by the patch (error was thrown on zero value) and adapted tag rendering for new format git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27426 a1c6a512-1295-4272-9138-f99709370657
2010-07-06Rework libskin_parser Makefile for OS X support.Dominik Riebeling1-13/+48
- add similar trickery that is used for the libraries used by Rockbox Utility to allow building as universal binary. - don't overwrite CC, we need to set this from outside for building OS X 10.4 compatible binaries. - extend Theme Editor project file to build 10.4 compatible binaries on OS X. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27323 a1c6a512-1295-4272-9138-f99709370657
2010-07-04cosmetic.... LINE_ALTERNATOR can contain LINE so make it more important than ↵Jonathan Gordon1-1/+1
LINE in the enum git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27272 a1c6a512-1295-4272-9138-f99709370657
2010-07-04s/SUBLINES/LINE_ALTERNATOR/Jonathan Gordon3-3/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27271 a1c6a512-1295-4272-9138-f99709370657
2010-07-04use the same BAR_PARAMS for all bar typesJonathan Gordon1-2/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27270 a1c6a512-1295-4272-9138-f99709370657
2010-07-04Theme Editor: Implemented a flags column in the tag table, removed the \n ↵Robert Bieber3-188/+163
flag at the end of the param list and replaced it with a NOBREAK flag to prevent the renderer from inserting a line break at the end of the line. Modified the theme editor's renderer to accomodate this flag git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27268 a1c6a512-1295-4272-9138-f99709370657
2010-07-02Theme Editor: Fixed a warning in the parser due to a stray asteriskRobert Bieber1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27239 a1c6a512-1295-4272-9138-f99709370657
2010-07-02Theme Editor: Removed some old hash code that caused viewer not to update ↵Robert Bieber1-0/+10
due to hash collisions. Made Vf and Vb tags attached to viewport definition eat newline at end of line' git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27238 a1c6a512-1295-4272-9138-f99709370657
2010-07-02Theme Editor: Altered tag table entry for %pb to make image optional, ↵Robert Bieber1-1/+1
implemented progress bar rendering in theme editor git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27229 a1c6a512-1295-4272-9138-f99709370657
2010-07-01Theme Editor: Fixed line numbering bug in parser. Implemented playlist ↵Robert Bieber1-0/+2
display in renderer: playlist will use info for next track for all tracks other than the current track git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27227 a1c6a512-1295-4272-9138-f99709370657
2010-07-01minor tweak to r27210 to make it the same as the svn parser... eat ↵Jonathan Gordon1-3/+9
everything up to and including the \n after these tags git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27211 a1c6a512-1295-4272-9138-f99709370657
2010-07-01Theme Editor: Implemented JdGordon's tag newline-eating mechanismRobert Bieber3-13/+29
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27210 a1c6a512-1295-4272-9138-f99709370657
2010-06-24dont build the debug code in ROCKBOX, save ~400bytesJonathan Gordon2-1/+10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27109 a1c6a512-1295-4272-9138-f99709370657
2010-06-24Moved libskin_parser to lib. Added it to link line.Björn Stenberg1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27105 a1c6a512-1295-4272-9138-f99709370657
2010-06-22skin_parser: Fixed bug handling sublines with no contentRobert Bieber1-1/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27060 a1c6a512-1295-4272-9138-f99709370657
2010-06-22Make skin_parser Makefile more silent.Dominik Riebeling1-2/+7
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27058 a1c6a512-1295-4272-9138-f99709370657
2010-06-22remove a bunch of token markers which arnt necessary with the new parserJonathan Gordon1-15/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27047 a1c6a512-1295-4272-9138-f99709370657
2010-06-20fix the viewport tag [aramsJonathan Gordon1-3/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26981 a1c6a512-1295-4272-9138-f99709370657
2010-06-17tiny clean up of memory allocationJonathan Gordon4-10/+23
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26887 a1c6a512-1295-4272-9138-f99709370657
2010-06-17Added skin_parser library to build system. Fixed some warnings.Björn Stenberg6-18/+34
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26884 a1c6a512-1295-4272-9138-f99709370657
2010-06-17woops, forgot to add theseJonathan Gordon2-0/+100
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26882 a1c6a512-1295-4272-9138-f99709370657