diff options
| author | Johannes Schwarz <ubuntuxer@rockbox.org> | 2009-06-28 09:48:12 +0000 |
|---|---|---|
| committer | Johannes Schwarz <ubuntuxer@rockbox.org> | 2009-06-28 09:48:12 +0000 |
| commit | 8a21372e5bcfddabac0aa05b9dd9e3dc5e85da9b (patch) | |
| tree | 9e5e3c67cbafd8b4b6806f0b5e777500e6b0135b /apps/plugins/lib/display_text.h | |
| parent | 41baca7de673d8b3935fa21fb6d6b10722b10b7e (diff) | |
| download | rockbox-8a21372e5bcfddabac0aa05b9dd9e3dc5e85da9b.zip rockbox-8a21372e5bcfddabac0aa05b9dd9e3dc5e85da9b.tar.gz rockbox-8a21372e5bcfddabac0aa05b9dd9e3dc5e85da9b.tar.bz2 rockbox-8a21372e5bcfddabac0aa05b9dd9e3dc5e85da9b.tar.xz | |
FS#10099: new lib, which displays formatted text on every target; also supports viewport
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21537 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/lib/display_text.h')
| -rw-r--r-- | apps/plugins/lib/display_text.h | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/apps/plugins/lib/display_text.h b/apps/plugins/lib/display_text.h new file mode 100644 index 0000000..9f21d23 --- /dev/null +++ b/apps/plugins/lib/display_text.h @@ -0,0 +1,47 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2009 Johannes Schwarz + * based on Will Robertson code in superdom + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "plugin.h" +/* + * basic usage: + * #define WORDS (sizeof text / sizeof (char*)) + * char *text[] = {"normal", "centering", "red,underline"}; + * struct style_text formation[WORDS]={ + * [1] = { TEXT_CENTER }, + * [2] = { C_RED|TEXT_UNDERLINE }, + * }; + * if (display_text(WORDS, text, formation, NULL)) + * return PLUGIN_USB_CONNECTED; + */ + +enum ecolor { STANDARD, C_YELLOW, C_RED, C_BLUE, C_GREEN , C_ORANGE }; +#define TEXT_COLOR_MASK 0x00ff +#define TEXT_CENTER 0x0100 +#define TEXT_UNDERLINE 0x0200 + +struct style_text { + unsigned short flags; +}; + +/* style and vp_text is optional. + * return true if usb is connected. */ +bool display_text(short words, char** text, struct style_text* style, + struct viewport* vp_text); |