Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: 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 [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]: http://gerrit.rockbox.org/r/#/c/437/ through
> http://gerrit.rockbox.org/r/#/c/454/
>
> 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).

[1]:
http://gerrit.rockbox.org/r/#/q/status:open+project:rockbox+branch:master+topic:newline-api,n,z
[2]: http://imagebin.org/283188
[3]: http://imagebin.org/283189

Best regards.
Received on 2013-12-23


Page was last modified "Jan 10 2012" The Rockbox Crew
aaa