Commit graph

1052 commits

Author SHA1 Message Date
Thomas Martitz
1016ee4e80 Initial custom statusbar commit.
The custom statusbar can be used as a WPS for the main UI, using .(r)sbs files. It's using the skin engine and knows all tags the WPS also knows.
The default folder for .sbs is the wps folder to reuse images used in the WPS.
As it can be shown in the WPS also, it's useful to move shared parts to the custom statusbar in order to save skin buffer space.
There are a few restrictions/TODOs:
*) Peak meter doesn't redraw nicely(not frequent enough), as very frequent updates would slow the UI down as hell (some targets fight with it in the WPS already: FS#10686)
*) No touchregion support as the statusbar doesn't have any action handling (it won't fail to parse though).
*) Drawing stuff into the default VP is forbidden (loading images in it is not). You *need* to use viewports for the displaying stuff (parsing fails if no viewport is used).
*) Themes that don't use a custom ui viewport can be fixed up using the new %Vi tag to avoid nasty redraw effectts (you must not draw into it as well, it's used to fix up the ui viewport). %Vi describes the viewport that the lists can use without getting in the way of the statusbar.

Otherwise, it behaves like the classic statusbar, it can be configured in the theme settings, and can be turned off in the wps using %wd.

Note to translaters: When translating LANG_STATUSBAR_CUSTOM, please consider using the same translation as for LANG_CHANNEL_CUSTOM if it's compatible. They could be combined later then.

Flyspray: FS#10566
Author: myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23258 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 15:28:15 +00:00
Thomas Martitz
6225f388b8 Reorder members for more efficient alignment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23254 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 00:26:46 +00:00
Thomas Martitz
c26949c54b r23208 broke conditional use of metadata and filename tags. Return NULL instead of "n/a" to make it work again.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23253 a1c6a512-1295-4272-9138-f99709370657
2009-10-18 23:58:42 +00:00
Bertrik Sikken
d24d885aa4 Use wrap-safe TIME_BEFORE/TIME_AFTER macros to compare times with current_time, instead of comparing them directly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23246 a1c6a512-1295-4272-9138-f99709370657
2009-10-18 15:50:30 +00:00
Thomas Martitz
a7c888c48e Add a option to skip length which lets you skip 5s before the end of a song, which can be useful on gapless albums.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23229 a1c6a512-1295-4272-9138-f99709370657
2009-10-17 16:05:23 +00:00
Thomas Martitz
d7757eb75c Fix Player, checkwps and database tools
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23215 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:34:54 +00:00
Thomas Martitz
94f7651341 Revert r23212, I committed it accidentally.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23214 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:34:04 +00:00
Thomas Martitz
8d032ae136 initial custom statusbar commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23212 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 20:30:09 +00:00
Thomas Martitz
e9c10189e9 Rework albumart buffering internally to allow for mutliple albumart sizes.
Playback now has a few albumart slots. Anything (most importantly: skins)  can obtain such a slot.
The slot has fields for the size which is passed to bufopen then to image_load to buffer the albumart with the proper size.
Currently there's 1 slot. We can increase it for remotes if we want. Custom statusbar will increase it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23209 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:41 +00:00
Thomas Martitz
a72ffe7bb5 Make the skin engine behave sane if the skin's id3 pointer is NULL (the one in struct wps_state), so that skins don't need audio to be played before being displayed (needed for upcoming custom statusbar).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23208 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:37 +00:00
Thomas Martitz
9072a4558c Add %cs tag.
It can be used conditionally and indicates the current screen (wps, rec, radio screens or lists).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23207 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:33 +00:00
Thomas Martitz
71411ee83a Change %mp tag to use current_playmode(). It has upto 9 values now, including recording and radio states.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23206 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 19:14:28 +00:00
Thomas Martitz
0070f60441 Fix %Sp expansion in wps
The value returned from sound_get_pitch() was shown assuming that 100%
corresponds to 1000 by skin_tokens.c::get_token_value().  The value
actually is 100*PITCH_SPEED_PRECISION.

Steal the way the callchain from gui_syncpitchscreen_run() to
pitchscreen_draw() in apps/gui/pitchscreen.c formats the value and use it
here for consistency.

