summaryrefslogtreecommitdiff
path: root/firmware/export/lcd.h
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2007-02-20 19:31:34 +0000
committerJens Arnold <amiconn@rockbox.org>2007-02-20 19:31:34 +0000
commit51223e53957943c8b4c142882d2aa86d8025837d (patch)
tree6348e4c292a2e38f501b6ae3676f76ef26ff21e0 /firmware/export/lcd.h
parent283bfb16f1228f581e8a025bba5e2029daa32278 (diff)
downloadrockbox-51223e53957943c8b4c142882d2aa86d8025837d.tar.gz
rockbox-51223e53957943c8b4c142882d2aa86d8025837d.zip
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
Diffstat (limited to 'firmware/export/lcd.h')
-rw-r--r--firmware/export/lcd.h27
1 files changed, 16 insertions, 11 deletions
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)
237#define LCD_DEFAULT_BG LCD_WHITE 237#define LCD_DEFAULT_BG LCD_WHITE
238#endif 238#endif
239 239
240/* Memory copy of display bitmap */ 240/* Frame buffer dimensions */
241#if LCD_DEPTH == 1 241#if LCD_DEPTH == 1
242extern fb_data lcd_framebuffer[LCD_HEIGHT/8][LCD_WIDTH]; 242#if LCD_PIXELFORMAT == HORIZONTAL_PACKING
243#define LCD_FBWIDTH ((LCD_WIDTH+7)/8)
244#else /* LCD_PIXELFORMAT == VERTICAL_PACKING */
245#define LCD_FBHEIGHT ((LCD_HEIGHT+7)/8)
246#endif
243#elif LCD_DEPTH == 2 247#elif LCD_DEPTH == 2
244#if LCD_PIXELFORMAT == HORIZONTAL_PACKING 248#if LCD_PIXELFORMAT == HORIZONTAL_PACKING
245#define LCD_FBWIDTH ((LCD_WIDTH+3)/4) 249#define LCD_FBWIDTH ((LCD_WIDTH+3)/4)
246extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_FBWIDTH]; 250#else /* LCD_PIXELFORMAT == VERTICAL_PACKING */
247#else 251#define LCD_FBHEIGHT ((LCD_HEIGHT+3)/4)
248extern fb_data lcd_framebuffer[LCD_HEIGHT/4][LCD_WIDTH];
249#endif 252#endif
250#elif LCD_DEPTH == 16 253#endif /* LCD_DEPTH */
251extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH]; 254/* Set defaults if not defined different yet. The defaults apply to both
252#elif LCD_DEPTH == 18 255 * dimensions for LCD_DEPTH >= 8 */
253extern fb_data lcd_framebuffer[LCD_HEIGHT][LCD_WIDTH];
254#endif
255
256#ifndef LCD_FBWIDTH 256#ifndef LCD_FBWIDTH
257#define LCD_FBWIDTH LCD_WIDTH 257#define LCD_FBWIDTH LCD_WIDTH
258#endif 258#endif
259#ifndef LCD_FBHEIGHT
260#define LCD_FBHEIGHT LCD_HEIGHT
261#endif
262/* The actual framebuffer */
263extern fb_data lcd_framebuffer[LCD_FBHEIGHT][LCD_FBWIDTH];
259 264
260/** Port-specific functions. Enable in port config file. **/ 265/** Port-specific functions. Enable in port config file. **/
261#ifdef HAVE_LCD_ENABLE 266#ifdef HAVE_LCD_ENABLE