1
0
Fork 0
forked from len0rd/rockbox

Horizontal screen scrolling part 3 (by Shachar Liberman)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8414 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Brandon Low 2006-01-22 04:24:26 +00:00
parent bfe740712a
commit d3a03b679f
10 changed files with 191 additions and 197 deletions

View file

@ -917,9 +917,26 @@ void lcd_putsxy(int x, int y, const unsigned char *str)
/*** Line oriented text output ***/
/* put a string at a given char position at a given style and with a given pixel position */
void lcd_puts_style_offset(int x, int y, const unsigned char *str, int style,
int offset)
/* put a string at a given char position */
void lcd_puts(int x, int y, const unsigned char *str)
{
lcd_puts_style_offset(x, y, str, STYLE_DEFAULT, 0);
}
void lcd_puts_style(int x, int y, const unsigned char *str, int style)
{
lcd_puts_style_offset(x, y, str, style, 0);
}
void lcd_puts_offset(int x, int y, const unsigned char *str, int offset)
{
lcd_puts_style_offset(x, y, str, STYLE_DEFAULT, offset);
}
/* put a string at a given char position, style, and pixel position,
* skipping first offset pixel columns */
void lcd_puts_style_offset(int x, int y, const unsigned char *str,
int style, int offset)
{
int xpos,ypos,w,h;
int lastmode = drawmode;
@ -944,23 +961,6 @@ void lcd_puts_style_offset(int x, int y, const unsigned char *str, int style,
drawmode = lastmode;
}
void lcd_puts_style(int x, int y, const unsigned char *str, int style)
{
lcd_puts_style_offset(x, y, str, style, 0);
}
/* put a string at a given char position at a given offset mark */
void lcd_puts_offset(int x, int y, const unsigned char *str, int offset)
{
lcd_puts_style_offset(x, y, str, STYLE_DEFAULT, offset);
}
/* put a string at a given char position */
void lcd_puts(int x, int y, const unsigned char *str)
{
lcd_puts_style_offset(x, y, str, STYLE_DEFAULT, 0);
}
/*** scrolling ***/
/* Reverse the invert setting of the scrolling line (if any) at given char
@ -1002,20 +1002,21 @@ void lcd_bidir_scroll(int percent)
void lcd_puts_scroll(int x, int y, const unsigned char *string)
{
lcd_puts_scroll_style_offset(x, y, string, STYLE_DEFAULT, 0);
lcd_puts_scroll_style(x, y, string, STYLE_DEFAULT);
}
void lcd_puts_scroll_offset(int x, int y, const unsigned char *string, int offset)
{
lcd_puts_scroll_style_offset(x, y, string, STYLE_DEFAULT, offset);
}
void lcd_puts_scroll_style(int x, int y, const unsigned char *string, int style)
{
lcd_puts_scroll_style_offset(x, y, string, style, 0);
}
void lcd_puts_scroll_style_offset(int x, int y, const unsigned char *string,
void lcd_puts_scroll_offset(int x, int y, const unsigned char *string,
int offset)
{
lcd_puts_scroll_style_offset(x, y, string, STYLE_DEFAULT, offset);
}
void lcd_puts_scroll_style_offset(int x, int y, const unsigned char *string,
int style, int offset)
{
struct scrollinfo* s;
@ -1130,7 +1131,8 @@ static void scroll_thread(void)
lcd_fillrect(xpos, ypos, LCD_WIDTH - xpos, pf->height);
drawmode = DRMODE_SOLID;
lcd_putsxyofs(xpos, ypos, s->offset, s->line);
if (s->invert) {
if (s->invert)
{
drawmode = DRMODE_COMPLEMENT;
lcd_fillrect(xpos, ypos, LCD_WIDTH - xpos, pf->height);
}