Improve insert of playlists. Decode M3U files using current code page and strip any...
[kugel-rb.git] / firmware / export / lcd-charcell.h
blobd0dd03386490faa7cb54bda2438b5afc3aa0a71b
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2007 by Jens Arnold
12 * All files in this archive are subject to the GNU General Public License.
13 * See the file COPYING in the source tree root for full license agreement.
15 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
16 * KIND, either express or implied.
18 ****************************************************************************/
20 #include "config.h"
22 /* target dependent - to be adjusted for other charcell targets */
23 #define HW_PATTERN_SIZE 7 /* number of bytes per pattern */
24 #define MAX_HW_PATTERNS 8 /* max. number of user-definable hw patterns */
26 struct cursor_info {
27 unsigned char hw_char;
28 unsigned char subst_char;
29 bool enabled;
30 bool visible;
31 int x;
32 int y;
33 int divider;
34 int downcount;
37 /* map unicode characters to hardware or extended lcd characters */
38 struct xchar_info {
39 unsigned short ucs;
40 unsigned short glyph;
41 /* 0x0000..0x7fff: fixed extended characters
42 * 0x8000..0xffff: variable extended characters
43 * Dontcare if priority == 0 */
44 unsigned char priority;
45 unsigned char hw_char; /* direct or substitute */
48 /* track usage of user-definable characters */
49 struct pattern_info {
50 short count;
51 unsigned short glyph;
52 unsigned char priority;
53 unsigned char pattern[HW_PATTERN_SIZE];
56 extern int lcd_pattern_count; /* actual number of user-definable hw patterns */
58 extern unsigned char lcd_charbuffer[LCD_HEIGHT][LCD_WIDTH];
59 extern struct pattern_info lcd_patterns[MAX_HW_PATTERNS];
60 extern struct cursor_info lcd_cursor;
62 extern const struct xchar_info *xchar_info;
63 extern int xchar_info_size; /* number of entries */
64 extern const unsigned char xfont_fixed[][HW_PATTERN_SIZE];
66 void lcd_charset_init(void);