summaryrefslogtreecommitdiff
path: root/firmware/export/lcd.h
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-06-24 22:33:21 +0000
committerJens Arnold <amiconn@rockbox.org>2005-06-24 22:33:21 +0000
commit04daef17a1d180c68888c29d11a1b9087e9ace32 (patch)
treef2d794c196981fc605880e3bbb4447edbaba5f50 /firmware/export/lcd.h
parent0e935bdf01aff1e3bc66221c9a0fcc80f935c3d6 (diff)
downloadrockbox-04daef17a1d180c68888c29d11a1b9087e9ace32.tar.gz
rockbox-04daef17a1d180c68888c29d11a1b9087e9ace32.zip
First part of graphics api rework. Special functions, parameter handling, pixel functions, lines and filled primitives done for black & white core, main display.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6856 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/lcd.h')
-rw-r--r--firmware/export/lcd.h26
1 files changed, 19 insertions, 7 deletions
diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h
index 8c05fb984f..700ebbf67c 100644
--- a/firmware/export/lcd.h
+++ b/firmware/export/lcd.h
@@ -115,33 +115,45 @@ extern void lcd_jump_scroll_delay(int ms);
115 115
116#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) 116#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR)
117 117
118/* draw modes */
119#define DRMODE_COMPLEMENT 0
120#define DRMODE_BG 1
121#define DRMODE_FG 2
122#define DRMODE_SOLID 3
123#define DRMODE_INVERSEVID 4 /* used as bit modifier for basic modes */
124
118#define DRAW_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] |= (1<<((y)&7)) 125#define DRAW_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] |= (1<<((y)&7))
119#define CLEAR_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] &= ~(1<<((y)&7)) 126#define CLEAR_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] &= ~(1<<((y)&7))
120#define INVERT_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] ^= (1<<((y)&7)) 127#define INVERT_PIXEL(x,y) lcd_framebuffer[(y)/8][(x)] ^= (1<<((y)&7))
121 128
129typedef void tLCDPixelFunc(int x, int y); /* for b&w */
130typedef void tLCDBlockFunc(unsigned char *address, unsigned mask, unsigned bits);
131
122/* Memory copy of display bitmap */ 132/* Memory copy of display bitmap */
123extern unsigned char lcd_framebuffer[LCD_HEIGHT/8][LCD_WIDTH]; 133extern unsigned char lcd_framebuffer[LCD_HEIGHT/8][LCD_WIDTH];
124 134
125extern void lcd_set_invert_display(bool yesno); 135extern void lcd_set_invert_display(bool yesno);
126extern void lcd_set_flip(bool yesno); 136extern void lcd_set_flip(bool yesno);
127extern void lcd_roll(int pixels); 137extern void lcd_roll(int pixels);
138
139extern void lcd_set_drawmode(int mode);
140extern int lcd_get_drawmode(void);
128extern void lcd_setmargins(int xmargin, int ymargin); 141extern void lcd_setmargins(int xmargin, int ymargin);
129extern int lcd_getxmargin(void); 142extern int lcd_getxmargin(void);
130extern int lcd_getymargin(void); 143extern int lcd_getymargin(void);
131extern void lcd_setfont(int font); 144extern void lcd_setfont(int font);
132extern int lcd_getstringsize(const unsigned char *str, int *w, int *h); 145extern int lcd_getstringsize(const unsigned char *str, int *w, int *h);
146
133extern void lcd_drawpixel(int x, int y); 147extern void lcd_drawpixel(int x, int y);
134extern void lcd_clearpixel(int x, int y);
135extern void lcd_invertpixel(int x, int y);
136extern void lcd_drawline(int x1, int y1, int x2, int y2); 148extern void lcd_drawline(int x1, int y1, int x2, int y2);
137extern void lcd_clearline(int x1, int y1, int x2, int y2); 149extern void lcd_hline(int x1, int x2, int y);
138extern void lcd_drawrect(int x, int y, int nx, int ny); 150extern void lcd_vline(int x, int y1, int y2);
139extern void lcd_clearrect(int x, int y, int nx, int ny); 151extern void lcd_drawrect(int x, int y, int width, int height);
140extern void lcd_fillrect(int x, int y, int nx, int ny); 152extern void lcd_fillrect(int x, int y, int width, int height);
141extern void lcd_invertrect(int x, int y, int nx, int ny);
142extern void lcd_bitmap(const unsigned char *src, int x, int y, int nx, int ny, 153extern void lcd_bitmap(const unsigned char *src, int x, int y, int nx, int ny,
143 bool clear); 154 bool clear);
144extern void lcd_putsxy(int x, int y, const unsigned char *string); 155extern void lcd_putsxy(int x, int y, const unsigned char *string);
156
145extern void lcd_invertscroll(int x, int y); 157extern void lcd_invertscroll(int x, int y);
146extern void lcd_bidir_scroll(int threshold); 158extern void lcd_bidir_scroll(int threshold);
147extern void lcd_scroll_step(int pixels); 159extern void lcd_scroll_step(int pixels);