summaryrefslogtreecommitdiffstats
path: root/firmware/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/lcd-bitmap-common.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/firmware/drivers/lcd-bitmap-common.c b/firmware/drivers/lcd-bitmap-common.c
index 2ce11e3398..d242096138 100644
--- a/firmware/drivers/lcd-bitmap-common.c
+++ b/firmware/drivers/lcd-bitmap-common.c
@@ -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)
{