summaryrefslogtreecommitdiff
path: root/firmware/export/lcd-charcell.h
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2007-03-31 09:58:49 +0000
committerJens Arnold <amiconn@rockbox.org>2007-03-31 09:58:49 +0000
commit54ea2e435e1a5688de4e4dcf551a1fc9c1db323f (patch)
treee8ee4e55a20c872a6c0deff554734038c35dc661 /firmware/export/lcd-charcell.h
parent6186b556bdbe97bc3c50dd8feb970590bec2053c (diff)
downloadrockbox-54ea2e435e1a5688de4e4dcf551a1fc9c1db323f.tar.gz
rockbox-54ea2e435e1a5688de4e4dcf551a1fc9c1db323f.zip
Charcell lcd driver: Preparations for switching to non-immediate LCD updates, using lcd_update() like on bitmap targets. * Added proper clipping. * Simplified simulator code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12979 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/lcd-charcell.h')
-rw-r--r--firmware/export/lcd-charcell.h30
1 files changed, 26 insertions, 4 deletions
diff --git a/firmware/export/lcd-charcell.h b/firmware/export/lcd-charcell.h
index 9a93cf19de..0684f9cd7b 100644
--- a/firmware/export/lcd-charcell.h
+++ b/firmware/export/lcd-charcell.h
@@ -17,6 +17,20 @@
17 * 17 *
18 ****************************************************************************/ 18 ****************************************************************************/
19 19
20/* target dependent - to be adjusted for other charcell targets */
21#define HW_PATTERN_SIZE 7 /* number of bytes per pattern */
22#define MAX_HW_PATTERNS 8 /* max. number of user-definable hw patterns */
23
24struct cursor_info {
25 unsigned char hw_char;
26 bool enabled;
27 bool visible;
28 int x;
29 int y;
30 int divider;
31 int downcount;
32};
33
20/* map unicode characters to hardware or extended lcd characters */ 34/* map unicode characters to hardware or extended lcd characters */
21struct xchar_info { 35struct xchar_info {
22 unsigned short ucs; 36 unsigned short ucs;
@@ -28,10 +42,18 @@ struct xchar_info {
28 unsigned char hw_char; /* direct or substitute */ 42 unsigned char hw_char; /* direct or substitute */
29}; 43};
30 44
31/* target dependent - to be adjusted for other charcell targets */ 45/* track usage of user-definable characters */
32#define HW_PATTERN_SIZE 7 /* number of bytes per pattern */ 46struct pattern_info {
33#define MAX_HW_PATTERNS 8 /* max. number of user-definable hw patterns */ 47 short count;
34extern int hw_pattern_count; /* actual number of user-definable hw patterns */ 48 unsigned short xchar;
49 unsigned char pattern[HW_PATTERN_SIZE];
50};
51
52extern int lcd_pattern_count; /* actual number of user-definable hw patterns */
53
54extern unsigned char lcd_charbuffer[LCD_HEIGHT][LCD_WIDTH];
55extern struct pattern_info lcd_patterns[MAX_HW_PATTERNS];
56extern struct cursor_info lcd_cursor;
35 57
36extern const struct xchar_info *xchar_info; 58extern const struct xchar_info *xchar_info;
37extern int xchar_info_size; /* number of entries */ 59extern int xchar_info_size; /* number of entries */