From: cuz Date: Wed, 12 Nov 2003 16:32:25 +0000 (+0000) Subject: Try to be more resolution independent X-Git-Tag: V2.12.0~1151 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f174cda3d006142fdb1b39cf89b108fc2ca01e6a;p=cc65 Try to be more resolution independent git-svn-id: svn://svn.cc65.org/cc65/trunk@2649 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- diff --git a/samples/tgidemo.c b/samples/tgidemo.c index 295d99845..2a603dd1d 100644 --- a/samples/tgidemo.c +++ b/samples/tgidemo.c @@ -56,7 +56,7 @@ static unsigned YRes; /*****************************************************************************/ -/* Code */ +/* Code */ /*****************************************************************************/ @@ -90,15 +90,17 @@ static void DoCircles (void) static const unsigned char Palette[2] = { COLOR_WHITE, COLOR_LIGHTRED }; unsigned char I; unsigned char Color = 1; + unsigned X = XRes / 2; + unsigned Y = YRes / 2; tgi_setpalette (Palette); while (!kbhit ()) { tgi_setcolor (1); - tgi_line (0, 0, 319, 199); - tgi_line (0, 199, 319, 0); + tgi_line (0, 0, XRes-1, YRes-1); + tgi_line (0, YRes-1, XRes-1, 0); tgi_setcolor (Color); for (I = 10; I < 240; I += 10) { - tgi_circle (160, 100, I); + tgi_circle (X, Y, I); } Color ^= 0x01; } @@ -140,18 +142,21 @@ static void DoCheckerboard (void) static void DoDiagram (void) { static const unsigned char Palette[2] = { COLOR_WHITE, COLOR_BLACK }; - unsigned X; + unsigned X, I; tgi_setpalette (Palette); tgi_setcolor (1); - tgi_line (10, 10, 10, 190); - tgi_lineto (310, 190); + tgi_line (10, 10, 10, YRes-10); + tgi_lineto (XRes-10, YRes-10); tgi_line (8, 12, 10, 10); tgi_lineto (12, 12); - tgi_line (308, 188, 310, 190); - tgi_lineto (308, 192); - for (X = 0; X < sizeof (SinusTable); ++X) { - tgi_setpixel (X+10, SinusTable[X]); + tgi_line (XRes-12, YRes-12, XRes-10, YRes-10); + tgi_lineto (XRes-12, YRes-8); + for (I = 0, X = 10; X < XRes-10; ++X) { + tgi_setpixel (X, SinusTable[I]); + if (++I >= sizeof (SinusTable)) { + I = 0; + } } cgetc (); @@ -159,6 +164,7 @@ static void DoDiagram (void) } + static void DoLines (void) { static const unsigned char Palette[2] = { COLOR_WHITE, COLOR_BLACK }; @@ -167,17 +173,19 @@ static void DoLines (void) tgi_setpalette (Palette); tgi_setcolor (1); - for (X = 0; X < 200; X+=10) { - tgi_line(0, 0, 200, X); - tgi_line(0, 0, X, 200); - tgi_line(200, 200, 0, 200-X); - tgi_line(200, 200, 200-X, 0); + for (X = 0; X < YRes; X+=10) { + tgi_line (0, 0, YRes, X); + tgi_line (0, 0, X, YRes); + tgi_line (YRes, YRes, 0, YRes-X); + tgi_line (YRes, YRes, YRes-X, 0); } cgetc (); tgi_clear (); } + + int main (void) { unsigned char Border; @@ -214,3 +222,5 @@ int main (void) printf ("Done\n"); return EXIT_SUCCESS; } + +