summaryrefslogtreecommitdiff
path: root/firmware/export/lcd.h
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-06-29 01:39:50 +0000
committerJens Arnold <amiconn@rockbox.org>2005-06-29 01:39:50 +0000
commit576908d36a58d51ee880791418a32cef25b49aba (patch)
treeda2e34886085ca15de28d1b7226064be2906232b /firmware/export/lcd.h
parent7e11acbce9b9a63c28ded055d02301175391e027 (diff)
downloadrockbox-576908d36a58d51ee880791418a32cef25b49aba.tar.gz
rockbox-576908d36a58d51ee880791418a32cef25b49aba.zip
Third part of graphics api rework. Some small but effective optimisations. Ported remote lcd driver to new api. Preparations for including the low-level functions in the plugin api.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6907 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/lcd.h')
-rw-r--r--firmware/export/lcd.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h
index 6a6a8e8697..77e79799f8 100644
--- a/firmware/export/lcd.h
+++ b/firmware/export/lcd.h
@@ -122,9 +122,9 @@ extern void lcd_jump_scroll_delay(int ms);
122#define DRMODE_SOLID 3 122#define DRMODE_SOLID 3
123#define DRMODE_INVERSEVID 4 /* used as bit modifier for basic modes */ 123#define DRMODE_INVERSEVID 4 /* used as bit modifier for basic modes */
124 124
125#define DRAW_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] |= (1<<((y)&7)) 125#define DRAW_PIXEL(x,y) lcd_framebuffer[(y)>>3][(x)] |= (1<<((y)&7))
126#define CLEAR_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] &= ~(1<<((y)&7)) 126#define CLEAR_PIXEL(x,y) lcd_framebuffer[(y)>>3][(x)] &= ~(1<<((y)&7))
127#define INVERT_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] ^= (1<<((y)&7)) 127#define INVERT_PIXEL(x,y) lcd_framebuffer[(y)>>3][(x)] ^= (1<<((y)&7))
128 128
129typedef void lcd_pixelfunc_type(int x, int y); /* for b&w */ 129typedef void lcd_pixelfunc_type(int x, int y); /* for b&w */
130typedef void lcd_blockfunc_type(unsigned char *address, unsigned mask, unsigned bits); 130typedef void lcd_blockfunc_type(unsigned char *address, unsigned mask, unsigned bits);
@@ -144,6 +144,10 @@ extern int lcd_getymargin(void);
144extern void lcd_setfont(int font); 144extern void lcd_setfont(int font);
145extern int lcd_getstringsize(const unsigned char *str, int *w, int *h); 145extern int lcd_getstringsize(const unsigned char *str, int *w, int *h);
146 146
147/* low level drawing function pointer arrays */
148extern lcd_pixelfunc_type* lcd_pixelfuncs[8];
149extern lcd_blockfunc_type* lcd_blockfuncs[8];
150
147extern void lcd_drawpixel(int x, int y); 151extern void lcd_drawpixel(int x, int y);
148extern void lcd_drawline(int x1, int y1, int x2, int y2); 152extern void lcd_drawline(int x1, int y1, int x2, int y2);
149extern void lcd_hline(int x1, int x2, int y); 153extern void lcd_hline(int x1, int x2, int y);