Rockbox mail archiveSubject: Re: RFC new line API
Re: RFC new line API
From: Thomas Martitz <kugel_at_rockbox.org>
Date: Mon, 23 Dec 2013 09:56:40 +0100
Am 14.04.2013 19:46, schrieb Thomas Martitz:
> Am 15.02.2013 22:30, schrieb Thomas Martitz:
>> My idea is a having a single function:
>> put_line(int x, int y, struct line_desc *desc, const char *fmt, ...).
> I've worked on this further, and it's coming along nicely. I've put my
> current work to gerrit .
> There is still a lot of work:
> - I guess charcell is completely broken, havent bothered with that
> yet (I'm disappointed that I even still need too...)
> - this awkward list (mis-)feature of pushing all items to the left
> isn't working yet
> - RTL
> What works already:
> - put_line() as a line-printer: this function draws text icons and
> line decorations in a single call and in arbitrary order. it has
> printf-like semantics with a format string and a variable parameter list
> - pixel based scrolling: put_line() is all pixel based, and so needs
> the underlying scroll engine to be. I have implemented just that
> - line decorations in apps/: Due to this, the line selector is now
> drawn in apps, along with icons. this means that it now can extend to
> the icons in list (i.e. the list icons are drawn on top of the line
> selector). the line selector is actually extended to the full width,
> which the scrollbar and line cursors are drawn above it
> - Lots of code cleaned up, especially the lcd_puts* monster is
> largely reduced
> Please have a look and make comments!
> : http://gerrit.rockbox.org/r/#/c/437/ through
> Best regards.
I rebased my work onto current git HEAD and I plan to push this work
soon (because I want to get my stuff sorted before I work further on
playbacklib). The commits can be reviewed here.
I'm a bit cautious because it includes a user visible change: The line
selector bars cover the whole UI viewport width, in paricular they
extend to the menu icons and scrollbar placeholder. Please see  and
 for before-after screen shots.
Anyway, unless someone voices up I will proceed with the new lcd_puts
API. Following this new function will be a large cleanup in the
low-level lcd driver as well as list item separators (mainly for
Received on 2013-12-23