
#include <graphics.h> |
#include <stdlib.h> |
#include <stdio.h> |
#include <conio.h> |
/* 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); |
} |
} |



