Borland C++ reference

registerbgidriver

raw OCR

Registers a user-loaded or linked-in graphics driver code with the graphics system.

Defined in header <graphics.h>

Syntax

#include <graphics.h>
int registerbgidriver(void   (*driver)(void));

Portability

DOSUNIXWindowsANSI CC++ only
■

Remarks

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 BINOBJ.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. Linked-in drivers are discussed in detail in UTIL.DOC, included with your distribution disks.

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.

Return value

registerbgidriver returns a negative graphics error code if the specified driver or font is invalid. Otherwise, registerbgidriver returns the driver number.

If you register a user-supplied driver, you must pass the result of registerbgidriver to initgraph as the drive number to be used.

See also

Example

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
   /* request autodetection */
   int gdriver = DETECT, gmode, errorcode;
   /* register a driver that was added into GRAPHICS.LIB  V
   errorcode = registerbgidriver (EGAVGA_driver);

   /* report any registration errors */
   if (errorcode < 0) {
      printf("Graphics error: %s\n", grapherrormsg (errorcode));
      printf("Press any key to halt:");
      getchO ;
      exitdl                 /* 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:");
      getchO ;
      exit(l);               /* terminate with an error code  */

   /* draw a line */
   line(0, 0, getmaxxO,  getmaxyl

   /* clean up */
   getch();
   closegraphO ;
   return 0;

Differences from modern implementations

Nothing recorded yet.

Modern references

These are search links, not yet checked by hand.