Commit graph

88 commits

Author SHA1 Message Date
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Jonathan Gordon
1759a299f1 fix FS#11100 - statusbar would show up on multiscreen targets if either screen had it enabled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25159 a1c6a512-1295-4272-9138-f99709370657
2010-03-13 22:26:03 +00:00
Jonathan Gordon
f1b209c057 fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25039 a1c6a512-1295-4272-9138-f99709370657
2010-03-06 00:37:01 +00:00
Jonathan Gordon
a9b5f4d810 cleanup statusbar+base skin relationship...
* remove the "custom" option from the statusbar setting. if a sbs file is set then statusbar setting is ignored, no other user visible change there.
* new tag, %wi  - use to draw the inbuilt statusbar in the current viewport


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25038 a1c6a512-1295-4272-9138-f99709370657
2010-03-06 00:29:46 +00:00
Teruaki Kawashima
38efc71615 set viewport to default one just for safe.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24969 a1c6a512-1295-4272-9138-f99709370657
2010-02-28 14:12:41 +00:00
Thomas Martitz
81ebf2be6f Fix dead parts of the wps when leaving it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24952 a1c6a512-1295-4272-9138-f99709370657
2010-02-27 21:19:34 +00:00
Jonathan Gordon
92f0aa85fc fix 64bit warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24923 a1c6a512-1295-4272-9138-f99709370657
2010-02-26 08:43:26 +00:00
Jonathan Gordon
4c6b3551b5 split the theme settings apply() sutff out of settings_apply(). this should fix splashes not being loc'ed, statusbar over the splash (fixed in sim, not on my mini2g though), and the supposed boot time slowdown.
What this also does is remove a bunch of unnecessary settings_Apply()'s from the ipod accessory code, and causes all non-skin settings to get applied each time (this includes font and langs which we wernt doing to stop disk access)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24922 a1c6a512-1295-4272-9138-f99709370657
2010-02-26 08:01:41 +00:00
Jonathan Gordon
466e5d9aa4 2 new tags for the base skin.
%Lt - the title text for the current list
%Li - the icon number. Same order as the CustomIcons list, except the first icon is the "no icon" icon.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24917 a1c6a512-1295-4272-9138-f99709370657
2010-02-26 03:45:41 +00:00
Jonathan Gordon
f85103e8f2 remote multifont fixes. it shoud be working again (blame AlexP! he made me break it last week!)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24812 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 19:10:09 +00:00
Jonathan Gordon
1c2aa35371 FS#10984 - multifont! 2 major additions:
1) seperate UI font for the remote and main displays
2) allow individual skins to load additional fonts for use in the skin (Uo to 7 extra in this first version) see CustomWPS for info on how to load a font in the skins.

