summaryrefslogtreecommitdiff
path: root/firmware/drivers/lcd-bitmap-common.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2013-12-20 23:34:28 +0100
committerThomas Martitz <kugel@rockbox.org>2014-01-07 11:36:00 +0100
commit6630958533d02d66dca8cc79897fda2cb744c076 (patch)
tree598f20a9ebd1248dd4fdbfdf3875ab928f80980a /firmware/drivers/lcd-bitmap-common.c
parentb8505222c02a7a5a19571c3d4577f3b473cb8558 (diff)
downloadrockbox-6630958533d02d66dca8cc79897fda2cb744c076.tar.gz
rockbox-6630958533d02d66dca8cc79897fda2cb744c076.zip
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
Diffstat (limited to 'firmware/drivers/lcd-bitmap-common.c')
-rw-r--r--firmware/drivers/lcd-bitmap-common.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/firmware/drivers/lcd-bitmap-common.c b/firmware/drivers/lcd-bitmap-common.c
index d8417e13e2..5961bba7a5 100644
--- a/firmware/drivers/lcd-bitmap-common.c
+++ b/firmware/drivers/lcd-bitmap-common.c
@@ -572,6 +572,17 @@ void LCDFN(puts_scroll_style_xyoffset)(int x, int y, const unsigned char *string
572 true, LCDFN(scroll_fn), NULL); 572 true, LCDFN(scroll_fn), NULL);
573} 573}
574 574
575void LCDFN(putsxy_scroll_func)(int x, int y, const unsigned char *string,
576 void (*scroll_func)(struct scrollinfo *),
577 void *data, int x_offset)
578{
579 if (!scroll_func)
580 LCDFN(putsxyofs)(x, y, x_offset, string);
581 else
582 LCDFN(puts_scroll_worker)(x, y, string, STYLE_NONE, x_offset, 0,
583 false, scroll_func, data);
584}
585
575void LCDFN(puts_scroll)(int x, int y, const unsigned char *string) 586void LCDFN(puts_scroll)(int x, int y, const unsigned char *string)
576{ 587{
577 LCDFN(puts_scroll_style)(x, y, string, STYLE_DEFAULT); 588 LCDFN(puts_scroll_style)(x, y, string, STYLE_DEFAULT);