X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Flcd_gfx_test.c;h=121555f739ea52440e168029e558ecd69df4a68c;hb=cdf0c088714fe7b9ee7e10b94858d8eff41f7899;hp=50b41c6cde3a0901522799a044650258e66481af;hpb=a08ff2655e6d37b5b9e6e11d78d75b6fdc1b7d0b;p=bertos.git diff --git a/drv/lcd_gfx_test.c b/drv/lcd_gfx_test.c old mode 100755 new mode 100644 index 50b41c6c..121555f7 --- a/drv/lcd_gfx_test.c +++ b/drv/lcd_gfx_test.c @@ -1,8 +1,33 @@ /** * \file * * * \version $Id$ @@ -14,6 +39,12 @@ /*#* *#* $Log$ + *#* Revision 1.3 2006/01/17 23:00:26 bernie + *#* Don't use hardcoded coordinates. + *#* + *#* Revision 1.2 2006/01/17 02:31:57 bernie + *#* Test gfx with the usual pentagons. + *#* *#* Revision 1.1 2006/01/16 03:51:35 bernie *#* Add LCD Qt emulator. *#* @@ -21,14 +52,46 @@ #include #include +#include + +static void magic(struct Bitmap *bitmap, coord_t x, coord_t y) +{ + static const coord_t coords[] = { 120, 34, 90, 90, 30, 90, 0, 34, 60, 0, 90, 90, 0, 34, 120, 34, 30, 90, 60, 0 }; + unsigned int i; + + gfx_moveTo(bitmap, coords[countof(coords)-2]/2 + x, coords[countof(coords)-1]/3 + y); + for (i = 0; i < countof(coords); i += 2) + gfx_lineTo(bitmap, coords[i]/2 + x, coords[i+1]/3 + y); +} int main(int argc, char *argv[]) { emul_init(&argc, argv); lcd_init(); + coord_t x = 0, y = LCD_WIDTH / 2; + coord_t xdir = +1, ydir = -1; + Bitmap *bm = &lcd_bitmap; + for(;;) + { + gfx_bitmapClear(bm); + gfx_setClipRect(bm, 0, 0, bm->width, bm->height); + gfx_rectDraw(bm, 10, 10, bm->width-10, bm->height-10); + gfx_setClipRect(bm, 11, 11, bm->width-11, bm->height-11); + magic(bm, x, y); + + x += xdir; + y += ydir; + if (x >= bm->width) xdir = -1; + if (x <= -50) xdir = +1; + if (y >= bm->height) ydir = -1; + if (y <= -50) ydir = +1; + + lcd_blit_bitmap(bm); emul_idle(); + usleep(10000); + } emul_cleanup(); return 0;