#include #include #include #include /* function prototypes */ int huge detectEGA(void); void checkerrors(void); int main(void) { int gdriver, gmode; /* install a user written device driver */ gdriver = installuserdriver("EGA", detectEGA); /* must force use of detection routine */ gdriver = DETECT; /* check for any installation errors */ checkerrors(); /* initialize graphics and local variables */ initgraph(&gdriver, &gmode, ""); /* check for any initialization errors */ checkerrors(); /* draw a line */ line(0, 0, getmaxx(), getmaxy()); /* clean up */ getch(); closegraph(); return 0; } /* detects EGA or VGA cards */ int huge detectEGA(void) { int driver, mode, sugmode = 0; detectgraph(&driver, &mode); if ((driver == EGA) || (driver == VGA)) /* return suggested video mode number */ return sugmode; else /* return an error code */ return grError; } /* check for and report any graphics errors */ void checkerrors(void) { int errorcode; /* read result of last graphics operation */ errorcode = graphresult(); if (errorcode != grOk) { printf("Graphics error: %s\n", grapherrormsg(errorcode)); printf("Press any key to halt:"); getch(); exit(1); } }