From 8a21372e5bcfddabac0aa05b9dd9e3dc5e85da9b Mon Sep 17 00:00:00 2001 From: Johannes Schwarz Date: Sun, 28 Jun 2009 09:48:12 +0000 Subject: 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 --- apps/plugins/lib/display_text.h | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 apps/plugins/lib/display_text.h (limited to 'apps/plugins/lib/display_text.h') diff --git a/apps/plugins/lib/display_text.h b/apps/plugins/lib/display_text.h new file mode 100644 index 0000000000..9f21d236ea --- /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); -- cgit v1.2.3