Code should always use FONT_UI+screen_number to get the correct user font


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24644 a1c6a512-1295-4272-9138-f99709370657
2010-02-14 06:26:16 +00:00
Jonathan Gordon
fd2fdc2d75 Fix FS#10983 - r24568 was just moronic. Sorry
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24578 a1c6a512-1295-4272-9138-f99709370657
2010-02-10 04:19:50 +00:00
Jonathan Gordon
9955e9a7df unconditioannly show the main/base skins backdrop when enabling the theme so plugins show the correct backdrop in menus
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24568 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 17:19:15 +00:00
Jonathan Gordon
7e6f124d4e revert r24478 and make the backdrop behaviour the same as it used to be (so when in the wps the sbs' backdrop will be fully disabled). Also changes the API back to having to manually set the current backdrop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24565 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 09:38:03 +00:00
Jonathan Gordon
eee5423fe1 skin rework (FS#10922) notable changes:
- simplify the setting/skin relationship. settings are used as the fallback if it's not specified in the skin
- backdrop buffers are now in the skin buffer (which has also increased slightly to accomodate 1 backdrop for each skin and 2 full colour screens for bmps (up for 1.5))
- if no %X is specified in a skin then the backdrop setting will be used. use %Xd to explicitly disable a skin from displaying a backdrop
- the base skin can now specify a backdrop.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24366 a1c6a512-1295-4272-9138-f99709370657
2010-01-29 07:52:13 +00:00
Thomas Martitz
e18e806930 Fix yellows
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24352 a1c6a512-1295-4272-9138-f99709370657
2010-01-27 20:45:42 +00:00
Thomas Martitz
feb3a261c7 Fix multiscreen handling of the viewportmanager.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24351 a1c6a512-1295-4272-9138-f99709370657
2010-01-27 20:34:51 +00:00
Jonathan Gordon
2565389402 futile attempt to keep the ondioSP rombox working. This will almost certainly be the last release with it. (The backdrop API is chaning very soon after release so this is no big deal)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24340 a1c6a512-1295-4272-9138-f99709370657
2010-01-27 06:47:56 +00:00
Thomas Martitz
5629d551d7 Accept the last patch FS#10797 with a few changes by me (fixing side effects and adding the new backdrop_hide() to the multi screen api). It changes the hide_bars parameter to mean hide_theme.
This makes plugins show the menu backdrop in their backdrop so that they don't look like crap if you have an sbs and look more integrated. I've test about all plugins and all work fine.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24335 a1c6a512-1295-4272-9138-f99709370657
2010-01-26 20:14:42 +00:00
Bertrik Sikken
5c4ef78cc9 Simplify some expressions using the ? operator
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24136 a1c6a512-1295-4272-9138-f99709370657
2010-01-01 22:47:25 +00:00
Jonathan Gordon
9d1832cfba fix FS#10870 - slightly change the viewportmanager theme undo-er to be able to force an update even if the theme isnt being toggled from off to on which caused WPS artifacts when leaving the WPS if the theme was enabled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24087 a1c6a512-1295-4272-9138-f99709370657
2009-12-21 05:19:12 +00:00
Jonathan Gordon
0900b563f2 FS#10855 3 minor sbs bugs, spotted and fixed by Teruaki Kawashima
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24065 a1c6a512-1295-4272-9138-f99709370657
2009-12-18 06:51:36 +00:00
Jonathan Gordon
dd9fbbf7c8 fix red checkwps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23905 a1c6a512-1295-4272-9138-f99709370657
2009-12-09 07:44:08 +00:00
Jonathan Gordon
b2eb44ce0e FS#10824 - viewport/statusbar API rework.
Hopefully the only user visible changes are:
- fm and recording screens go by the statusbar setting (sbs or inbuilt)
- plugins go back to using the theme as they should for menus and lists
- splash screens might get cut a bit... entirely theme and splash dependant.. if there is a problematic one we can look at it later.
- hopefully nothing more than very minor screen flickerings... let me know exactly where they are so they can be fixed

New GUI screen rules:
* Screens assume that the theme (sbs+ui viewport+ maybe background image) are always enabled. They may be disabled on a per display basis, but MUST be re-enabled on exit
* Screens must not be coded in a way that requires a statusbar of any type.. the inbuilt bar will be removed shortly.
ALWAYS RESPECT THE USERS SETTINGS unless the screen requires the full display to fit.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23904 a1c6a512-1295-4272-9138-f99709370657
2009-12-09 07:25:46 +00:00
Thomas Martitz
bdf2961ba3 Fix some drawing problems when displaying the WPS initially with sbs enabled. Move initial display of the wps to wps.c too. Should fix bug 3 of FS#10771.
Also change GUI_EVENT_REFRESH event handling so that the passed drawing function is always called, not only when sbs or custom ui vp are used.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23644 a1c6a512-1295-4272-9138-f99709370657
2009-11-16 01:38:30 +00:00
Jonathan Gordon
7c440bff32 remove 3 bad viewport functions:
* viewport_set_current_vp() because if a screen wants to not use the user setting it shouldn't be dealing with the viewport manager at all (other than to disable the bars)
* viewport_ui_vp_get_state() is unused (and not needed)
* viewport_get_current_vp() because you should be using set_defaults() instead.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23606 a1c6a512-1295-4272-9138-f99709370657
2009-11-11 06:39:23 +00:00
Thomas Martitz
6db8f952dc Fall back to info vp from sbs when intersection fails (again, r23575 changed it despite it was agreed on info vp beforehand).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23604 a1c6a512-1295-4272-9138-f99709370657
2009-11-10 23:01:01 +00:00
Thomas Martitz
c5b4482ee2 Revert r23599 and r23600 and fix the early usb problem at the root. The the viewportmanager and custom statusbar was initialized too late.
Now, call it earlier and remove parts of it that caused the need to call it later. Removing that is OK since it's done again on settings loading.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23603 a1c6a512-1295-4272-9138-f99709370657
2009-11-10 20:13:24 +00:00
Jonathan Gordon
4cd805cfaf Fix the error condition to actually set the fullscreen viewport. Also remove a comment which doesnt really add anything.. the comments 15lines above it explain whats happening
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23575 a1c6a512-1295-4272-9138-f99709370657
2009-11-09 05:15:48 +00:00
Thomas Martitz
cc65afac0a Get font and colors from UI viewport before intersecting, instead of leaving them empty.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23526 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 22:55:02 +00:00
Thomas Martitz
e9c900d09d Fix a possiblity where viewport_set_default left the viewport unchanged. Improve comments a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23521 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 21:08:21 +00:00
Thomas Martitz
b2e64581d3 Fix player yellows and reds. I'm not sure why viewport.c was never compiled for charcell.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23513 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 07:20:41 +00:00
Thomas Martitz
6750d65f79 Reorder a bit in viewport.c so that we don't need stubs for checkwps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23511 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 06:56:04 +00:00
Jonathan Gordon
dd1063d67c fix charcell yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23509 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 05:27:37 +00:00
Jonathan Gordon
a7d784b1d5 Fix viewport "UI area" to work based on what was agreed on last week in the mailing lists and IRC:
* viewport_set_defaults() will always set the viewport to the intersection of the user setting and any sbs set user viewport
* viewport_set_fullscreen() will always set the viewport to the full display, take care to disable the statusbars if you use this!

This patch is from FS#10709 and contains code which will be removed once the current inbuilt statusbar is finally removed. This *may* break themes which dont use the %we or %wd token.. follow up commit to fix this coming...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23507 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 05:10:53 +00:00
Jonathan Gordon
0aa035d73e * code police on a macro which has no reason for being
* add the TOKEN_RTC_PRESENT value to the skin debugger listing
* Allow the width and height of a viewport to be negative values (so width -50 means extend to 50pixels inside from the right edge)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23393 a1c6a512-1295-4272-9138-f99709370657
2009-10-29 03:27:13 +00:00
Jonathan Gordon
bee5900032 Allow the x and y pixel values of viewports to be a negative number..
%V|-50|0|-|..... will position that viewport 50 pixels from the right of the display at the top.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23378 a1c6a512-1295-4272-9138-f99709370657
2009-10-28 06:44:37 +00:00
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
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
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
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
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
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
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
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
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
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