summaryrefslogtreecommitdiff
path: root/firmware/export/scroll_engine.h
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2014-01-11 19:17:58 +0100
committerThomas Martitz <kugel@rockbox.org>2014-01-11 19:17:58 +0100
commit26b317e094a37c43d23e661cf99fe858c159f1b2 (patch)
tree7e0cfbb80fee1b15435a6a261d99186dac2e0455 /firmware/export/scroll_engine.h
parent2a471c9e84ddc4f6f407d4fe3ad2a21a1d0e3723 (diff)
downloadrockbox-26b317e094a37c43d23e661cf99fe858c159f1b2.tar.gz
rockbox-26b317e094a37c43d23e661cf99fe858c159f1b2.zip
scroll engine: Factor out renderer function so it can be called by lcd code.
This is used by lcd_puts_scroll_worker() to render the line immediately instead of waiting for the next scroll tick when only the text was updated. Previously lcd_puts_scroll_worker() did not render anything in this case which could lead to visible blinking. This fixes blinking scrolling lines with dynamic text in the skin engine. Change-Id: I475bde8c8eb7c92f505e3c5ecf4d32bb90690536
Diffstat (limited to 'firmware/export/scroll_engine.h')
-rw-r--r--firmware/export/scroll_engine.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/firmware/export/scroll_engine.h b/firmware/export/scroll_engine.h
index 19a2bc4cca..64e1d6d6ae 100644
--- a/firmware/export/scroll_engine.h
+++ b/firmware/export/scroll_engine.h
@@ -30,6 +30,7 @@
30#include "file.h" 30#include "file.h"
31 31
32struct viewport; 32struct viewport;
33struct scrollinfo;
33 34
34extern void scroll_init(void) INIT_ATTR; 35extern void scroll_init(void) INIT_ATTR;
35 36
@@ -40,6 +41,7 @@ extern void lcd_scroll_delay(int ms);
40extern void lcd_scroll_stop(void); 41extern void lcd_scroll_stop(void);
41extern void lcd_scroll_stop_viewport(const struct viewport *vp); 42extern void lcd_scroll_stop_viewport(const struct viewport *vp);
42extern void lcd_scroll_stop_viewport_rect(const struct viewport *vp, int x, int y, int width, int height); 43extern void lcd_scroll_stop_viewport_rect(const struct viewport *vp, int x, int y, int width, int height);
44extern bool lcd_scroll_now(struct scrollinfo *scroll);
43#ifdef HAVE_REMOTE_LCD 45#ifdef HAVE_REMOTE_LCD
44extern void lcd_remote_scroll_speed(int speed); 46extern void lcd_remote_scroll_speed(int speed);
45extern void lcd_remote_scroll_delay(int ms); 47extern void lcd_remote_scroll_delay(int ms);
@@ -47,8 +49,11 @@ extern void lcd_remote_scroll_delay(int ms);
47extern void lcd_remote_scroll_stop(void); 49extern void lcd_remote_scroll_stop(void);
48extern void lcd_remote_scroll_stop_viewport(const struct viewport *vp); 50extern void lcd_remote_scroll_stop_viewport(const struct viewport *vp);
49extern void lcd_remote_scroll_stop_viewport_rect(const struct viewport *vp, int x, int y, int width, int height); 51extern void lcd_remote_scroll_stop_viewport_rect(const struct viewport *vp, int x, int y, int width, int height);
52extern bool lcd_remote_scroll_now(struct scrollinfo *scroll);
50#endif 53#endif
51 54
55
56
52/* internal usage, but in multiple drivers 57/* internal usage, but in multiple drivers
53 * larger than the normal linebuffer since it holds the line a second 58 * larger than the normal linebuffer since it holds the line a second
54 * time (+3 spaces) for non-bidir scrolling */ 59 * time (+3 spaces) for non-bidir scrolling */