Commit graph

1504 commits

Author SHA1 Message Date
Thomas Martitz
ed99b6eaff Fix FS#12337. Skin viewports' line height was initialized with the UI font height.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30786 a1c6a512-1295-4272-9138-f99709370657
2011-10-18 19:04:45 +00:00
Thomas Martitz
3b12634e6b Commit FS#12321 - Touchscreen: List line padding, to more easily select lines
This adds line padding to lists on touchscreens,
in order to make lists reasonably useful without huge fonts.

It's configurable:
* Automatic (default, line height calculated using a lcd dpi aware function)
* Off (status quo, line height = font height)
* X pixels (from 2 to 50 in even steps)

The automatic setting should/aims to Just Work Out Of The Box on all targets

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30773 a1c6a512-1295-4272-9138-f99709370657
2011-10-17 17:38:10 +00:00
Thomas Martitz
4f3e1d6b48 Fix FS#12320 - need substitute to /.rockbox/skin_buffer_size.txt
Since recent skin engine related commits images aren't stored on the skin
buffer anymore. The buffer was decreased accordingly. Now some themes used that
buffer more for tokens than images and are now broken.

To fix, increase the max token count, while optimizing the two most often
allocated structs for size (so no net ram usage increase).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30762 a1c6a512-1295-4272-9138-f99709370657
2011-10-16 15:55:12 +00:00
Björn Stenberg
2176fb38b6 Missed two spots.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30757 a1c6a512-1295-4272-9138-f99709370657
2011-10-15 19:47:59 +00:00
Björn Stenberg
0942e2a0f7 Changed the FOR_NB_SCREENS macro to always be a for loop that declares its own loop variable. This removes the need to declare this variable in the outer scope.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30756 a1c6a512-1295-4272-9138-f99709370657
2011-10-15 19:35:02 +00:00
Thomas Martitz
2a04202ffa Fix touchscreen behavior in time&date screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30725 a1c6a512-1295-4272-9138-f99709370657
2011-10-07 22:30:09 +00:00
Thomas Martitz
42a33a7f70 Correct left-over assignment.
Also remove unnecessary NULL guard.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30723 a1c6a512-1295-4272-9138-f99709370657
2011-10-07 17:31:15 +00:00
Thomas Martitz
f86506675e Re-order things to fix red.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30722 a1c6a512-1295-4272-9138-f99709370657
2011-10-07 17:28:27 +00:00
Thomas Martitz
0acdc87df4 lists: Detect dirtyness (need to reinit) for each list, instead of once globally.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30721 a1c6a512-1295-4272-9138-f99709370657
2011-10-07 17:22:49 +00:00
Thomas Martitz
6efb3f0760 Revert r30599 "Check for the magic file "/.rockbox/skin_buffer_size.txt" [...]"
It's not clear whether a user setting is the right/accepted fix for the skin buffer.
But even if it is, this implementation of it is considered bad, even by the author.

See http://www.rockbox.org/mail/archive/rockbox-dev-archive-2011-09/0054.shtml

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30718 a1c6a512-1295-4272-9138-f99709370657
2011-10-05 17:43:51 +00:00
Fred Bauer
b683874e98 Do not font_unload() failed fonts when aborting a skin load
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30714 a1c6a512-1295-4272-9138-f99709370657
2011-10-05 04:19:00 +00:00
Bertrik Sikken
2e58d5935d Make function calc_db in peakmeter.c static
Remove some unneeded #include "peakmeter.h"

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30713 a1c6a512-1295-4272-9138-f99709370657
2011-10-04 21:25:26 +00:00
Bertrik Sikken
9bddc48b32 Remove unused function display_keylock_text
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30712 a1c6a512-1295-4272-9138-f99709370657
2011-10-04 20:34:15 +00:00
Andree Buschmann
99257101f2 Fix a 'set but not used' warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30615 a1c6a512-1295-4272-9138-f99709370657
2011-09-28 17:03:45 +00:00
Jonathan Gordon
4f7a73aad8 fix FS#12295
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30614 a1c6a512-1295-4272-9138-f99709370657
2011-09-28 01:02:48 +00:00
Jonathan Gordon
aca6b9e91a fix APPLICATION build errors
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30601 a1c6a512-1295-4272-9138-f99709370657
2011-09-25 13:01:52 +00:00
Jonathan Gordon
c89f9d9060 fix warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30600 a1c6a512-1295-4272-9138-f99709370657
2011-09-25 12:57:00 +00:00
Jonathan Gordon
f7c2978cc4 Check for the magic file "/.rockbox/skin_buffer_size.txt" on bootup which can have a number which is the amount of kilobytes to allocate for the skin buffer. This is only checked on boot so if you need to change it you must reboot to enable.
Currently the default size is 80KB on colour targets which can be way too much or not enough for users.
The format of the /.rockbox/skin_buffer_size.txt file is simply a number (so 120 if you want 120 kilobytes), NO trainling spaces or text of any kind

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30599 a1c6a512-1295-4272-9138-f99709370657
2011-09-25 12:55:40 +00:00
Frank Gevaerts
40f05b6ca1 Fix silly mistake
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30595 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 19:12:37 +00:00
Frank Gevaerts
5903c07ad7 Make %LT 1-based. This tag will likely only be used to print the item number (as opposed to e.g. using it as an index to a bitmap strip, which has the obvious problem of not knowing how many items there are), and most people prefer 1-based numbering systems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30594 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 19:09:33 +00:00
Jonathan Gordon
32791608fc fix checkwps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30593 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 14:57:30 +00:00
Jonathan Gordon
83cfbf4e51 Allow fonts to use smaller buffers than the default size. use font_load_ex() to speficiy the buffer size. If the font is already loaded with a smaller buffer it will be reloaded to use the new size. Also fix an issue where handles would get lost if fonts fail to load in skins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30592 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 14:52:16 +00:00
Jonathan Gordon
aa0f4a4bbe FS#12273 - use buflib for font storage. thanks to the testers :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30589 a1c6a512-1295-4272-9138-f99709370657
2011-09-24 13:19:34 +00:00
Frank Gevaerts
28d5f2aa57 Add "%LN" tag to retrieve the list item number of the current item. This allows e.g. putting item numbers in skinned lists.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30568 a1c6a512-1295-4272-9138-f99709370657
2011-09-18 12:35:32 +00:00
Andree Buschmann
e14bda521d Fix some 'set but not used' warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30565 a1c6a512-1295-4272-9138-f99709370657
2011-09-17 20:53:28 +00:00
Jonathan Gordon
782708e494 fix warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30555 a1c6a512-1295-4272-9138-f99709370657
2011-09-15 13:55:20 +00:00
Jonathan Gordon
81343bae5d skin_engine: make sure to free all buflib allocations so we dont leak handles/memory
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30554 a1c6a512-1295-4272-9138-f99709370657
2011-09-15 13:48:17 +00:00
Jonathan Gordon
454272cabf skin-touchscreen: make %T(..., setting_set, ...) apply sound settings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30551 a1c6a512-1295-4272-9138-f99709370657
2011-09-15 06:51:47 +00:00
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
c1a14863f5 Fix FS#12262 - Volume (and all sound settings and anything using the "table" setting type) don't get applied correctly when being changed from the quickscreen or by using the %T(..., setting_inc/dec) skin tag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30466 a1c6a512-1295-4272-9138-f99709370657
2011-09-07 13:33:05 +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
63a379c64c Add the new file and fix the compile error
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30462 a1c6a512-1295-4272-9138-f99709370657
2011-09-06 13:53:46 +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