Rockbox currently has 2 different list implementations, the "classic" list (app/gui/bitmap/list.c) which is drawn directly using code, and skin list (apps/gui/bitmap/skinned-list.c) which uses the skin engine to draw everything.
The ultimate goal is to replace the classic implementation so only the skin engine one needs to exist. This cant happen until it can do everything the classic implementation can do:
Missing list features
- Filetree colors (need a tag to set the viewport foreground colour to the one the list should use)
- touch support - scrolling needs to be implemented in both directions (S.E list doesnt support it at all, classic supports up/down only)
- single/multi-line list items. current S.E doesnt deal with multi-line items very well (at all?). Probably need to add a tag to set the viewport to use when the list item is 1,2,etc lines (or figure out a way to make the one viewport work)
- list indenting
- Scroll all lines (though this looks terrible, it should probably be kept)
Missing skin engine features
- Backdrop viewport layer doesnt work in the list
- Need a way to specify the height of a viewport better than a pixel value (i.e font height + X)
- Maybe come up with a cleaner syntax to specify the list viewports (maybe remove it from the sbs)
- 18 Feb 2013
Copyright © by the contributing authors.