[U-Boot] [PATCH V2 09/12] lcd: introduce getters for bg/fg color
Nikita Kiryanov
nikita at compulab.co.il
Sun Nov 30 13:29:42 CET 2014
Introduce lcd_getbgcolor() and lcd_getfgcolor(), and use them where
applicable.
This is a preparatory step for extracting lcd console code into its own
file.
Signed-off-by: Nikita Kiryanov <nikita at compulab.co.il>
c: Anatolij Gustschin <agust at denx.de>
Cc: Simon Glass <sjg at chromium.org>
---
Changes in V2:
- New patch.
common/lcd.c | 20 +++++++++++++++-----
include/lcd.h | 14 ++++++++++++++
2 files changed, 29 insertions(+), 5 deletions(-)
diff --git a/common/lcd.c b/common/lcd.c
index f98aaaf..a75c616 100644
--- a/common/lcd.c
+++ b/common/lcd.c
@@ -186,7 +186,7 @@ static void console_scrollup(void)
/* Clear the last rows */
#if (LCD_BPP != LCD_COLOR32)
memset(lcd_console_address + CONSOLE_SIZE - CONSOLE_ROW_SIZE * rows,
- lcd_color_bg,
+ lcd_getbgcolor(),
CONSOLE_ROW_SIZE * rows);
#else
u32 *ppix = lcd_console_address +
@@ -195,7 +195,7 @@ static void console_scrollup(void)
for (i = 0;
i < (CONSOLE_ROW_SIZE * rows) / NBYTES(panel_info.vl_bpix);
i++) {
- *ppix++ = lcd_color_bg;
+ *ppix++ = lcd_getbgcolor();
}
#endif
lcd_sync();
@@ -342,7 +342,7 @@ static void lcd_drawchars(ushort x, ushort y, uchar *str, int count)
for (c = 0; c < 8; ++c) {
*d++ = (bits & 0x80) ?
- lcd_color_fg : lcd_color_bg;
+ lcd_getfgcolor() : lcd_getbgcolor();
bits <<= 1;
}
}
@@ -460,7 +460,7 @@ void lcd_clear(void)
/* set framebuffer to background color */
#if (LCD_BPP != LCD_COLOR32)
memset((char *)lcd_base,
- lcd_color_bg,
+ lcd_getbgcolor(),
lcd_line_length * panel_info.vl_row);
#else
u32 *ppix = lcd_base;
@@ -468,7 +468,7 @@ void lcd_clear(void)
for (i = 0;
i < (lcd_line_length * panel_info.vl_row)/NBYTES(panel_info.vl_bpix);
i++) {
- *ppix++ = lcd_color_bg;
+ *ppix++ = lcd_getbgcolor();
}
#endif
#endif
@@ -575,6 +575,11 @@ static void lcd_setfgcolor(int color)
lcd_color_fg = color;
}
+int lcd_getfgcolor(void)
+{
+ return lcd_color_fg;
+}
+
/*----------------------------------------------------------------------*/
static void lcd_setbgcolor(int color)
@@ -582,6 +587,11 @@ static void lcd_setbgcolor(int color)
lcd_color_bg = color;
}
+int lcd_getbgcolor(void)
+{
+ return lcd_color_bg;
+}
+
/************************************************************************/
/* ** Chipset depending Bitmap / Logo stuff... */
/************************************************************************/
diff --git a/include/lcd.h b/include/lcd.h
index 01609ac..2235b9b 100644
--- a/include/lcd.h
+++ b/include/lcd.h
@@ -291,6 +291,20 @@ int lcd_get_screen_rows(void);
int lcd_get_screen_columns(void);
/**
+ * Get the background color of the LCD
+ *
+ * @return background color value
+ */
+int lcd_getbgcolor(void);
+
+/**
+ * Get the foreground color of the LCD
+ *
+ * @return foreground color value
+ */
+int lcd_getfgcolor(void);
+
+/**
* Set the position of the text cursor
*
* @param col Column to place cursor (0 = left side)
--
1.9.1
More information about the U-Boot
mailing list