1
0
Fork 0
forked from len0rd/rockbox

lcd-common/scroll_engine: Introduce lcd_putsxy_scroll_func().

This function supports installing a custom scroll callback. This will be
called when the scrollengine redraws the line. It allows to draw extended
styles (or anything your can possible imagine) along with the text.

It is also strictly pixel-based, the first pixel-based function that supports
scrolling.

Change-Id: I57f81ac7b3d08b877aea4cb8afa882f175ebcdfc
This commit is contained in:
Thomas Martitz 2013-12-20 23:34:28 +01:00
parent b8505222c0
commit 6630958533
6 changed files with 36 additions and 1 deletions

View file

@ -572,6 +572,17 @@ void LCDFN(puts_scroll_style_xyoffset)(int x, int y, const unsigned char *string
true, LCDFN(scroll_fn), NULL);
}
void LCDFN(putsxy_scroll_func)(int x, int y, const unsigned char *string,
void (*scroll_func)(struct scrollinfo *),
void *data, int x_offset)
{
if (!scroll_func)
LCDFN(putsxyofs)(x, y, x_offset, string);
else
LCDFN(puts_scroll_worker)(x, y, string, STYLE_NONE, x_offset, 0,
false, scroll_func, data);
}
void LCDFN(puts_scroll)(int x, int y, const unsigned char *string)
{
LCDFN(puts_scroll_style)(x, y, string, STYLE_DEFAULT);