Функция Регистрирует загруженный пользователем или
встроенный код графического драйвера в графичес-
кой системе.
Синтаксис #include
int registerbgidriver(void (*driver)(void));
Файл, содержащий graphics.h
прототип
Описание registerbgidriver позволяет пользователю
загрузить файл драйвера и "зарегистрировать"
драйвер. Когда его расположение в памяти будет
сообщено registerbgidriver, initgraph сможет ис-
пользовать зарегистрированный драйвер. Драйвер,
зарегистрированный пользователем, может быть заг-
ружен с диска в динамическую область памяти, либо
преобразован в .OBJ-файл (с помощью BINOBJ.EXE)
и подключен к .EXE .
Вызов registerbgidriver информирует графическую
систему о том, что драйвер driver был включен во
время компоновки. Эта программа проверяет связан-
ный код для указанного драйвера. Если код пра-
вильный, то она регистрирует код во встроенной
таблице. Связанные драйверы описываются подробно
в файле UTIL.DOC.
Используя имя встроенного драйвера в вызове
registerbgidriver, вы просите компилятор (и ре-
дактор связей (linker)) встроить объектный файл с
общим именем.
Возвращаемое registerbgidriver возвращает отрицательный
значение код графической ошибки, если указанный драй-
вер или шрифт являются неверными. В противном
случае registerbgidriver возвращает номер драйве-
ра.
Если вы регистрируете драйвер загруженный пользо-
вателем, вы обязаны передать результат выполнения
registerbgidriver в initgraph в виде номера драй-
вера, который будет использоваться.
Переносимость Эта функция уникальна для Turbo C++. Она работа-
ет только на компьютерах IBM PC и совместимых с
ними, оснащенных дисплейными адаптерами, поддер-
живающими графический режим.
Смотрите также graphresultinitgrsphinstalluserdriverregisterbgifont
Пример:
#include
#include
#include
#include
int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
/* зарегистрировать драйвер, добавленный в graphics.lib */
errorcode = registerbgidriver(EGAVGA_driver);
if(errorcode < 0) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormsg(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormsg(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
/* нарисовать линию */
line(0,0,getmaxx(),getmaxy());
/* очистка */
getch();
closegraph();
return 0;
}