1
0
Fork 0
forked from len0rd/rockbox

First part of graphics api rework. Special functions, parameter handling, pixel functions, lines and filled primitives done for black & white core, main display.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6856 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Jens Arnold 2005-06-24 22:33:21 +00:00
parent 0e935bdf01
commit 04daef17a1
41 changed files with 1019 additions and 558 deletions

View file

@ -54,14 +54,16 @@ void scrollbar(int x, int y, int width, int height, int items, int min_shown,
/* draw box */
lcd_drawrect(x, y, width, height);
lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID);
/* clear edge pixels */
lcd_clearpixel(x, y);
lcd_clearpixel((x + width - 1), y);
lcd_clearpixel(x, (y + height - 1));
lcd_clearpixel((x + width - 1), (y + height - 1));
lcd_drawpixel(x, y);
lcd_drawpixel((x + width - 1), y);
lcd_drawpixel(x, (y + height - 1));
lcd_drawpixel((x + width - 1), (y + height - 1));
/* clear pixels in progress bar */
lcd_clearrect(x + 1, y + 1, width - 2, height - 2);
lcd_fillrect(x + 1, y + 1, width - 2, height - 2);
/* min should be min */
if(min_shown < max_shown) {
@ -111,6 +113,8 @@ void scrollbar(int x, int y, int width, int height, int items, int min_shown,
size = 1;
}
lcd_set_drawmode(DRMODE_SOLID);
if(orientation == VERTICAL)
lcd_fillrect(x + 1, y + start + 1, width - 2, size);
else
@ -133,11 +137,13 @@ void checkbox(int x, int y, int width, int height, bool checked)
lcd_drawrect(x, y, width, height);
if (checked){
lcd_drawline(x + 2, y + 2, x + width - 2 - 1 , y + height - 2 - 1);
lcd_drawline(x + 2, y + height - 2 - 1, x + width - 2 - 1, y + 2);
lcd_drawline(x + 2, y + 2, x + width - 2 - 1 , y + height - 2 - 1);
lcd_drawline(x + 2, y + height - 2 - 1, x + width - 2 - 1, y + 2);
} else {
/* be sure to clear box */
lcd_clearrect(x + 1, y + 1, width - 2, height - 2);
/* be sure to clear box */
lcd_set_drawmode(DRMODE_SOLID|DRMODE_INVERSEVID);
lcd_fillrect(x + 1, y + 1, width - 2, height - 2);
lcd_set_drawmode(DRMODE_SOLID);
}
}