diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2007-03-31 09:58:49 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2007-03-31 09:58:49 +0000 |
| commit | 54ea2e435e1a5688de4e4dcf551a1fc9c1db323f (patch) | |
| tree | e8ee4e55a20c872a6c0deff554734038c35dc661 /firmware/export/lcd-charcell.h | |
| parent | 6186b556bdbe97bc3c50dd8feb970590bec2053c (diff) | |
| download | rockbox-54ea2e435e1a5688de4e4dcf551a1fc9c1db323f.zip rockbox-54ea2e435e1a5688de4e4dcf551a1fc9c1db323f.tar.gz rockbox-54ea2e435e1a5688de4e4dcf551a1fc9c1db323f.tar.bz2 rockbox-54ea2e435e1a5688de4e4dcf551a1fc9c1db323f.tar.xz | |
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.h | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/firmware/export/lcd-charcell.h b/firmware/export/lcd-charcell.h index 9a93cf1..0684f9c 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 */ |