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.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.h30
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 */