Flyspray: FS#10673
Author: Junio C Hamano

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23199 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 22:22:07 +00:00
Thomas Martitz
44cacbe595 Correct a small misaligned brace.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23198 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 21:35:10 +00:00
Thomas Martitz
4004c75fee Use the center align viewport flag to draw top and bottom text centered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23197 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 21:30:19 +00:00
Thomas Martitz
9c45cf2f46 Pitchscreen: Don't clear the whole display, but only the parent viewport.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23196 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 21:13:58 +00:00
Thomas Martitz
bc063a3e1e Whoops, I had that warning turned off locally.
See http://www.rockbox.org/irc/log-20091014#08:40:11  gcc warns on that one (it's perfectly valid code). It doesn't warn if you do this on plain arrays and since I have had this warning disabled I thought it would not warn on arrays of structs also.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23172 a1c6a512-1295-4272-9138-f99709370657
2009-10-14 16:00:52 +00:00
Thomas Martitz
0f0d9064c5 Remove wps_reset(), and rename skin_data_init to skin_data_reset() and extend it to zero most of the wps_data members.
As these are called when parsing a skin it doesn't need to be called by the wps or settings, so make it local to skin_parser.c.
Reorder the members of struct wps_data for more effecient alignment.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23171 a1c6a512-1295-4272-9138-f99709370657
2009-10-14 15:49:11 +00:00
Jonathan Gordon
a927db22c4 fix a redraw bug when a static token (like %C) is the only token on a sub/line.. hopefully no bad sideeffects...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23140 a1c6a512-1295-4272-9138-f99709370657
2009-10-12 20:22:50 +00:00
Tomer Shalev
d5b076b64a RTL: Cosmetic changes, no functional change - Rename constants
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23117 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 20:15:22 +00:00
Thomas Martitz
891c446302 Add a action helper for touchscreen targets to only receive the touchpress coordinates if they're in the passed viewport. Also, fixes the coordinates to be relaitve to the viewport.
Use it in the color picker screen.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23116 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 20:11:48 +00:00
Thomas Martitz
b4097dd0e4 Clean up, simplify and fix small bugs in color picker.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23111 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 16:57:08 +00:00
Thomas Martitz
a79dc87761 Add a center flag, next to the rtl flag, for viewports. That results in any text being drawn centered. It overrides the RTL flag if set.
Simplify splashes and time menu by using it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23105 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 12:21:27 +00:00
Nils Wallménius
8e33c2f17f revert r23093 and r 23094, since the title pointer is used to modify the title of the list from the callback function in one place
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23096 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 09:40:47 +00:00
Nils Wallménius
aa84a99caf Const correctness
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23093 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 09:09:20 +00:00
Thomas Martitz
a27f2b8683 A bit of const correctness and 80-char limit correction.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23083 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 00:05:12 +00:00
Nils Wallménius
46a0db45dd Slight const police and avoid copying a lang string
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23065 a1c6a512-1295-4272-9138-f99709370657
2009-10-10 09:57:03 +00:00
Nils Wallménius
bb1549aad7 Don't cast away constness
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23064 a1c6a512-1295-4272-9138-f99709370657
2009-10-10 09:55:28 +00:00
Nils Wallménius
3c1e2c1777 Make function arg const pointer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23063 a1c6a512-1295-4272-9138-f99709370657
2009-10-10 08:29:13 +00:00
Nils Wallménius
15514b0dc6 Deinline fuction and some whitespace tweaks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23062 a1c6a512-1295-4272-9138-f99709370657
2009-10-10 07:46:54 +00:00
Nils Wallménius
11f2564f73 Add second 'const' qualifyer accidentally removed in r23060
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23061 a1c6a512-1295-4272-9138-f99709370657
2009-10-10 07:41:50 +00:00
Nils Wallménius
901acde2d5 Clean up a bogus array and avoid some copying of static strings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23060 a1c6a512-1295-4272-9138-f99709370657
2009-10-10 07:17:27 +00:00
Thomas Martitz
8e3e5e7a59 Fix player red and remove an obsolete function call.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23056 a1c6a512-1295-4272-9138-f99709370657
2009-10-09 19:17:22 +00:00
Thomas Martitz
80003bc4a4 Fix a few problems with RTL, statusbar and custom ui viewport.
*text in statusbar jumped around
*custom ui vp wasn't refreshed properly on language changing.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23053 a1c6a512-1295-4272-9138-f99709370657
2009-10-09 18:39:34 +00:00
Nils Wallménius
8598b57fca Tiny simplification
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23031 a1c6a512-1295-4272-9138-f99709370657
2009-10-09 06:52:20 +00:00
Teruaki Kawashima
67ded6ce9d Fix position calculation of title icon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22983 a1c6a512-1295-4272-9138-f99709370657
2009-10-06 13:32:37 +00:00
Tomer Shalev
a092b9ce92 Use macro to test viewport's RTL flag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22978 a1c6a512-1295-4272-9138-f99709370657
2009-10-06 08:07:30 +00:00
Tomer Shalev
6a12b82a85 Fine tuning of gui elements positioning in RTL mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22976 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 23:41:59 +00:00
Tomer Shalev
fa69df3324 - Use const when possible
- Use pointer to avoid repeated access to array
- Move setting xpos up a bit


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22975 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 23:13:01 +00:00
Tomer Shalev
ff3e3f5974 Remove redundant code in list.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22974 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 23:08:52 +00:00
Tomer Shalev
5da75070c1 Fix red: Protect viewport RTL flag manipulation with #ifdef HAVE_LCD_BITMAP
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22973 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 21:32:29 +00:00
Tomer Shalev
b0a9938321 Add rtl flagging to viewport_set_defaults(), and ensure that
viewportmanager_theme_changed() is called during font loading


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22971 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 21:13:55 +00:00
Tomer Shalev
58221fc38d Implement RTL as a viewport's bit-field
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22968 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 20:22:02 +00:00
Tomer Shalev
6b8a78f793 Fix red - type
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22966 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 20:05:55 +00:00
Tomer Shalev
2438d1693b - Use pointers instead of repeating access to array element
- Set const when possible


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22965 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 19:59:16 +00:00
Tomer Shalev
1acacc2dcb Revert renaming of the scrollbar global setting by r22945, following discussion in IRC
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22963 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 18:11:41 +00:00
Tomer Shalev
bbeb3ec751 Fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22956 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 13:20:08 +00:00
Tomer Shalev
0b6f683137 Have scollbar in the right side while in RTL mode
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22955 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 13:00:28 +00:00
Tomer Shalev
f8adc43c64 Fix red - forgot one #ifdef
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22948 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 12:18:56 +00:00
Tomer Shalev
311030c247 Fix some of the reds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22946 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 11:59:55 +00:00
Tomer Shalev
6d80565b1b RTL support in menus
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22945 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 11:43:38 +00:00
Jonathan Gordon
f06c98fec8 Fix FS#10617 (fix spotted by Teruaki Kawashima), something about the %C not working if %?C is the first tokens in the skin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22944 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 10:26:06 +00:00
Jonathan Gordon
436776ebb8 redraw the AA much less frequently to save bettery life and also let skins draw over the AA...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22932 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 01:01:07 +00:00
Jeffrey Goode
22933cc19c FS#10636: Quickscreen incorrect operation when menu has negative step
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22887 a1c6a512-1295-4272-9138-f99709370657
2009-10-03 12:56:16 +00:00
Bertrik Sikken
69b40e704d Clean up duplicate #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22845 a1c6a512-1295-4272-9138-f99709370657
2009-09-27 14:46:44 +00:00
Jonathan Gordon
340f32356a new skin tag: %Sx|<english>| will display the current languages translation of the "<english>" string.
the <english> is the Source: bit in the .lang files. (must be exactly as it is there...)

