Am 23.12.2013 14:53, schrieb benjamin brown:
On Mon, Dec 23, 2013 at 3:56 AM, Thomas Martitz <ku...@rockbox.org
<mailto:ku...@rockbox.org>> wrote:
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.
I actually like it better your way than the old way. Does it also
affect the scroll bar?
The scrollbar is draw over the line selector, otherwise you'd hide
important information.
Best regards.