summaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2011-04-17Remove duplicate #include in skin_parser.cBertrik Sikken1-1/+0
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29736 a1c6a512-1295-4272-9138-f99709370657
2011-03-27Skin variables for touchscreen targets (origional implementation by Jens Theeß)Jonathan Gordon2-1/+10
%vs(name, [set|inc|dec], value [,max]) - name is the id, set sets the value, inc increments by value, dec decrements by value %vg(name) - get the current value %vl(name [,timeout]) - 'has it changed in [timeout]'? values start at 1 and are all reset to 1 on skin load git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29655 a1c6a512-1295-4272-9138-f99709370657
2011-03-05Theme Editor: make cross compiling on OS X work.Dominik Riebeling1-1/+2
The attempt to detect if building a fat library is necessary for libskin_parser makes cross compiling fail on OS X. Allow overriding the target platform for libskin_parser to fix that. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29515 a1c6a512-1295-4272-9138-f99709370657
2011-03-01Add an ability to set a setting to a specific value with a touchscreen action.Jonathan Gordon1-2/+2
example: %T(0,0,20,12, setting_set, repeat, off) That will set the repeat mode to "off" when it is pressed. "setting_set" is the action name "repeat" is the name of the setting in the config files "off" is the value to set it to (same values as the legal values in the config files) Not all settings are supported, outright unsupported settings will fail to parse. Some settings might not work too well if they don't apply instantly (Any that work well int he quickscreen should work well here) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29483 a1c6a512-1295-4272-9138-f99709370657
2011-03-01Remove code duplication in some generic skin touch action handling.Jonathan Gordon1-2/+2
fix a bug which stopped the setting_inc/dec touch actions from parsing git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29477 a1c6a512-1295-4272-9138-f99709370657
2011-02-28Add the option of linking the %Tl (last touch) tag to a specific ↵Jonathan Gordon1-3/+10
touchregion. Both tags now accept an optional label param as the first param. %Tl([label,][timeout]) %T([label,] x, y, width, height, action) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29459 a1c6a512-1295-4272-9138-f99709370657
2011-01-27fix buildJonathan Gordon1-0/+1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29145 a1c6a512-1295-4272-9138-f99709370657
2011-01-27Add some better debug info for when checkwps erros out because of full skin ↵Jonathan Gordon2-0/+6
buffer git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29144 a1c6a512-1295-4272-9138-f99709370657
2011-01-13FS#11867 - Add 2 new tags to allow skins to display themed peakmetersJonathan Gordon2-0/+7
%pL for the left channel, %pR for the right channel... usable as a value, conditional or bar (exactly the same as %pv/%bl/etc) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29043 a1c6a512-1295-4272-9138-f99709370657
2010-12-24Fix FS#11829 - %?xx<....> Crashes on targets where the %xx feature tag isnt ↵Jonathan Gordon1-27/+45
avilable. rather hacky fix though better than crashing. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28890 a1c6a512-1295-4272-9138-f99709370657
2010-11-18Make the %tr (radio RSSI) tag work as a bar tag or as a conditional.Jonathan Gordon2-1/+2
As a conditional it scales its value to the number of options you give it (like volume) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28613 a1c6a512-1295-4272-9138-f99709370657
2010-11-11Signal strength meter for FM radio - FS#8151 by Przemysław HołubowskiBertrik Sikken2-0/+6
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28559 a1c6a512-1295-4272-9138-f99709370657
2010-11-11clean up checkwps' verbose output a bitJonathan Gordon1-41/+31
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28556 a1c6a512-1295-4272-9138-f99709370657
2010-11-11Add a bit more debug output to checkwpsJonathan Gordon1-0/+2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28552 a1c6a512-1295-4272-9138-f99709370657
2010-11-06Half the number of malloc() calls on APPLICATION builds in ↵Jonathan Gordon1-7/+5
skin_buffer_alloc(). these are still presumably wasteing alot of RAM and could be merged further git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28520 a1c6a512-1295-4272-9138-f99709370657
2010-11-05More concrete names for the head and the tail of the linked list (no ↵Alexander Levin1-9/+10
functional changes) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28501 a1c6a512-1295-4272-9138-f99709370657
2010-11-05Undo the part of r28480 that caused the simulator to also use host malloc.Thomas Martitz1-3/+3
We want simulators to simulate target code where possible, that includes memory constraints and memory allocation schemes. It also removed the sim's ability to show the theme's ram usage. Use malloc only in application builds. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28498 a1c6a512-1295-4272-9138-f99709370657
2010-11-05Fix unchecked result skin_parse_tag() exposed by r28480.Thomas Martitz1-1/+2
It caused the parser to not see that skin parsing failed and to enter an infinite loop. And as a result it continued to endlessly malloc(). In normal build the skin buffer size limit made it end. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28497 a1c6a512-1295-4272-9138-f99709370657
2010-11-05Correct spelling of 'seperate' in the skin parsing code - FS#11724 by ↵Bertrik Sikken5-24/+24
Alexander Levin git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28485 a1c6a512-1295-4272-9138-f99709370657
2010-11-04Cleanup and oops spotted by Alexander LevinJonathan Gordon1-2/+3
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28483 a1c6a512-1295-4272-9138-f99709370657
2010-11-04RaaA: Use the host's malloc() for the skin engine.Jonathan Gordon1-4/+70
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28480 a1c6a512-1295-4272-9138-f99709370657
2010-11-03Fix a bug introduced with r28370 (feature check tag improvements) where ↵Jonathan Gordon1-1/+1
%Rp<foo> would fail to parse if the target had recording. Also enable debugging in the checkwps build line git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28473 a1c6a512-1295-4272-9138-f99709370657
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