From 54ea2e435e1a5688de4e4dcf551a1fc9c1db323f Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Sat, 31 Mar 2007 09:58:49 +0000 Subject: 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 --- firmware/export/lcd-charcell.h | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) (limited to 'firmware/export/lcd-charcell.h') 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 @@ * ****************************************************************************/ +/* target dependent - to be adjusted for other charcell targets */ +#define HW_PATTERN_SIZE 7 /* number of bytes per pattern */ +#define MAX_HW_PATTERNS 8 /* max. number of user-definable hw patterns */ + +struct cursor_info { + unsigned char hw_char; + bool enabled; + bool visible; + int x; + int y; + int divider; + int downcount; +}; + /* map unicode characters to hardware or extended lcd characters */ struct xchar_info { unsigned short ucs; @@ -28,10 +42,18 @@ struct xchar_info { unsigned char hw_char; /* direct or substitute */ }; -/* target dependent - to be adjusted for other charcell targets */ -#define HW_PATTERN_SIZE 7 /* number of bytes per pattern */ -#define MAX_HW_PATTERNS 8 /* max. number of user-definable hw patterns */ -extern int hw_pattern_count; /* actual number of user-definable hw patterns */ +/* track usage of user-definable characters */ +struct pattern_info { + short count; + unsigned short xchar; + unsigned char pattern[HW_PATTERN_SIZE]; +}; + +extern int lcd_pattern_count; /* actual number of user-definable hw patterns */ + +extern unsigned char lcd_charbuffer[LCD_HEIGHT][LCD_WIDTH]; +extern struct pattern_info lcd_patterns[MAX_HW_PATTERNS]; +extern struct cursor_info lcd_cursor; extern const struct xchar_info *xchar_info; extern int xchar_info_size; /* number of entries */ -- cgit v1.2.3