Rockbox mail archiveSubject: Re: Thoughts on FS#12124 - drawing the lists with the skin engine
Re: Thoughts on FS#12124 - drawing the lists with the skin engine
From: Jonathan Gordon <jdgordy_at_gmail.com>
Date: Mon, 4 Jul 2011 20:04:21 +1000
On Jul 4, 2011 7:55 PM, "Nils Wallménius" <nils.wallmenius_at_gmail.com> wrote:
> On Mon, Jul 4, 2011 at 6:48 AM, Jonathan Gordon <jdgordy_at_gmail.com> wrote:
> > Hi all,
> > I'm hoping to have this patch in git ( :) ) before the next release so
> > I want to get some feedback on how this patch works and what more
> > needs to be done.
> > This patch allows themers to draw the all the lists with the skin
> > engine instead of using the inbuilt standard list (and with some magic
> > you can draw different lists with different skins, or even with the
> > inbuilt code.)
> > Basically how it works is you define a set of viewports (all with a
> > single label) which will be drawn once for each list item, these are
> > all drawn as children in a specified rectangle.
> > example from the tracker:
> > =======%========
> > %Lb(a,100,20) # This says to draw viewports labeled
> > 'a' in a rectangle 100wide x 20 high
> > %Vi(-,0,0,-,-35,1) # Setup the UI viewport, nothing special
> > %Vl(a,5,5,-,12,1) # Setup the viewport to draw for each
> > item, x,y,width,height here are relative to the position of the
> > rectangle it is drawn in.
> > %?Lc<%>%>%>>%ac%LT # Stuff to actually draw, in this case it is the
> > list text centered and show ">>" if it is the current selection.
> > =======%========
> > Now, because the same viewports are drawn more than once per screen
> > currently no scrolling works. I'm going to fix this by drawing the
> > selected item Last (so the viewport doesn't move again) and by
> > allowing you to specify a different viewport label to draw for the
> > selected item *which doesn't need to have the same rectangle size*
> > (which should make some nice themes).
> Does it work with the "Screen Scrolls Out of View" setting which can
> cause all items in view to scroll?
Not yet, but if this is an important setting then it can be made to work
Received on 2011-07-04