dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: RFC new line API

Re: RFC new line API

From: Thomas Martitz <>
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 [1].
> 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!
> [1]: 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[1].

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 [2] and
[3] 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
touchscreen targets).


Best regards.
Received on 2013-12-23

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy