From 26b317e094a37c43d23e661cf99fe858c159f1b2 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Sat, 11 Jan 2014 19:17:58 +0100 Subject: 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 --- firmware/export/scroll_engine.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'firmware/export/scroll_engine.h') 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 @@ #include "file.h" struct viewport; +struct scrollinfo; extern void scroll_init(void) INIT_ATTR; @@ -40,6 +41,7 @@ extern void lcd_scroll_delay(int ms); extern void lcd_scroll_stop(void); extern void lcd_scroll_stop_viewport(const struct viewport *vp); extern void lcd_scroll_stop_viewport_rect(const struct viewport *vp, int x, int y, int width, int height); +extern bool lcd_scroll_now(struct scrollinfo *scroll); #ifdef HAVE_REMOTE_LCD extern void lcd_remote_scroll_speed(int speed); extern void lcd_remote_scroll_delay(int ms); @@ -47,8 +49,11 @@ extern void lcd_remote_scroll_delay(int ms); extern void lcd_remote_scroll_stop(void); extern void lcd_remote_scroll_stop_viewport(const struct viewport *vp); extern void lcd_remote_scroll_stop_viewport_rect(const struct viewport *vp, int x, int y, int width, int height); +extern bool lcd_remote_scroll_now(struct scrollinfo *scroll); #endif + + /* internal usage, but in multiple drivers * larger than the normal linebuffer since it holds the line a second * time (+3 spaces) for non-bidir scrolling */ -- cgit v1.2.3