summaryrefslogtreecommitdiff
path: root/apps/gui/bitmap/list.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2013-05-06 07:20:40 +0200
committerThomas Martitz <kugel@rockbox.org>2014-03-03 15:14:16 +0100
commit05a67d021c8fbb10b2654f8378b549901dd4c520 (patch)
tree23d0fa787d7373bf2ea08d1678cff47306a1a55d /apps/gui/bitmap/list.c
parent20e114c1a0f086e432f374fe0ecebf014a571448 (diff)
downloadrockbox-05a67d021c8fbb10b2654f8378b549901dd4c520.tar.gz
rockbox-05a67d021c8fbb10b2654f8378b549901dd4c520.zip
Touchscreen: Show a line separator in lists.
This patch adds a configurable line separator between list items, very similar to lists in Android. Additionally, below the list item there is a thicker line. It can be disabled in the settings. Its color can be configured as well. Remote and monochrome displays are explicitly unsupported. If there is desire this can be changed but it doesn't seem useful to me. Change-Id: I005313b0d8f5ecd15864bf20e66ea4e3390d8b7d
Diffstat (limited to 'apps/gui/bitmap/list.c')
-rw-r--r--apps/gui/bitmap/list.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/apps/gui/bitmap/list.c b/apps/gui/bitmap/list.c
index f1def9007d..97eefce9db 100644
--- a/apps/gui/bitmap/list.c
+++ b/apps/gui/bitmap/list.c
@@ -106,6 +106,13 @@ static bool draw_title(struct screen *display, struct gui_synclist *list)
106 line.height = list->line_height[screen]; 106 line.height = list->line_height[screen];
107 title_text_vp->height = line.height; 107 title_text_vp->height = line.height;
108 108
109#if LCD_DEPTH > 1
110 /* XXX: Do we want to support the separator on remote displays? */
111 if (display->screen_type == SCREEN_MAIN && global_settings.list_separator_height != 0)
112 line.separator_height = abs(global_settings.list_separator_height)
113 + (lcd_get_dpi() > 200 ? 2 : 1);
114#endif
115
109#ifdef HAVE_LCD_COLOR 116#ifdef HAVE_LCD_COLOR
110 if (list->title_color >= 0) 117 if (list->title_color >= 0)
111 line.style |= (STYLE_COLORED|list->title_color); 118 line.style |= (STYLE_COLORED|list->title_color);
@@ -154,7 +161,11 @@ void list_draw(struct screen *display, struct gui_synclist *list)
154 161
155 linedes.height = list->line_height[screen]; 162 linedes.height = list->line_height[screen];
156 linedes.nlines = list->selected_size; 163 linedes.nlines = list->selected_size;
157 164#if LCD_DEPTH > 1
165 /* XXX: Do we want to support the separator on remote displays? */
166 if (display->screen_type == SCREEN_MAIN)
167 linedes.separator_height = abs(global_settings.list_separator_height);
168#endif
158 start = list_start_item; 169 start = list_start_item;
159 end = start + nb_lines; 170 end = start + nb_lines;
160 171