forked from len0rd/rockbox
lcd-16bit: move lcd_bitmap and lcd_bitmap_transparent to common code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31131 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
26851eaaa9
commit
6b5dff4c7b
3 changed files with 15 additions and 29 deletions
|
|
@ -910,6 +910,19 @@ static void ICODE_ATTR lcd_alpha_bitmap_part_mix(const fb_data* image,
|
||||||
} while (--row);
|
} while (--row);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Draw a full native bitmap */
|
||||||
|
void lcd_bitmap(const fb_data *src, int x, int y, int width, int height)
|
||||||
|
{
|
||||||
|
lcd_bitmap_part(src, 0, 0, STRIDE(SCREEN_MAIN, width, height), x, y, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Draw a full native bitmap with a transparent color */
|
||||||
|
void lcd_bitmap_transparent(const fb_data *src, int x, int y,
|
||||||
|
int width, int height)
|
||||||
|
{
|
||||||
|
lcd_bitmap_transparent_part(src, 0, 0,
|
||||||
|
STRIDE(SCREEN_MAIN, width, height), x, y, width, height);
|
||||||
|
}
|
||||||
|
|
||||||
/* draw alpha bitmap for anti-alias font */
|
/* draw alpha bitmap for anti-alias font */
|
||||||
void ICODE_ATTR lcd_alpha_bitmap_part(const unsigned char *src, int src_x,
|
void ICODE_ATTR lcd_alpha_bitmap_part(const unsigned char *src, int src_x,
|
||||||
|
|
|
||||||
|
|
@ -369,7 +369,7 @@ void ICODE_ATTR lcd_bitmap_part(const fb_data *src, int src_x, int src_y,
|
||||||
int stride, int x, int y, int width,
|
int stride, int x, int y, int width,
|
||||||
int height)
|
int height)
|
||||||
{
|
{
|
||||||
fb_data *dst, *dst_end;
|
fb_data *dst;
|
||||||
|
|
||||||
/******************** Image in viewport clipping **********************/
|
/******************** Image in viewport clipping **********************/
|
||||||
/* nothing to draw? */
|
/* nothing to draw? */
|
||||||
|
|
@ -427,7 +427,7 @@ void ICODE_ATTR lcd_bitmap_part(const fb_data *src, int src_x, int src_y,
|
||||||
|
|
||||||
src += stride * src_x + src_y; /* move starting point */
|
src += stride * src_x + src_y; /* move starting point */
|
||||||
dst = LCDADDR(x, y);
|
dst = LCDADDR(x, y);
|
||||||
dst_end = dst + width * LCD_HEIGHT;
|
fb_data *dst_end = dst + width * LCD_HEIGHT;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
|
@ -438,12 +438,6 @@ void ICODE_ATTR lcd_bitmap_part(const fb_data *src, int src_x, int src_y,
|
||||||
while (dst < dst_end);
|
while (dst < dst_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw a full native bitmap */
|
|
||||||
void lcd_bitmap(const fb_data *src, int x, int y, int width, int height)
|
|
||||||
{
|
|
||||||
lcd_bitmap_part(src, 0, 0, STRIDE(SCREEN_MAIN, width, height), x, y, width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Draw a partial native bitmap */
|
/* Draw a partial native bitmap */
|
||||||
void ICODE_ATTR lcd_bitmap_transparent_part(const fb_data *src, int src_x,
|
void ICODE_ATTR lcd_bitmap_transparent_part(const fb_data *src, int src_x,
|
||||||
int src_y, int stride, int x,
|
int src_y, int stride, int x,
|
||||||
|
|
@ -524,11 +518,3 @@ void ICODE_ATTR lcd_bitmap_transparent_part(const fb_data *src, int src_x,
|
||||||
}
|
}
|
||||||
while (dst < dst_end);
|
while (dst < dst_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw a full native bitmap with a transparent color */
|
|
||||||
void lcd_bitmap_transparent(const fb_data *src, int x, int y,
|
|
||||||
int width, int height)
|
|
||||||
{
|
|
||||||
lcd_bitmap_transparent_part(src, 0, 0,
|
|
||||||
STRIDE(SCREEN_MAIN, width, height), x, y, width, height);
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -437,12 +437,6 @@ void ICODE_ATTR lcd_bitmap_part(const fb_data *src, int src_x, int src_y,
|
||||||
while (--height > 0);
|
while (--height > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw a full native bitmap */
|
|
||||||
void lcd_bitmap(const fb_data *src, int x, int y, int width, int height)
|
|
||||||
{
|
|
||||||
lcd_bitmap_part(src, 0, 0, width, x, y, width, height);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Draw a partial native bitmap with transparency and foreground colors */
|
/* Draw a partial native bitmap with transparency and foreground colors */
|
||||||
void ICODE_ATTR lcd_bitmap_transparent_part(const fb_data *src, int src_x,
|
void ICODE_ATTR lcd_bitmap_transparent_part(const fb_data *src, int src_x,
|
||||||
int src_y, int stride, int x,
|
int src_y, int stride, int x,
|
||||||
|
|
@ -561,10 +555,3 @@ void ICODE_ATTR lcd_bitmap_transparent_part(const fb_data *src, int src_x,
|
||||||
while (--height > 0);
|
while (--height > 0);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw a full native bitmap with transparent and foreground colors */
|
|
||||||
void lcd_bitmap_transparent(const fb_data *src, int x, int y,
|
|
||||||
int width, int height)
|
|
||||||
{
|
|
||||||
lcd_bitmap_transparent_part(src, 0, 0, width, x, y, width, height);
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue