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.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.h | 30 |
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 | |||
24 | struct 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 */ |
21 | struct xchar_info { | 35 | struct 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 */ | 46 | struct pattern_info { |
33 | #define MAX_HW_PATTERNS 8 /* max. number of user-definable hw patterns */ | 47 | short count; |
34 | extern int hw_pattern_count; /* actual number of user-definable hw patterns */ | 48 | unsigned short xchar; |
49 | unsigned char pattern[HW_PATTERN_SIZE]; | ||
50 | }; | ||
51 | |||
52 | extern int lcd_pattern_count; /* actual number of user-definable hw patterns */ | ||
53 | |||
54 | extern unsigned char lcd_charbuffer[LCD_HEIGHT][LCD_WIDTH]; | ||
55 | extern struct pattern_info lcd_patterns[MAX_HW_PATTERNS]; | ||
56 | extern struct cursor_info lcd_cursor; | ||
35 | 57 | ||
36 | extern const struct xchar_info *xchar_info; | 58 | extern const struct xchar_info *xchar_info; |
37 | extern int xchar_info_size; /* number of entries */ | 59 | extern int xchar_info_size; /* number of entries */ |