checkwps cannot verify that the string is correct so make sure to use the sim to verify the string is acurate.

Also "fix" checkwps so %St|<setting>| can be accepted for the theme site


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22837 a1c6a512-1295-4272-9138-f99709370657
2009-09-26 00:58:32 +00:00
Thomas Martitz
ba8fbb0b9b Rename struct skin_albumart members to be consistent with similar members of other structs. the albumart_ prefix is redundant.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22836 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 18:36:28 +00:00
Thomas Martitz
d045f59989 Redo 22825 but this time with caring about alignment.
Change coordinate members in struct skin_albumart to ints. That alone gives a tiny binsize decrease.
Change the struct layout (some reordering) to enable more efficient alignment which reclaims 4 of the 8 bytes. Since there's usually only 1 aa struct this should be a net gain.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22835 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 18:36:18 +00:00
Karl Kurbjun
4eee66a4cf r22826 is causing data aborts when the wps is loaded in the parse_list function - suspected reason is an improperly aligned pointer depending on how the buffer gets setup when translating a "d".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22827 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 04:23:35 +00:00
Thomas Martitz
89041f6b4a Remove some some code in favor of a single parse_list() call.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22826 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 01:43:31 +00:00
Alexander Levin
4ce1604ca3 Show the name of the setting in the WPS debug output
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22781 a1c6a512-1295-4272-9138-f99709370657
2009-09-22 09:44:40 +00:00
Jonathan Gordon
6622c605b9 add the %St setting to the debug output for checkwps/parser.... needs mroe work to make it more useful
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22780 a1c6a512-1295-4272-9138-f99709370657
2009-09-22 05:31:28 +00:00
Jens Arnold
b04c66ed29 Fix splash on charcell (was wasting 2 precious chars per line since r20870). This fixes the volume splash in wps, as it doesn't wrap anymore, but it's not a proper fix. The real problem is that the 2nd line of the default WPS updates immediately. The ultimate fix would be to get rid of the special charcell handling and use a VP in the WPS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22775 a1c6a512-1295-4272-9138-f99709370657
2009-09-21 19:40:07 +00:00
Jonathan Gordon
05fd9ee182 Actually fix AA display... previous commit was borked
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22728 a1c6a512-1295-4272-9138-f99709370657
2009-09-18 05:45:15 +00:00
Jonathan Gordon
6d16d1cf3d FS#10602 - show the viewport label instead of an int in the debug output
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22727 a1c6a512-1295-4272-9138-f99709370657
2009-09-18 05:22:22 +00:00
Jonathan Gordon
aafeaad65f fix FS#10599 and do r22721 a slightly better way. the %C tag is internally converted to a different token for display and conditional check.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22726 a1c6a512-1295-4272-9138-f99709370657
2009-09-18 05:15:18 +00:00
Thomas Martitz
7b6265edf5 Fix a bug where the conditional use of %C (i.e. %?C) caused the album art to draw (noticed in FS#10596).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22721 a1c6a512-1295-4272-9138-f99709370657
2009-09-17 21:01:32 +00:00
Rob Purchase
5bd3b443ff Fix delay when seeking using the touchscreen by adding a pause/unpause.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22720 a1c6a512-1295-4272-9138-f99709370657
2009-09-17 20:49:34 +00:00
Thomas Martitz
c0f1c49178 Get rid of some of the code duplication from checkwps, it still duplicates a lot though.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22695 a1c6a512-1295-4272-9138-f99709370657
2009-09-13 13:40:58 +00:00
Thomas Martitz
541dd6fda5 Remove some trailing whitespaces in in the skin engine files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22694 a1c6a512-1295-4272-9138-f99709370657
2009-09-13 12:24:14 +00:00
Thomas Martitz
894c809108 Fix/band aid the freeze when %V is the first thing (i.e. in line 1) in a .wps (see FS#10596).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22693 a1c6a512-1295-4272-9138-f99709370657
2009-09-13 12:15:08 +00:00
Frank Gevaerts
65fff8bdd8 Increase skin buffer on charcell displays so it's actually big enough to load a wps file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22681 a1c6a512-1295-4272-9138-f99709370657
2009-09-11 18:02:52 +00:00
Teruaki Kawashima
246e38e937 Initialize token before using.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22678 a1c6a512-1295-4272-9138-f99709370657
2009-09-11 14:33:32 +00:00
Jonathan Gordon
8761d9e240 Hopefully make the wps debug info more understandable... display tokens the same way they are displayed... i.e viewports->lines->sublines->tokens
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22672 a1c6a512-1295-4272-9138-f99709370657
2009-09-11 06:03:24 +00:00
Jonathan Gordon
d2645566f7 fix the first subline not displaying properly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22668 a1c6a512-1295-4272-9138-f99709370657
2009-09-09 15:42:20 +00:00
Thomas Martitz
1f10f99dc0 Fix/commit FS#10595. A (sub)line could be part of the previous viewport due to a off-by-one bug in the indexing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22662 a1c6a512-1295-4272-9138-f99709370657
2009-09-08 16:34:51 +00:00
Thomas Martitz
32340186c7 Fix viewport_set_defaults giving the wrong dimensions if the ui vp is overridden (as done in plugins atm), and notify other code if the ui vp was overridden.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22657 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 21:52:12 +00:00
Thomas Martitz
649b50cba1 Set list_need_reinit to false somewhere too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22652 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 17:40:43 +00:00
Thomas Martitz
2eb1cb6f82 Fix buttonbar handling/theme changed handling in lists.
The lists need to copy to a local parent if a list passes NULL as parent in the init. This was before the commit of custom ui vp, but I removed it since I (wrongly) thought using the ui vp as parent would be fine. Let the viewportmanager fire a event in case when a theme-related setting changed and simply the handling in the lists code.
However the buttonbar handling didn't work before anyway, since list code didn't know if the buttonbar was active (it asked a variable which was always false....).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22651 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 17:37:06 +00:00
Jonathan Gordon
18286d3cc5 stupid yellow.... I'm going to bed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22648 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 07:58:55 +00:00
Jonathan Gordon
8bf50ecf48 add a bit more debug info for skins... show the subimage id in the display image token's debug line
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22647 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 07:51:58 +00:00
Jonathan Gordon
fe2f042670 rework AA load/display handling in the skins to get them working in viewports again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22646 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 02:36:56 +00:00
Jonathan Gordon
ef7018a7ff fix red :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22643 a1c6a512-1295-4272-9138-f99709370657
2009-09-06 16:54:43 +00:00
Jonathan Gordon
9f4f5dbc26 Make the e200 compile the vled for the sim... other targets are probably doing the same thing so find out which.. commit will be immediatly followed to fixd red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22642 a1c6a512-1295-4272-9138-f99709370657
2009-09-06 16:54:04 +00:00
Thomas Martitz
c17037a802 Factor out/generalise the function that checks whether a point is within a viewport to, and use it in the wps' touchregion code. This corrects the check that was done there.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22638 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 23:57:09 +00:00
Thomas Martitz
a17d06ccc3 Improve and simplify touchscreen handling of the quickscreen in absolut mode - and implement handling for the top item.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22637 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 23:32:16 +00:00
Thomas Martitz
9c938a23b9 Don't forget the touchscreen targets!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22636 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 19:04:23 +00:00
Thomas Martitz
4034e0b47f Put the quickscreen viewports onto the stack (saving a tiny bit of ram), and simplify the preparing and drawing functions a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22634 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 18:52:44 +00:00
Thomas Martitz
dee9277a09 Fix FS#9842 by stopping scrolling before leaving the yesno screen.
Seems there are more of this scrolling problems around. In this case it's a rather old bug actually.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22633 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 18:10:41 +00:00
Thomas Martitz
42e6638420 Fix bug in viewports preparation (screen.lcdwidth() isn't really proper for this in times of custom ui vp), and stop all scrolling before exiting (fixes FS#10584).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22631 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 14:38:29 +00:00
Thomas Martitz
3c47d94668 Alright, it seems I got scroll_stop() wrong. Using the viewport that's set before doing all the puts_scroll* calls seems to work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22622 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 16:34:55 +00:00
Jonathan Gordon
d466cb9beb minor line handling fixes, be smarter (well dumber actually) about increasing the size of the tokens array, that loop isnt the only place the data->num_tokens variable gets increased... also add one last WPS_NO_TOKEN token to the end to make sure we dont accidently overrun into the next skin on the last line of a skin.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22618 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 06:17:38 +00:00
Karl Kurbjun
25123570c7 Fix STRIDE macro for multiscreen and add stride support for picture lib.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22615 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 00:46:24 +00:00
Jonathan Gordon
f6025186fd stop a potential crash caused by r22438
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22614 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 00:41:38 +00:00
Thomas Martitz
2ab627d309 Change r22610 a bit. The new parent viewport isn't really suitable.
The new parent might be smaller than the previous one, causing the old list to not stop scrolling. Full-screen stop scrolling isn't correct either though, so we pick the currnet ui viewport to stop scrolling.
This was actually a bug (attempted to fix in r22610) discovered in the custom statusbar patch, where the lists stopped the statusbar text from scrolling.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22613 a1c6a512-1295-4272-9138-f99709370657
2009-09-04 00:40:50 +00:00
Thomas Martitz
af2dcbb8e1 Don't stop scrolling for the whole display, but only in the actual list parent viewport.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22610 a1c6a512-1295-4272-9138-f99709370657
2009-09-03 13:38:52 +00:00
Jonathan Gordon
8f76e7ff8f rename wps_[sub]line to skin_[sub]line
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22606 a1c6a512-1295-4272-9138-f99709370657
2009-09-02 06:23:01 +00:00
Jonathan Gordon
2111c105c0 fix player's red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22603 a1c6a512-1295-4272-9138-f99709370657
2009-09-02 03:02:00 +00:00
Jonathan Gordon
8cb74438bc Almost the last of the skin ram wastage fixing... This one moved the line/subline handling into the alloced buffer and links them more sensibly with their viewports.
now it works something like this: a skin is a list of viewports, each viewport has a list of lines, each line is a list of sublines, each subline has an *index* of its first and last tokens... 


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22602 a1c6a512-1295-4272-9138-f99709370657
2009-09-02 02:55:33 +00:00
Alessio Lenzi
9b700b2861 Added a missing line for spoken QUICKSCREEN_TOP item in Quick Screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22591 a1c6a512-1295-4272-9138-f99709370657
2009-09-01 09:40:32 +00:00
Karl Kurbjun
7bb7c5f0cc Add stride defines to support vertical strides
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22546 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 19:31:29 +00:00
Thomas Martitz
dd5789b9b9 Respect UI viewport per screen in viewport_set_defaults() also.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22539 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 16:36:40 +00:00
Teruaki Kawashima
5b2a599d63 fix FS#10465 and return GO_TO_ROOT instead of SYS_USB_CONNECTED in gui_wps_show.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22538 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 16:25:04 +00:00
Thomas Martitz
90a29dd611 Make UI viewport handling more multiscreen aware and bring a break; accidentally back lost in a previous commit (r22485).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22537 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 15:46:32 +00:00
Thomas Martitz
e454a39852 Quickscreen: 4th item
This adds a 4th top item to the quickscreen. It's as configurable as the existing three items.
This patch goes along with optimisations for small screens for better displaying of all four items. 14px font is very usable on a 64px height display for example.
Left and Top items go through the items in the opposite direction, so that you can mirror a setting and toggle through it in both directions.
Default item is party mode, as it's target independant.

Flyspray: FS#9706

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22532 a1c6a512-1295-4272-9138-f99709370657
2009-08-29 14:42:03 +00:00
Thomas Martitz
3598eb02d7 Do some #ifdef'ing to make the Player happy.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22520 a1c6a512-1295-4272-9138-f99709370657
2009-08-27 17:55:05 +00:00
Thomas Martitz
af967d77d3 Fix skin engine calling wps code to draw the statusbars (add a pointer to viewportmanager-suitable statusbar values, which are the same for all screens), and re-arrange statusbar related code slightly. No functional change.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22514 a1c6a512-1295-4272-9138-f99709370657
2009-08-26 00:06:27 +00:00
Bertrik Sikken
3460ef3596 Make sure that skin_buffer.c #includes its own skin_buffer.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22497 a1c6a512-1295-4272-9138-f99709370657
2009-08-24 13:40:37 +00:00
Thomas Martitz
5850207d33 Slightly change parts of the previous commit to reuse existing code, and enforce enum statusbar_values instead of just int,
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22485 a1c6a512-1295-4272-9138-f99709370657
2009-08-24 00:03:59 +00:00
Thomas Martitz
19f44a61cf Fix redraw issues when the statusbar setting was changed with an UI viewport. Now the old statusbar area is cleared upon changing the setting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22484 a1c6a512-1295-4272-9138-f99709370657
2009-08-23 23:44:31 +00:00
Jonathan Gordon
3aa738fe43 hopefully get the widecabbie theme going again... temporary fix only though
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22474 a1c6a512-1295-4272-9138-f99709370657
2009-08-23 16:43:55 +00:00
Maurus Cuelenaere
94419e9a62 Touchscreen list handling: use icon width instead of scrollbar width for the 'ignoring' zone + correct comment that shouldn't be true anymore (and never was AFAIK)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22469 a1c6a512-1295-4272-9138-f99709370657
2009-08-22 23:35:27 +00:00
Maurus Cuelenaere
4ce82b9dd1 Touchscreen list handling: ignore presses close to the scrollbar when it's on the right, this is similar as how it's handled when the scrollbar is on the left (icons) and improves user experience due to touchscreen dead zones.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22467 a1c6a512-1295-4272-9138-f99709370657
2009-08-22 22:48:03 +00:00
Maurus Cuelenaere
07b2708892 Touchscreen list handling: fix issue where scrolling with the scrollbar could bring up the context menu for an item
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22465 a1c6a512-1295-4272-9138-f99709370657
2009-08-22 21:46:02 +00:00
Maurus Cuelenaere
876db6c2fc Fix/hack checkwps + add Onda VX747/VX777 targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22451 a1c6a512-1295-4272-9138-f99709370657
2009-08-21 18:15:20 +00:00
Nils Wallménius
3200d04d75 Make the formatter functions used by the settings return a pointer to avoid usless copying of lang strings, this brought with it a long chain of const correctness and a few random cleanups
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22440 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 16:47:44 +00:00
Thomas Martitz
e510de1b35 Move handling of "rockbox_default.[r]wps" into wps.c, out of the skin engine (which should be as generic as possible).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22438 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 14:29:03 +00:00
Jonathan Gordon
5b349e3cfa update the display after getting a bit too close to the touchscreen instead of just asking it nicely to change volume!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22436 a1c6a512-1295-4272-9138-f99709370657
2009-08-20 04:07:27 +00:00
Nils Wallménius
4f87976677 Slight cleanup in lcd.h: kill fixme and remove useless include, add some includes elsewhere and add a stub for sims instead of ifdef
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22431 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 21:48:17 +00:00
Alexander Levin
23e534decf Delete the trivial comment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22426 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 12:38:16 +00:00
Alexander Levin
07d0bfd101 Combine the settings for scrollbar on/off and its position into one with three possible values
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22425 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 12:36:40 +00:00
Jonathan Gordon
afd8c2dfd1 hopefully fix the yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22421 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 05:14:58 +00:00
Jonathan Gordon
c552d08573 get the skin debug output working again, add a line to say how much of the buffer is being used to aid themers... let me know if this gets close to full on any targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22420 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 05:07:12 +00:00
Jonathan Gordon
98756fe492 move the statically allocated tokens array into the skin buffer. this is done with a little bit of magic with the buffer... explanation in the comments but breifly, tokens + images are stored at the front of the buffer, everything else (constant sizes) are stored at the back, the 2 ends meet when the buffer is full.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22418 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 04:19:08 +00:00
Jonathan Gordon
2492e258fa conditional viewports are allowed to share labels.. so make sure they are all toggled with %xd<label>
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22417 a1c6a512-1295-4272-9138-f99709370657
2009-08-19 01:52:52 +00:00
Maurus Cuelenaere
ae901c2e50 Scrollbar position: only update it when exiting the menu + FS#10539 by Alexander Levin (change the order of Left/Right)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22414 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 22:42:37 +00:00
Jonathan Gordon
dab7e16176 store the image label instead of a number so debug output is actually useful when %xd is used witout a coresponding %xl
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22404 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 07:17:51 +00:00
Jonathan Gordon
36ca4967e0 move viewports into the skin buffer, no more viewport limit on the skin
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22403 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 05:30:59 +00:00
Karl Kurbjun
f451108fa8 M:Robe 500: Increase the max icon size.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22393 a1c6a512-1295-4272-9138-f99709370657
2009-08-18 00:53:27 +00:00
Maurus Cuelenaere
daaecb987c Add setting to position the scrollbar on the left or right
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22390 a1c6a512-1295-4272-9138-f99709370657
2009-08-17 23:36:49 +00:00
Maurus Cuelenaere
567d83e6be FS#10534: Make scrollbar width variable through a setting (useful for touchscreen targets)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22387 a1c6a512-1295-4272-9138-f99709370657
2009-08-17 22:41:22 +00:00
Maurus Cuelenaere
8d013f5557 Skin engine: add "pitch" action to touch regions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22375 a1c6a512-1295-4272-9138-f99709370657
2009-08-17 12:46:21 +00:00
Jonathan Gordon
91aa512754 fix the %xd<id> tag parser to complain if you try to display an image it hasnt loaded yet
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22373 a1c6a512-1295-4272-9138-f99709370657
2009-08-17 07:16:57 +00:00
Thomas Martitz
be8d654509 Remove obsolete IMG_BUFSIZE #define.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22368 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 23:27:00 +00:00
Thomas Martitz
f1c704e4cf Fix ret for buttonbar targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22366 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 22:28:25 +00:00
Thomas Martitz
4c48b59be8 User definable UI viewport, to be able to restrict the UI into a viewport for all bitmap displays.
Flyspray: FS#8799

This will allow for pretty themes, for example those with nice glass effects on their backdrops (some might argue they're wasting screen space but it's upto them),
as well as allowing for future background WPS updates in the main UI.

Plugins are not converted yet, they simply use the full screen. Ideally, any plugin that does *not* want the UI viewport, should take care of that itself (i.e. plugins should normally use the UI viewport).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22365 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 22:20:11 +00:00
Jonathan Gordon
b395f89a31 remove an unused #define
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22363 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 21:30:11 +00:00
Jonathan Gordon
271643c585 remove the limit of touch regions in touchscreen skins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22361 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 21:22:57 +00:00
Thomas Martitz
576793a637 Recalibrate the skin buffer size calculation so that targets with remote get a reasonable extra buffer (depending on the remote) instead of just doubling it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22352 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 19:15:17 +00:00
Jonathan Gordon
c20801b712 fix player
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22351 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 18:32:25 +00:00
Jonathan Gordon
18a8e529b5 more wps->skin engine work..
start redoing memory management in the skins to use a single larger buffer instead of lots of arrays for things like images and progressbars.
This commit removes the limit on the amount of progressbars allowed on the screen, still 1 per viewport, but unlimited otherwise(!)
Also a larger buffer for remote targets, same size for non-remote targets but very easy to make it bigger (technically removed the 52(?) image limit in skins, except still limited to 1 char identifiers)
Unlimited "string" tokens now (limit was 1024 which was rediculously wasteful)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22350 a1c6a512-1295-4272-9138-f99709370657
2009-08-16 18:23:00 +00:00
Thomas Martitz
279ef752cb Make quickscreen items enum name lower-case, as per docs/CONTRIBUTING.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22291 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 14:39:31 +00:00
Thomas Martitz
20b9bc5c0a Make gui_syncquickscreen_run() static as it's not used anywhere.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22290 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 14:27:06 +00:00
Thomas Martitz
7b6e166c77 Protect viewport.h against multiple inclusion.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22274 a1c6a512-1295-4272-9138-f99709370657
2009-08-12 15:34:41 +00:00
Alexander Levin
3bfc0e7a7e Remove unneeded symbols and improve the comment to the VP parsing function
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22266 a1c6a512-1295-4272-9138-f99709370657
2009-08-12 13:37:07 +00:00
Thomas Martitz
e4bdc08d0c Fix FS#10505 - "Background changes to inverted when cleared" as well as a problem that lets the viewport parser reject correct WPSes, both introduced by r22222
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22264 a1c6a512-1295-4272-9138-f99709370657
2009-08-12 13:04:12 +00:00
Jonathan Gordon
1c0aeb18ca r22135 overwrote mcuelenaere's changes in r22068 to add slider-type regions for the touchscreen... so bring them back (spotted by kkurbjun)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22234 a1c6a512-1295-4272-9138-f99709370657
2009-08-10 03:48:27 +00:00
Thomas Martitz
a1b0e165cc Don't set the drawmode twice and simplify two cases in viewport_parse_viewport.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22227 a1c6a512-1295-4272-9138-f99709370657
2009-08-09 18:44:49 +00:00
Thomas Martitz
f909428321 Fix the yellows.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22225 a1c6a512-1295-4272-9138-f99709370657
2009-08-09 17:47:12 +00:00
Thomas Martitz
9f3fc27be4 Fix player and greyscale reds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22224 a1c6a512-1295-4272-9138-f99709370657
2009-08-09 17:39:39 +00:00