diff options
author | Jens Arnold <amiconn@rockbox.org> | 2005-06-24 22:33:21 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2005-06-24 22:33:21 +0000 |
commit | 04daef17a1d180c68888c29d11a1b9087e9ace32 (patch) | |
tree | f2d794c196981fc605880e3bbb4447edbaba5f50 /firmware/export/lcd.h | |
parent | 0e935bdf01aff1e3bc66221c9a0fcc80f935c3d6 (diff) | |
download | rockbox-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.h | 26 |
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 | ||
129 | typedef void tLCDPixelFunc(int x, int y); /* for b&w */ | ||
130 | typedef void tLCDBlockFunc(unsigned char *address, unsigned mask, unsigned bits); | ||
131 | |||
122 | /* Memory copy of display bitmap */ | 132 | /* Memory copy of display bitmap */ |
123 | extern unsigned char lcd_framebuffer[LCD_HEIGHT/8][LCD_WIDTH]; | 133 | extern unsigned char lcd_framebuffer[LCD_HEIGHT/8][LCD_WIDTH]; |
124 | 134 | ||
125 | extern void lcd_set_invert_display(bool yesno); | 135 | extern void lcd_set_invert_display(bool yesno); |
126 | extern void lcd_set_flip(bool yesno); | 136 | extern void lcd_set_flip(bool yesno); |
127 | extern void lcd_roll(int pixels); | 137 | extern void lcd_roll(int pixels); |
138 | |||
139 | extern void lcd_set_drawmode(int mode); | ||
140 | extern int lcd_get_drawmode(void); | ||
128 | extern void lcd_setmargins(int xmargin, int ymargin); | 141 | extern void lcd_setmargins(int xmargin, int ymargin); |
129 | extern int lcd_getxmargin(void); | 142 | extern int lcd_getxmargin(void); |
130 | extern int lcd_getymargin(void); | 143 | extern int lcd_getymargin(void); |
131 | extern void lcd_setfont(int font); | 144 | extern void lcd_setfont(int font); |
132 | extern int lcd_getstringsize(const unsigned char *str, int *w, int *h); | 145 | extern int lcd_getstringsize(const unsigned char *str, int *w, int *h); |
146 | |||
133 | extern void lcd_drawpixel(int x, int y); | 147 | extern void lcd_drawpixel(int x, int y); |
134 | extern void lcd_clearpixel(int x, int y); | ||
135 | extern void lcd_invertpixel(int x, int y); | ||
136 | extern void lcd_drawline(int x1, int y1, int x2, int y2); | 148 | extern void lcd_drawline(int x1, int y1, int x2, int y2); |
137 | extern void lcd_clearline(int x1, int y1, int x2, int y2); | 149 | extern void lcd_hline(int x1, int x2, int y); |
138 | extern void lcd_drawrect(int x, int y, int nx, int ny); | 150 | extern void lcd_vline(int x, int y1, int y2); |
139 | extern void lcd_clearrect(int x, int y, int nx, int ny); | 151 | extern void lcd_drawrect(int x, int y, int width, int height); |
140 | extern void lcd_fillrect(int x, int y, int nx, int ny); | 152 | extern void lcd_fillrect(int x, int y, int width, int height); |
141 | extern void lcd_invertrect(int x, int y, int nx, int ny); | ||
142 | extern void lcd_bitmap(const unsigned char *src, int x, int y, int nx, int ny, | 153 | extern void lcd_bitmap(const unsigned char *src, int x, int y, int nx, int ny, |
143 | bool clear); | 154 | bool clear); |
144 | extern void lcd_putsxy(int x, int y, const unsigned char *string); | 155 | extern void lcd_putsxy(int x, int y, const unsigned char *string); |
156 | |||
145 | extern void lcd_invertscroll(int x, int y); | 157 | extern void lcd_invertscroll(int x, int y); |
146 | extern void lcd_bidir_scroll(int threshold); | 158 | extern void lcd_bidir_scroll(int threshold); |
147 | extern void lcd_scroll_step(int pixels); | 159 | extern void lcd_scroll_step(int pixels); |