mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
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
This commit is contained in:
parent
752c91b50d
commit
8a0152bd4a
9 changed files with 47 additions and 14 deletions
|
@ -81,6 +81,28 @@ static void lcd_gradient_rect(int x1, int x2, int y, unsigned h,
|
|||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* draws the borders of the viewport, or of current_vp if vp == NULL
|
||||
**/
|
||||
void LCDFN(draw_viewport)(const struct viewport *vp)
|
||||
{
|
||||
if (vp == NULL)
|
||||
LCDFN(drawrect)(0, 0, current_vp->width, current_vp->height);
|
||||
else
|
||||
LCDFN(drawrect)(vp->x, vp->y, vp->width, vp->height);
|
||||
}
|
||||
|
||||
/*
|
||||
* fills the rectangle formed by vp or by current_vp if vp == NULL
|
||||
**/
|
||||
void LCDFN(fill_viewport)(const struct viewport *vp)
|
||||
{
|
||||
if (vp == NULL)
|
||||
LCDFN(fillrect)(0, 0, current_vp->width, current_vp->height);
|
||||
else
|
||||
LCDFN(fillrect)(vp->x, vp->y, vp->width, vp->height);
|
||||
}
|
||||
|
||||
/* put a string at a given pixel position, skipping first ofs pixel columns */
|
||||
static void LCDFN(putsxyofs)(int x, int y, int ofs, const unsigned char *str)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue