#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); |
} |
} |