===== registerbgidriver =====
====Syntax of registerbgidriver ====
#include
int registerbgidriver(void (*driver)(void));
==== Description of registerbgidriver ====
registerbgidriver enables a user to load a driver file and "register" the
driver. Once its memory location has been passed to registerbgidriver,
initgraph uses the registered driver. A user-registered driver can be
loaded from disk onto the heap, or converted to an .OBJ file (using
BGIOBJ.EXE) and linked into the .EXE.
Calling registerbgidriver informs the graphics system that the driver
pointed to by driver was included at link time. This routine checks the
linked-in code for the specified driver; if the code is valid, it
registers the code in internal tables.
By using the name of a linked-in driver in a call to registerbgidriver,
you also tell the compiler (and linker) to link in the object file with
that public name.
==== Example of registerbgidriver ====
/* registerbgidriver example */
#include
#include
#include
#include
int main(void)
{
/* request autodetection */
int gdriver = DETECT, gmode, errorcode;
/* register a driver that was added into GRAPHICS.LIB */
errorcode = registerbgidriver(EGAVGA_driver);
/* report any registration errors */
if (errorcode < 0) {
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* terminate with an error code */
}
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");
/* read result of initialization */
errorcode = graphresult();
if (errorcode != grOk) { /* an error occurred */
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1); /* terminate with an error code */
}
/* draw a line */
line(0, 0, getmaxx(), getmaxy());
/* clean up */
getch();
closegraph();
return 0;
}
==== See also ====
[[graphresult]]
[[initgraph]]
[[installuserdriver]]
[[registerbgifont]]
===== output of registerbgidriver example =====
no output of example at the moment
do not hesitate and add it...