1
0
Fork 0
forked from len0rd/rockbox

Introduce put_line().

This function is a fully-fletched, high-level pixel-based line printer, that
combines functionality of several firmware and list functions. It can
draw spacing, icons and text in a single call, in any order and each multiple
times. It can also apply line decorations at the same time.

It features printf-like semantics by accepting a format string that contain
format tags as well as inline text.

It's accessible directly, but also through the multi-screen api for plugins.

Change-Id: I70f5a77bbf4b0252521f2e47ead377b9d6d29b54
This commit is contained in:
Thomas Martitz 2013-12-20 23:34:28 +01:00
parent 5752d029fd
commit 5d6974641b
6 changed files with 490 additions and 0 deletions

View file

@ -26,6 +26,7 @@
#include "buttonbar.h"
#include "scroll_engine.h"
#include "backdrop.h"
#include "line.h"
#if defined(HAVE_REMOTE_LCD) && !defined (ROCKBOX_HAS_LOGF)
#define NB_SCREENS 2
@ -177,6 +178,7 @@ struct screen
void (*nine_segment_bmp)(const struct bitmap* bm, int x, int y,
int width, int height);
#endif
void (*put_line)(int x, int y, struct line_desc *line, const char *fmt, ...);
};
#if defined(HAVE_LCD_BITMAP) || defined(HAVE_REMOTE_LCD)