mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 13:12:37 -05:00
lcd: Refactor viewport clipping functions
There's no need to generate separate copies of these functions for main and remote LCDs; we can just pass the viewport directly. Change-Id: I20aa04a58d327b479a942708e161068bd6a3357b
This commit is contained in:
parent
6acc8a81a7
commit
f737e5025d
9 changed files with 47 additions and 51 deletions
|
|
@ -68,7 +68,7 @@ void lcd_hline(int x1, int x2, int y)
|
|||
enum fill_opt fillopt = OPT_NONE;
|
||||
fb_data *dst, *dst_end;
|
||||
|
||||
if (!lcd_clip_viewport_hline(&x1, &x2, &y))
|
||||
if (!clip_viewport_hline(vp, &x1, &x2, &y))
|
||||
return;
|
||||
|
||||
width = x2 - x1 + 1;
|
||||
|
|
@ -128,7 +128,7 @@ void lcd_vline(int x, int y1, int y2)
|
|||
int stride_dst;
|
||||
lcd_fastpixelfunc_type *pfunc = lcd_fastpixelfuncs[vp->drawmode];
|
||||
|
||||
if (!lcd_clip_viewport_vline(&x, &y1, &y2))
|
||||
if (!clip_viewport_vline(vp, &x, &y1, &y2))
|
||||
return;
|
||||
|
||||
dst = FBADDR(x, y1);
|
||||
|
|
@ -152,7 +152,7 @@ void ICODE_ATTR lcd_bitmap_part(const fb_data *src, int src_x, int src_y,
|
|||
fb_data *dst;
|
||||
int stride_dst;
|
||||
|
||||
if (!lcd_clip_viewport_rect(&x, &y, &width, &height, &src_x, &src_y))
|
||||
if (!clip_viewport_rect(vp, &x, &y, &width, &height, &src_x, &src_y))
|
||||
return;
|
||||
|
||||
src += stride * src_y + src_x; /* move starting point */
|
||||
|
|
@ -178,7 +178,7 @@ void ICODE_ATTR lcd_bitmap_transparent_part(const fb_data *src, int src_x,
|
|||
unsigned fg = vp->fg_pattern;
|
||||
int stride_dst = vp->buffer->stride;
|
||||
|
||||
if (!lcd_clip_viewport_rect(&x, &y, &width, &height, &src_x, &src_y))
|
||||
if (!clip_viewport_rect(vp, &x, &y, &width, &height, &src_x, &src_y))
|
||||
return;
|
||||
|
||||
src += stride * src_y + src_x; /* move starting point */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue