From 51223e53957943c8b4c142882d2aa86d8025837d Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Tue, 20 Feb 2007 19:31:34 +0000 Subject: Introduced LCD_FBHEIGHT in addition to the already existing LCD_FBWIDTH to ease framebuffer handling a bit. Added equivalent definitions for the remote LCD. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12419 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/lcd.h | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'firmware/export/lcd.h') diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h index fecf3f5426..c4edc478de 100644 --- a/firmware/export/lcd.h +++ b/firmware/export/lcd.h @@ -237,25 +237,30 @@ static inline unsigned lcd_color_to_native(unsigned color) #define LCD_DEFAULT_BG LCD_WHITE #endif -/* Memory copy of display bitmap */ +/* Frame buffer dimensions */ #if LCD_DEPTH == 1 -extern fb_data lcd_framebuffer[LCD_HEIGHT/8][LCD_WIDTH]; +#if LCD_PIXELFORMAT == HORIZONTAL_PACKING +#define LCD_FBWIDTH ((LCD_WIDTH+7)/8) +#else /* LCD_PIXELFORMAT == VERTICAL_PACKING */ +#define LCD_FBHEIGHT ((LCD_HEIGHT+7)/8) +#endif #elif LCD_DEPTH == 2 #if LCD_PIXELFORMAT == HORIZONTAL_PACKING #define LCD_FBWIDTH ((LCD_WIDTH+3)/4) -extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_FBWIDTH]; -#else -extern fb_data lcd_framebuffer[LCD_HEIGHT/4][LCD_WIDTH]; +#else /* LCD_PIXELFORMAT == VERTICAL_PACKING */ +#define LCD_FBHEIGHT ((LCD_HEIGHT+3)/4) #endif -#elif LCD_DEPTH == 16 -extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH]; -#elif LCD_DEPTH == 18 -extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH]; -#endif - +#endif /* LCD_DEPTH */ +/* Set defaults if not defined different yet. The defaults apply to both + * dimensions for LCD_DEPTH >= 8 */ #ifndef LCD_FBWIDTH #define LCD_FBWIDTH LCD_WIDTH #endif +#ifndef LCD_FBHEIGHT +#define LCD_FBHEIGHT LCD_HEIGHT +#endif +/* The actual framebuffer */ +extern fb_data lcd_framebuffer[LCD_FBHEIGHT][LCD_FBWIDTH]; /** Port-specific functions. Enable in port config file. **/ #ifdef HAVE_LCD_ENABLE -- cgit v1.2.3