- •Содержание
- •Imagesize
- •Initgraph
- •Installuserdriver
- •Installuserfont
- •Cleardevice
- •Closegraph
- •Detectgraph
- •Drawpoly
- •Ellipse
- •Fillellipse
- •Fillpoly
- •Floodfill
- •Getarccoords
- •Getaspectratio
- •Getbkcolor
- •Getcolor
- •Getdefaultpalette
- •Getdrivername
- •Getfillpattern
- •Getfillsettings
- •Getgraphmode
- •Getimage
- •Getlinesettings
- •Getmaxcolor
- •Getmaxmode
- •Getmaxx
- •Getmaxy
- •Getmodename
- •Getmoderange
- •Getpallete
- •Getpalettesize
- •Getpixel
- •Gettextsettings
- •Getviewsettings
- •Graphdefaults
- •Grapherrormsg
- •_Graphfreemem
- •_Graphgetmem
- •Graphresult
- •Imagesize
- •Initgraph
- •Installuserdriver
- •Installuserfont
- •Linerel
- •Moverel
- •Outtext
- •Outtextxy
- •Pieslice
- •Putimage
- •Putpixel
- •Rectangle
- •Registerbgidriver
- •Restorecrtmode
- •Setactivepage
- •Setallpalette
- •Setaspectratio
- •Setbkcolor
- •Setcolor
- •Setfillpattern
- •Setfillstyle
- •Setgraphbufsize
- •Setgraphmode
- •Setlinestyle
- •Setpalette
- •Setrgbpalette
- •Settextjustify
- •Settextstyle
- •Setusercharsize
- •Setviewport
- •Setvisualpage
- •Setwritemode
- •Textheight
- •Textwidht
Installuserdriver
-----------------------------------------------------------------
Назначение:Установка нового драйвера устройства.
Синтаксис: #include<graphics.h>
int far installuserdriver( char far *name,
int huge (*detect)(void));
Замечания: installuserdriver позволяет вам добавить новый
драйвер устройства во внутреннюю таблицу BGI.
Параметр nameопределяет имя файла (.BGI), со-
держащего новый драйвер, а параметр detectука-
зывает на необязательную функцию автоопределе-
ния драйвера (функция автоопределения не имеет
параметров и возвращает целое число).
Если вам необходимо использовать новую видео
форму SGA, и организация-разработчик снабдила
вас соответствующим драйвером BGI(SGA.BGI), то
простейший способ использования нового драйвера
- это установить его в таблицу с помощью
installuserdriverи затем передать возвращенное
данной функцией значение (назначенный номер
драйвера) непосредственно функции инициализации
графического режима (initgraph).
Другой более общий способ установки нового
драйвера состоит в соединении функции автоопре-
деления, вызываемой initgraph,cфункцией конт-
роля наличия SGA(поставщикSGAдолжен вас
снабдить данной функцией автоопределения). Ког-
да вы устанавливаете драйвер (через вызов
installuserdriver), вам необходимо передать в
качестве параметров адрес данной функции и имя
файла драйвера устройства. После того, как вы
инсталлировали необходимые файл драйвера и
функцию автоопределения, вам достаточно вызвать
initgraphcобычным процессом автоопределения.
Прежде чем initgraphвызовет функцию автоопре-
деления (detectgraph), осуществляется вызов
функции определения SGA. Если функция определе-
ния SGAне найдет соответствующегоSGAустройс-
тва, она вернет значение -11 (grError) и
initgraphпродолжится в общем режиме определе-
ния устройств (который может содержать вызовы
других новых функций автоопределения в том по-
рядке, в котором они были инсталлированы вызо-
вами функции installuserdriver). Если, однако,
функция автоопределения обнаружит SGA, то она
вернет значение номера режима и initgraphзаг-
рузит SGA.BGIи установит устройство в соот-
ветствующий режим рекомендованный функцией ав-
тоопределения, затем вернет управление в вашу
программу.
Одновременно может быть установленно до десяти
драйверов.
Возвращаемоеinstalluserdriverвозвращает номер драйвера,
значениеданное значение используется в качестве пара-
метра функции initgraph.
Переносимость:Данная функция работает только наIBMPCи сов-
местимых моделях при наличии соответствующих
графических адаптеров.
Смотри также: initgraph, registerbgidriver
Пример
#include<stdio.h>
#include<stdlib.h>
#include<graphics.h>
int Driver, Mode;
int huge detectSGA(void)
{
intfound,defaultmode;
/* Определение устройства ....
found = .....
*/
if (!found) return(grError);
/* Определение текущего графического режима....
defoultmode= .......*/
return(defoultmode);
}
main()
{
Driver = installuserdriver("SGA", detectSGA);
if ( gr0k != graphresult() )
{ /* Переполнение таблицы */
printf( "Ошибка инсталлирования"
" драйвера SGA.\n");
exit(1);
}
Driver = DETECT; /* автоопределение */
initgraph( &Driver, &Mode, "");
if ( gr0k != graphresult() ) exit(1);
outtext( " Драйвер установлен");
getchar();
closegraph();
}
-----------------------------------------------------------------