gbdk/gbdk-lib/examples/gb/filltest.c
2015-01-10 16:25:08 +01:00

49 lines
1.1 KiB
C
Executable file

/* Sample Program to demonstrate the drawing functions in GBDK */
/* Jon Fuge jonny@q-continuum.demon.co.uk */
#include <gb/gb.h>
#include <gb/drawing.h>
void main(void)
{
UBYTE a,b,c,d,e;
c=0;
/* Draw many characters on the screen with different fg and bg colours */
for (a=0; a<=15; a++) {
for (b=0; b<=15; b++) {
gotogxy(b,a);
d=a/4;
e=b/4;
if (d==e) {
d=3-e;
}
color(d,e,SOLID);
gprintf("%c",c++);
}
}
/* Draw two circles, a line, and two boxes in different drawing modes */
color(LTGREY,WHITE,SOLID);
circle(140,20,15,M_FILL);
color(BLACK,WHITE,SOLID);
circle(140,20,10,M_NOFILL);
color(DKGREY,WHITE,XOR);
circle(120,40,30,M_FILL);
line(0,0,159,143);
color(BLACK,LTGREY,SOLID);
box(0,130,40,143,M_NOFILL);
box(50,130,90,143,M_FILL);
/* Scroll the screen using the hardest method imaginable :) */
for (c=0; c<=143; c++) {
for (b=0; b<=142; b++) {
for (a=0; a<=159; a++) {
color(getpix(a,b+1),WHITE,SOLID);
plot_point(a,b);
}
color(WHITE,WHITE,SOLID);
}
line(0,143,159,143);
}
}