summaryrefslogtreecommitdiff
path: root/apps/gui/buttonbar.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2010-10-10 23:15:05 +0000
committerThomas Martitz <kugel@rockbox.org>2010-10-10 23:15:05 +0000
commit8a0152bd4ae638c1fe4917b855fcb9fc6a15202c (patch)
tree7a3a81bf30d49a3c072d89485f79207bc7d2c29e /apps/gui/buttonbar.c
parent752c91b50dcf36e4476cf89cceb6493e2fd4c586 (diff)
downloadrockbox-8a0152bd4ae638c1fe4917b855fcb9fc6a15202c.tar.gz
rockbox-8a0152bd4ae638c1fe4917b855fcb9fc6a15202c.zip
Two new lcd/multi screen api convinience functions: draw_viewport(), fill_viewport().
They work as the drawrect/fillrect pendants but work on a viewport basis; pass NULL to draw the current viewport (the one set with set_viewport()). In conjunction with action_get_touchscreen_press_in_vp() it should be less of a pain to draw buttons and get presses on them. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28239 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/buttonbar.c')
-rw-r--r--apps/gui/buttonbar.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/apps/gui/buttonbar.c b/apps/gui/buttonbar.c
index 84d49464c0..db94362352 100644
--- a/apps/gui/buttonbar.c
+++ b/apps/gui/buttonbar.c
@@ -66,16 +66,17 @@ static void gui_buttonbar_draw_button(struct gui_buttonbar * buttonbar, int num)
66 struct viewport vp = bb_vp[display->screen_type]; 66 struct viewport vp = bb_vp[display->screen_type];
67 67
68 button_width = display->lcdwidth/BUTTONBAR_MAX_BUTTONS; 68 button_width = display->lcdwidth/BUTTONBAR_MAX_BUTTONS;
69 vp.width = button_width; 69 vp.width = button_width-1;
70 vp.x = button_width * num; 70 vp.x = button_width * num;
71 display->set_viewport(&vp); 71 display->set_viewport(&vp);
72 display->fillrect(0, 0, button_width - 1, vp.height); 72 display->fill_viewport(NULL);
73 if(buttonbar->caption[num][0] != 0) 73 if(buttonbar->caption[num][0] != 0)
74 { 74 {
75 display->getstringsize(buttonbar->caption[num], &fw, &fh); 75 display->getstringsize(buttonbar->caption[num], &fw, &fh);
76 display->putsxy((button_width - fw)/2, 76 display->putsxy((button_width - fw)/2,
77 (vp.height-fh)/2, buttonbar->caption[num]); 77 (vp.height-fh)/2, buttonbar->caption[num]);
78 } 78 }
79 display->set_viewport(NULL);
79} 80}
80 81
81void gui_buttonbar_set(struct gui_buttonbar * buttonbar, 82void gui_buttonbar_set(struct gui_buttonbar * buttonbar,