Rockbox

This is the bug/patch tracker for Rockbox. Click here for more information.

Quick links: Bugs · Patches · Rockbox frontpage

Tasklist

FS#10922 - SBS cleanup, remove lots of bandaids.

Attached to Project: Rockbox
Opened by Jonathan Gordon (jdgordon) - Wednesday, 20 January 2010, 09:21 GMT+2
Last edited by Jonathan Gordon (jdgordon) - Friday, 29 January 2010, 08:52 GMT+2
Task Type Patches
Category User Interface
Status Closed
Assigned To No-one
Player Type All players
Severity Low
Priority Normal
Reported Version Release 3.4
Due in Version Release 3.5
Due Date Undecided
Percent Complete 100%
Private No

Details

This patch changes *internally* how the colour, backdrop and ui viewport setting are used.

if a .sbs fails to load (or is never loaded) a in ram sbs is created from the above settings and loaded.

This first version doesnt hande backgrounds at all, everything else should work the same as svn
   sbsrework.diff (10.8 KiB)
 apps/gui/statusbar-skinned.c |  139 ++++++++++++++++++++++++++++---------------
 apps/gui/statusbar-skinned.h |    5 -
 apps/gui/viewport.c          |   83 +------------------------
 3 files changed, 97 insertions(+), 130 deletions(-)

This task depends upon

Closed by  Jonathan Gordon (jdgordon)
Friday, 29 January 2010, 08:52 GMT+2
Reason for closing:  Accepted
Additional comments about closing:  in 24366.
Comment by Jonathan Gordon (jdgordon) - Friday, 22 January 2010, 07:45 GMT+2
new version... so many fixes. moves backdrops into the skin buffer. Makes the whole system follow the "only use the setting as a fallback" motto, except load/clear backdrop which needs a think about.
   skin_rework.diff (32.8 KiB)
 apps/screen_access.c                 |    2 
 apps/screen_access.h                 |    5 -
 apps/settings.c                      |   16 ---
 apps/onplay.c                        |    4 
 apps/gui/backdrop.c                  |  152 ++---------------------------------
 apps/gui/usb_screen.c                |    1 
 apps/gui/backdrop.h                  |   50 +++++------
 apps/gui/statusbar-skinned.c         |  134 ++++++++++++++++++++----------
 apps/gui/statusbar-skinned.h         |   10 +-
 apps/gui/skin_engine/skin_engine.h   |    9 ++
 apps/gui/skin_engine/skin_parser.c   |   74 +++++++++++------
 apps/gui/skin_engine/skin_display.c  |    2 
 apps/gui/skin_engine/skin_buffer.c   |    9 +-
 apps/gui/skin_engine/wps_internals.h |    3 
 apps/gui/wps.c                       |    6 -
 apps/gui/viewport.c                  |   89 ++------------------
 apps/menus/theme_menu.c              |    6 -
 apps/filetree.c                      |    7 -
 apps/bookmark.c                      |    4 
 19 files changed, 214 insertions(+), 369 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Monday, 25 January 2010, 09:08 GMT+2
change how skins and the backdrop setting work to make them the same as svn.
%Xd will not dispaly any backdrop, %X|filename.bmp| will use that file, no %X tag will use the backdrop setting *NOT* the one loaded in the sbs (this might change if both are using the setting)

also change the buffer size to have room for 2 full colour screens and 1 backdrop for each screen (svn is 1 full colour screen, 2 full mono screens, and 1 backdrop per screen) ~180KB extra on e200. this should be able to come down if the above bracketed text happens... also this should eventually be user configurable.

load/clear a backdrop from the file browser/menu will unconditioanlly change the sbs backdrop. you might need to change the .sbs file to have it change permanenelty (which makes sense.)
   skin_rework.diff (35.3 KiB)
 apps/screen_access.c                 |    2 
 apps/screen_access.h                 |    5 -
 apps/settings.c                      |   16 ---
 apps/onplay.c                        |    4 
 apps/gui/backdrop.c                  |  152 ++---------------------------------
 apps/gui/usb_screen.c                |    1 
 apps/gui/backdrop.h                  |   50 +++++------
 apps/gui/statusbar-skinned.c         |  134 ++++++++++++++++++++----------
 apps/gui/statusbar-skinned.h         |   10 +-
 apps/gui/skin_engine/skin_engine.h   |    9 ++
 apps/gui/skin_engine/skin_parser.c   |  116 +++++++++++++++++++-------
 apps/gui/skin_engine/skin_display.c  |    2 
 apps/gui/skin_engine/skin_buffer.c   |   11 +-
 apps/gui/skin_engine/wps_internals.h |    3 
 apps/gui/wps.c                       |   12 +-
 apps/gui/viewport.c                  |   89 ++------------------
 apps/menus/theme_menu.c              |    6 -
 apps/filetree.c                      |    7 -
 apps/bookmark.c                      |    4 
 19 files changed, 257 insertions(+), 376 deletions(-)

Comment by Jonathan Gordon (jdgordon) - Friday, 29 January 2010, 05:15 GMT+2
sync to svn
   skin_rework.diff (34.5 KiB)
 apps/screen_access.c                 |    4 
 apps/screen_access.h                 |    6 -
 apps/settings.c                      |   18 ---
 apps/onplay.c                        |    4 
 apps/gui/backdrop.c                  |  197 ++---------------------------------
 apps/gui/usb_screen.c                |    3 
 apps/gui/backdrop.h                  |   19 +--
 apps/gui/statusbar-skinned.c         |  134 +++++++++++++++--------
 apps/gui/statusbar-skinned.h         |   10 +
 apps/gui/skin_engine/skin_engine.h   |    9 +
 apps/gui/skin_engine/skin_parser.c   |  117 +++++++++++++++-----
 apps/gui/skin_engine/skin_display.c  |    2 
 apps/gui/skin_engine/skin_buffer.c   |   11 +
 apps/gui/skin_engine/wps_internals.h |    3 
 apps/gui/wps.c                       |   17 +--
 apps/gui/viewport.c                  |   91 +---------------
 apps/menus/theme_menu.c              |    6 -
 apps/filetree.c                      |    7 -
 apps/bookmark.c                      |    8 -
 19 files changed, 244 insertions(+), 422 deletions(-)

Loading...