1
0
Fork 0
forked from len0rd/rockbox
Commit graph

395 commits

Author SHA1 Message Date
Jonathan Gordon
b6271900b0 Make sure to set the current lcd backdrop id so the buflib move callback can reset the correct backdrop
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30515 a1c6a512-1295-4272-9138-f99709370657
2011-09-13 13:20:17 +00:00
Jonathan Gordon
edf06b7324 if font_glyphs_to_bufsize() returns 0 it means the font couldnt be loaded, so allocating the buffer size is pointless
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30512 a1c6a512-1295-4272-9138-f99709370657
2011-09-12 10:26:23 +00:00
Frank Gevaerts
78a0d49bdb Second attempt at making %ss utf8-clean
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30509 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 15:54:56 +00:00
Frank Gevaerts
bce46a755d Make %ss utf8-aware
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30508 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 15:29:56 +00:00
Jonathan Gordon
6c1de04a63 fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30503 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 10:48:19 +00:00
Jonathan Gordon
3d0317a273 Rework how the skin gets the list item text to save some ram. Also allow the %LI and %LT tags to take 2 optional parameters to get a different items text/icon:
%LT(offset, nowrap) - get the text for the "being drawn"+offset item (offset being + or -). if the second param is "nowrap" (Without quotes) the text will be blank if the item would need to wrap. Same for the icon
e.g:
%LT(-1)
%LT <<
%LT(1, nowrap)

will display:
Four
Five <<
Six (or nothing if Five is the last item)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30502 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 10:44:17 +00:00
Jonathan Gordon
93a600fdab Fix albumart which r30500 broke (FS#12271)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30501 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 09:07:20 +00:00
Jonathan Gordon
3b9ffd28da New tag %ss() which lets you get a substring of another tag.
%ss(start, length, tag) - i.e %ss(0,1,%TL) will get the first letter of the current lines text.
use - for the length to get the rest of the tag (e.g %ss(1,-,%TL) will get everything after the first letter).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30500 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 01:50:06 +00:00
Jonathan Gordon
86c543216f Fix FS#12270 - properly initialiase the wps_data struct so skin_data_reset() doesnt crash later
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30499 a1c6a512-1295-4272-9138-f99709370657
2011-09-11 01:28:36 +00:00
Frank Gevaerts
559e0e10f8 Remove a stray include that managed to slip into the previous commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30492 a1c6a512-1295-4272-9138-f99709370657
2011-09-09 18:10:01 +00:00
Frank Gevaerts
bd292b28c6 Extend $if() to also allow lt, gt, lte, and gte for strings.
The usefulness of this is arguable, but this improves consistency at only a very small cost


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30491 a1c6a512-1295-4272-9138-f99709370657
2011-09-09 18:06:07 +00:00
Jonathan Gordon
a483c9c6f1 Use buflib for skin images. Allows much more images to be loaded
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30478 a1c6a512-1295-4272-9138-f99709370657
2011-09-08 12:38:21 +00:00
Jonathan Gordon
4f4e91e341 make some stuff static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30477 a1c6a512-1295-4272-9138-f99709370657
2011-09-08 12:38:14 +00:00
Jonathan Gordon
a91fa97cd8 fix checkwps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30476 a1c6a512-1295-4272-9138-f99709370657
2011-09-08 11:34:05 +00:00
Jonathan Gordon
070f6e1397 Use buflib for the skin backdrop images potentially allowing multiple images per skin in the future
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30475 a1c6a512-1295-4272-9138-f99709370657
2011-09-08 11:24:29 +00:00
Jonathan Gordon
d43b85c7ed fix the last of the error
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30464 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 14:07:27 +00:00
Jonathan Gordon
d2ab44e3f6 fix checkwps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30463 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 13:58:19 +00:00
Jonathan Gordon
9b6ac01c7b Lists can now be completly draw using the skin engine!
due to lack of user feedback the actual tags may change, hopefully not though.

The way it works is the skin specifies a rectangle and a viewport label. For each item in the list that is being displayed all viewports with the specified label are drawn. However, instead of the viewport x/y position being offset from the top left corner like normal they are offset from the rectangle position in the list (so think of them as child-viewports of the rectangle which moves).
Normally the rectangle will move down the screen to show a normal list, this can be changed to move across the screen in a grid pattern.
The UI viewport is used to bound the items (i.e %Vi() )
Scrolling is completly disabled in all items except the currently selected item.

This works well in combination with the %cs tag to show differently styled lists based on the current screen :)

