diff options
author | Thomas Martitz <kugel@rockbox.org> | 2010-10-10 23:15:05 +0000 |
---|---|---|
committer | Thomas Martitz <kugel@rockbox.org> | 2010-10-10 23:15:05 +0000 |
commit | 8a0152bd4ae638c1fe4917b855fcb9fc6a15202c (patch) | |
tree | 7a3a81bf30d49a3c072d89485f79207bc7d2c29e /apps/gui/buttonbar.c | |
parent | 752c91b50dcf36e4476cf89cceb6493e2fd4c586 (diff) | |
download | rockbox-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.c | 5 |
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 | ||
81 | void gui_buttonbar_set(struct gui_buttonbar * buttonbar, | 82 | void gui_buttonbar_set(struct gui_buttonbar * buttonbar, |