diff options
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/gui/line.c | 12 | ||||
| -rw-r--r-- | apps/plugin.h | 2 |
2 files changed, 5 insertions, 9 deletions
diff --git a/apps/gui/line.c b/apps/gui/line.c index e2eb6f2..fe01797 100644 --- a/apps/gui/line.c +++ b/apps/gui/line.c @@ -53,18 +53,15 @@ static void put_text(struct screen *display, int x, int y, struct line_desc *lin struct line_desc_scroll { struct line_desc desc; /* must be first! */ bool used; -}; - -#define NOINLINE __attribute__ ((noinline)) +} lines[MAX_LINES]; -struct line_desc_scroll *get_line_desc(void) NOINLINE; -struct line_desc_scroll *get_line_desc(void) +static struct line_desc_scroll *get_line_desc(void) { - static struct line_desc_scroll lines[MAX_LINES]; static unsigned line_index; struct line_desc_scroll *this; - do { + do + { this = &lines[line_index++]; if (line_index >= ARRAYLEN(lines)) line_index = 0; @@ -87,7 +84,6 @@ static void scroller(struct scrollinfo *s, struct screen *display) line->used = false; } else - if (s->line) { style_line(display, s->x, s->y - (line->desc.height/2 - display->getcharheight()/2), &line->desc); put_text(display, s->x, s->y, &line->desc, s->line, true, s->offset); diff --git a/apps/plugin.h b/apps/plugin.h index 5d6527d..8a0d056 100644 --- a/apps/plugin.h +++ b/apps/plugin.h @@ -326,7 +326,7 @@ struct plugin_api { void (*lcd_remote_set_contrast)(int x); void (*lcd_remote_clear_display)(void); void (*lcd_remote_puts)(int x, int y, const unsigned char *string); - void (*lcd_remote_puts_scroll)(int x, int y, const unsigned char* string); + bool (*lcd_remote_puts_scroll)(int x, int y, const unsigned char* string); void (*lcd_remote_scroll_stop)(void); void (*lcd_remote_set_drawmode)(int mode); int (*lcd_remote_get_drawmode)(void); |