New tags:
%LT - Get the current items text
%LI - Get the current items icon number
%Lc - Use as a conditional to determine if the current item is the selected item
%LB - BAR TAG to show the scroll bar, params/options like other bar types. It still needs a bit of work though. Use as a conditional to find out if the bar is actually needed
%Lb(viewport, width, height [,tile]) - specify the viewport label to draw for each item and the size of each item. if the last param is 'tile' it will form a grid instead of a list

example.sbs:
%?cs<%Lb(a,100,20)|>
%V(0,0,10,-,1)%Vf(aabbcc)
%?LB<%LB(0,0,10,185, invert)>
%Vi(-,10,0,-,-35,1)
%Vl(a,5,5,160,12,1)
%s%?Lc<%Vg(00ffaa, ff0000, 000000)%Vs(gradient)%>%>%>%ac>zzzzzzz            %LT         zzzzz%s%?Lc<%ar%<%<%<>
%V(0,185,-,-,1)
%s%LT

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30461 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 13:49:41 +00:00
Jonathan Gordon
642736f53b fix error, none of this code is needed or would work in the checkwps program anyway
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30429 a1c6a512-1295-4272-9138-f99709370657
2011-09-04 13:23:40 +00:00
Jonathan Gordon
8997321777 Remove duplicated code to search for a setting by its cfg name
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30428 a1c6a512-1295-4272-9138-f99709370657
2011-09-04 13:17:09 +00:00
Thomas Martitz
d0b72e2590 GSoC/Buflib: Add buflib memory alocator to the core.
The buflib memory allocator is handle based and can free and
compact, move or resize memory on demand. This allows to effeciently
allocate memory dynamically without an MMU, by avoiding fragmentation
through memory compaction.

This patch adds the buflib library to the core, along with
convinience wrappers to omit the context parameter. Compaction is
not yet enabled, but will be in a later patch. Therefore, this acts as a
replacement for buffer_alloc/buffer_get_buffer() with the benifit of a debug
menu.

