summaryrefslogtreecommitdiff
path: root/firmware/drivers/lcd-24bit.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/lcd-24bit.c')
-rw-r--r--firmware/drivers/lcd-24bit.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/firmware/drivers/lcd-24bit.c b/firmware/drivers/lcd-24bit.c
index be0d3e239c..dbb7e543af 100644
--- a/firmware/drivers/lcd-24bit.c
+++ b/firmware/drivers/lcd-24bit.c
@@ -175,7 +175,7 @@ void lcd_fillrect(int x, int y, int width, int height)
175 fb_data bits; 175 fb_data bits;
176 memset(&bits, 0, sizeof(fb_data)); 176 memset(&bits, 0, sizeof(fb_data));
177 177
178 if (!lcd_clip_viewport_rect(&x, &y, &width, &height, NULL, NULL)) 178 if (!clip_viewport_rect(vp, &x, &y, &width, &height, NULL, NULL))
179 return; 179 return;
180 180
181 /* drawmode and optimisation */ 181 /* drawmode and optimisation */
@@ -268,7 +268,7 @@ void ICODE_ATTR lcd_mono_bitmap_part(const unsigned char *src, int src_x,
268 int drmode = vp->drawmode; 268 int drmode = vp->drawmode;
269 int row; 269 int row;
270 270
271 if (!lcd_clip_viewport_rect(&x, &y, &width, &height, &src_x, &src_y)) 271 if (!clip_viewport_rect(vp, &x, &y, &width, &height, &src_x, &src_y))
272 return; 272 return;
273 273
274 src += stride * (src_y >> 3) + src_x; /* move starting point */ 274 src += stride * (src_y >> 3) + src_x; /* move starting point */
@@ -450,7 +450,7 @@ static void ICODE_ATTR lcd_alpha_bitmap_part_mix(const fb_data* image,
450 unsigned dmask = 0x00000000; 450 unsigned dmask = 0x00000000;
451 int drmode = vp->drawmode; 451 int drmode = vp->drawmode;
452 452
453 if (!lcd_clip_viewport_rect(&x, &y, &width, &height, &src_x, &src_y)) 453 if (!clip_viewport_rect(vp, &x, &y, &width, &height, &src_x, &src_y))
454 return; 454 return;
455 455
456 /* the following drawmode combinations are possible: 456 /* the following drawmode combinations are possible:
@@ -698,7 +698,7 @@ void lcd_hline(int x1, int x2, int y)
698 fb_data *dst, *dst_end; 698 fb_data *dst, *dst_end;
699 lcd_fastpixelfunc_type *pfunc = lcd_fastpixelfuncs[vp->drawmode]; 699 lcd_fastpixelfunc_type *pfunc = lcd_fastpixelfuncs[vp->drawmode];
700 700
701 if (!lcd_clip_viewport_hline(&x1, &x2, &y)) 701 if (!clip_viewport_hline(vp, &x1, &x2, &y))
702 return; 702 return;
703 703
704 width = x2 - x1 + 1; 704 width = x2 - x1 + 1;
@@ -719,7 +719,7 @@ void lcd_vline(int x, int y1, int y2)
719 fb_data *dst, *dst_end; 719 fb_data *dst, *dst_end;
720 lcd_fastpixelfunc_type *pfunc = lcd_fastpixelfuncs[vp->drawmode]; 720 lcd_fastpixelfunc_type *pfunc = lcd_fastpixelfuncs[vp->drawmode];
721 721
722 if (!lcd_clip_viewport_vline(&x, &y1, &y2)) 722 if (!clip_viewport_vline(vp, &x, &y1, &y2))
723 return; 723 return;
724 724
725 dst = FBADDR(x, y1); 725 dst = FBADDR(x, y1);
@@ -738,9 +738,10 @@ void ICODE_ATTR lcd_bitmap_part(const fb_data *src, int src_x, int src_y,
738 int stride, int x, int y, int width, 738 int stride, int x, int y, int width,
739 int height) 739 int height)
740{ 740{
741 struct viewport *vp = lcd_current_viewport;
741 fb_data *dst; 742 fb_data *dst;
742 743
743 if (!lcd_clip_viewport_rect(&x, &y, &width, &height, &src_x, &src_y)) 744 if (!clip_viewport_rect(vp, &x, &y, &width, &height, &src_x, &src_y))
744 return; 745 return;
745 746
746 src += stride * src_y + src_x; /* move starting point */ 747 src += stride * src_y + src_x; /* move starting point */
@@ -764,7 +765,7 @@ void ICODE_ATTR lcd_bitmap_transparent_part(const fb_data *src, int src_x,
764 fb_data *dst; 765 fb_data *dst;
765 fb_data fg, transparent, replacewithfg; 766 fb_data fg, transparent, replacewithfg;
766 767
767 if (!lcd_clip_viewport_rect(&x, &y, &width, &height, &src_x, &src_y)) 768 if (!clip_viewport_rect(vp, &x, &y, &width, &height, &src_x, &src_y))
768 return; 769 return;
769 770
770 src += stride * src_y + src_x; /* move starting point */ 771 src += stride * src_y + src_x; /* move starting point */