Функция
Регистрирует встроенный код векторных символов.
Синтаксис
#include <graphics.h>
int registerbgifont(void(*font)(void));
Прототип
graphics.h
Описание
Вызов registerbgifont информирует графическую систему о том, что шрифт font был включен во время компоновки. Эта программа проверяет связанный код для указанного шрифта. Если код правильный, то она регистрирует код во встроенной таблице. Встроенные шрифты описываются подробно в разделе BGIOBJ файла UTIL.DOC.
Используя имя встроенного шрифта в вызове registerbgifont, вы просите компилятор (и редактор связей (linker)) встроить объектный файл с открытым именем.
Если вы регистрируете шрифт загруженный пользователем, вы обязаны передать результат выполнения registerbgifont в initgraph в виде номера шрифта, который будет использоваться.
Возвращаемое значение
Функция registerbgifont возвращает отрицательный код графической ошибки, если указанный шрифт являются неверными. В противном случае registerbgifont возвращает номер зарегистрированного шрифта.
Переносимость
Эта функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows.
Пример
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
int midx,midy;
/* зарегистрировать шрифт, добавленный в graphics.lib */
errorcode = registerbgifont(triplex_font);
if(errorcode < 0) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");
/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
midx = getmaxx()/2;
midy = getmaxy()/2;
/* выбрать шрифт */
settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);
/* вывести текст */
settextjustify(CENTER_TEXT,CENTER_TEXT);
outtextxy(midx,midy, "The TRIPLEX FONT");
/* очистка */
getch();
closegraph();
return 0;
}