See buflib.h for some API documentation.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30380 a1c6a512-1295-4272-9138-f99709370657
2011-08-30 14:01:33 +00:00
Frank Gevaerts
9b9bd73dfb Fix last charcell warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30307 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 14:13:16 +00:00
Jonathan Gordon
c3fe7b0f88 need... sleep... try again to fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30306 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 14:12:21 +00:00
Jonathan Gordon
810e9c4dcb fix charcell again.... wouldnt it be nice to remove charcell support all together? :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30305 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 14:04:46 +00:00
Jonathan Gordon
4ed1340a7c Fix player errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30303 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:56:10 +00:00
Jonathan Gordon
281f1a1ed6 New skin tags: %Vs() to set the text style and %Vg() to get the viewports gradient colours
%Vs(mode[, param]) : mode can be "invert", "color" (where param is the colour to use", "clear" to disable the current style, "gradient" where param is the number of lines the gradient should draw over.
%Vg(start colour, end colour, [text colour]), if this tag isnt used the list selection colours from the settings will set the gradient colours

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30302 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:50:07 +00:00
Jonathan Gordon
969903b5fe Change the way the %Tl() (touch region) tag is done to remove dodgey 1-char settings.
check the manual...
%Tl(..., &action) -> %Tl(..., action, repeat_press)
%Tl(..., *action) -> %Tl(..., action, long_press)
%Tl(..., !action) -> %Tl(..., action, reverse_bar)
and a new allow_while_lock to make the region fire when softlocked

these options must all be after the action name, but otherwise the order doesnt matter. And for the setting_inc/dec/set action the setting name must follow the action name, *then* the options

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30219 a1c6a512-1295-4272-9138-f99709370657
2011-07-28 12:53:22 +00:00
Jonathan Gordon
bb618dbd84 skin engine softlock support for touchscreens:
Modify the %Tl() tag to add a new region 'lock' which will lock/unlock the wps/sbs from touches (hardware buttons still work)
You can also specify a region to work when locked by prepending ^ to the action name (this is probably about to change though)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30218 a1c6a512-1295-4272-9138-f99709370657
2011-07-28 11:26:01 +00:00
Nils Wallménius
3b04a85245 Remove a couple of dead inits and assignments found by the clang-static-analyzer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29996 a1c6a512-1295-4272-9138-f99709370657
2011-06-12 22:17:45 +00:00
Jonathan Gordon
b58d3656d7 FS#11925 - Add a proper system to keep track of the current screen/activity to make %cs far more useful
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29944 a1c6a512-1295-4272-9138-f99709370657
2011-06-01 14:41:49 +00:00
Jonathan Gordon
645ffa9beb Make volume and progresssbar touch regions work with touch timeouts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29918 a1c6a512-1295-4272-9138-f99709370657
2011-05-23 06:23:04 +00:00
Jonathan Gordon
94257e5e19 Fix %Tl 'last touch' tag not accepting the timeout
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29916 a1c6a512-1295-4272-9138-f99709370657
2011-05-23 06:02:44 +00:00
Andree Buschmann
96b21753bc Fix some residual 'defined but not used' warnings by GCC 4.6.0 for touchscreen targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29910 a1c6a512-1295-4272-9138-f99709370657
2011-05-22 13:53:31 +00:00
Thomas Martitz
6034978c84 Skin engine: Swap meaning of & and * for touch regions.
r29653 broke compatibility in a unnecessary way, including shipped themes (cabbieve2). Swapping restores compatibility.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29866 a1c6a512-1295-4272-9138-f99709370657
2011-05-13 11:38:04 +00:00
Bertrik Sikken
ab99e941db More tab fixes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29840 a1c6a512-1295-4272-9138-f99709370657
2011-05-08 20:35:29 +00:00
Bertrik Sikken
204a2e920a Move declaration of global function cfg_string_to_int to header file settings.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29737 a1c6a512-1295-4272-9138-f99709370657
2011-04-17 11:23:48 +00:00
Frank Gevaerts
d09f97880a Support loading backdrops from anywhere in the filesystem. Fixes FS#12041
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29700 a1c6a512-1295-4272-9138-f99709370657
2011-04-10 13:25:47 +00:00
Andree Buschmann
d1766a1510 Rework parts of the replaygain code to be able to differentiate between 0.00 dB set intentionally and having no replaygain information at all. Bump codec api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29679 a1c6a512-1295-4272-9138-f99709370657
2011-04-04 15:21:44 +00:00
Jonathan Gordon
87aa86cedd Skin variables for touchscreen targets (origional implementation by Jens Theeß)
%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-27 08:01:58 +00:00
Jonathan Gordon
443b134983 Fix touchregions muting volume, and change &<action> to mean 'needs long press but only fire once'. Use *<action> for 'long press and allow repeats'
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29653 a1c6a512-1295-4272-9138-f99709370657
2011-03-27 07:23:38 +00:00
Jonathan Gordon
f4e152bdef Make repeat mode/shuffle work in the sbs also
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29632 a1c6a512-1295-4272-9138-f99709370657
2011-03-22 09:41:11 +00:00
Jonathan Gordon
98881fd822 Add some playback controls to the SBS. 2 new touch regions wps_next/wps_prev needed to make it work. 'next' in the sbs changes list selection, 'wps_next' in sbs changes audio tracks. no difference in the wps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29631 a1c6a512-1295-4272-9138-f99709370657
2011-03-22 09:31:45 +00:00
Jonathan Gordon
8f3feda719 last of the errors... hopefully
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29537 a1c6a512-1295-4272-9138-f99709370657
2011-03-07 13:09:04 +00:00
Jonathan Gordon
e765906d5b move code around to make checkwps compile
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29536 a1c6a512-1295-4272-9138-f99709370657
2011-03-07 12:56:24 +00:00
Jonathan Gordon
343001b5f8 Merge a bunch of code which is 99% identical so it makes it easier to add more of these later
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29535 a1c6a512-1295-4272-9138-f99709370657
2011-03-07 12:45:45 +00:00
Jonathan Gordon
0f68a91bc5 fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29484 a1c6a512-1295-4272-9138-f99709370657
2011-03-01 13:01:57 +00:00
Jonathan Gordon
485ff79584 Add an ability to set a setting to a specific value with a touchscreen action.
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-01 12:31:03 +00:00
Jonathan Gordon
08fa83bd7c fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29479 a1c6a512-1295-4272-9138-f99709370657
2011-03-01 09:01:45 +00:00
Jonathan Gordon
fb3616368f Remove code duplication in some generic skin touch action handling.
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-03-01 07:26:11 +00:00
Jonathan Gordon
e63325acff Add a touchaction "none" which does nothing when pressed. This will allow some fancy controls to skins in combination with recent %T/%Tl changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29475 a1c6a512-1295-4272-9138-f99709370657
2011-03-01 04:01:02 +00:00