diff options
| author | Jens Arnold <amiconn@rockbox.org> | 2005-07-19 09:24:29 +0000 |
|---|---|---|
| committer | Jens Arnold <amiconn@rockbox.org> | 2005-07-19 09:24:29 +0000 |
| commit | 82ea7c3bacd0b5308e7f0b1d8f35a4e3e13e54f7 (patch) | |
| tree | c26486e3dc90d2e49e9407c32c09aa6c5e2b34ec /firmware/export | |
| parent | 144fc69a9f774aa3c0542ee075055bce87f28b14 (diff) | |
| download | rockbox-82ea7c3bacd0b5308e7f0b1d8f35a4e3e13e54f7.zip rockbox-82ea7c3bacd0b5308e7f0b1d8f35a4e3e13e54f7.tar.gz rockbox-82ea7c3bacd0b5308e7f0b1d8f35a4e3e13e54f7.tar.bz2 rockbox-82ea7c3bacd0b5308e7f0b1d8f35a4e3e13e54f7.tar.xz | |
Renamed MAX_LEVEL to LCD_MAX_LEVEL to match the naming scheme. Preparations for colour LCD support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7194 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
| -rw-r--r-- | firmware/export/config-h300.h | 9 | ||||
| -rw-r--r-- | firmware/export/config-iaudiox5.h | 5 | ||||
| -rw-r--r-- | firmware/export/lcd.h | 28 |
3 files changed, 35 insertions, 7 deletions
diff --git a/firmware/export/config-h300.h b/firmware/export/config-h300.h index 1c284b9..be6511c 100644 --- a/firmware/export/config-h300.h +++ b/firmware/export/config-h300.h @@ -1,16 +1,19 @@ +/* For Rolo and boot loader */ +#define MODEL_NUMBER 2 + /* define this if you have recording possibility */ /*#define HAVE_RECORDING 1*/ /* define this if you have a bitmap LCD display */ #define HAVE_LCD_BITMAP 1 -/* For Rolo and boot loader */ -#define MODEL_NUMBER 2 +/* define this if you have a colour LCD */ +#define HAVE_LCD_COLOR 1 /* LCD dimensions */ #define LCD_WIDTH 220 #define LCD_HEIGHT 176 -#define LCD_DEPTH 18 +#define LCD_DEPTH 18 /* 262.144 colours */ /* remote LCD */ #define LCD_REMOTE_WIDTH 128 diff --git a/firmware/export/config-iaudiox5.h b/firmware/export/config-iaudiox5.h index 6894fe2..1a95a52 100644 --- a/firmware/export/config-iaudiox5.h +++ b/firmware/export/config-iaudiox5.h @@ -8,10 +8,13 @@ /* define this if you have a bitmap LCD display */ #define HAVE_LCD_BITMAP 1 +/* define this if you have a colour LCD */ +#define HAVE_LCD_COLOR 1 + /* LCD dimensions */ #define LCD_WIDTH 160 #define LCD_HEIGHT 128 -#define LCD_DEPTH 18 /* 260.000 colors */ +#define LCD_DEPTH 18 /* 262.144 colors */ /* remote LCD */ #define LCD_REMOTE_WIDTH 128 diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h index 6860d8f..30677e4 100644 --- a/firmware/export/lcd.h +++ b/firmware/export/lcd.h @@ -124,13 +124,26 @@ extern void lcd_jump_scroll_delay(int ms); typedef void lcd_pixelfunc_type(int x, int y); typedef void lcd_blockfunc_type(unsigned char *address, unsigned mask, unsigned bits); -#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) +#ifdef HAVE_LCD_BITMAP + +#ifdef HAVE_LCD_COLOR +#define LCD_MAX_RED ((1 << (LCD_DEPTH/3)) - 1) +#define LCD_MAX_GREEN ((1 << (LCD_DEPTH/3)) - 1) +#define LCD_MAX_BLUE ((1 << (LCD_DEPTH/3)) - 1) +struct rgb { + unsigned char red; + unsigned char green; + unsigned char blue; +}; +#else /* monochrome */ +#define LCD_MAX_LEVEL ((1 << LCD_DEPTH) - 1) + +#endif /* Memory copy of display bitmap */ #if LCD_DEPTH == 1 extern unsigned char lcd_framebuffer[LCD_HEIGHT/8][LCD_WIDTH]; #elif LCD_DEPTH == 2 -#define MAX_LEVEL 3 extern unsigned char lcd_framebuffer[LCD_HEIGHT/4][LCD_WIDTH]; #endif @@ -167,11 +180,20 @@ extern void lcd_bidir_scroll(int threshold); extern void lcd_scroll_step(int pixels); #if LCD_DEPTH > 1 +#ifdef HAVE_LCD_COLOR +extern void lcd_set_foreground(struct rgb color); +extern struct rgb lcd_get_foreground(void); +extern void lcd_set_background(struct rgb color); +extern struct rgb lcd_get_background(void); +extern void lcd_set_drawinfo(int mode, struct rgb fg_color, + struct rgb bg_color); +#else /* monochrome */ extern void lcd_set_foreground(int brightness); extern int lcd_get_foreground(void); extern void lcd_set_background(int brightness); extern int lcd_get_background(void); extern void lcd_set_drawinfo(int mode, int fg_brightness, int bg_brightness); +#endif extern void lcd_mono_bitmap_part(const unsigned char *src, int src_x, int src_y, int stride, int x, int y, int width, int height); extern void lcd_mono_bitmap(const unsigned char *src, int x, int y, int width, @@ -181,7 +203,7 @@ extern void lcd_mono_bitmap(const unsigned char *src, int x, int y, int width, #define lcd_mono_bitmap_part lcd_bitmap_part #endif -#endif /* CHARCELLS / BITMAP */ +#endif /* HAVE_LCD_BITMAP */ /* internal usage, but in multiple drivers */ #ifdef HAVE_LCD_BITMAP |