Графический интерфейс Borland
Написано в | С++ |
---|---|
Платформа | ПРИНАДЛЕЖАЩИЙ |
Тип | библиотека или фреймворк |
Графический интерфейс Borland , также известный как BGI, представлял собой графическую библиотеку, входящую в состав нескольких компиляторов Borland для операционных систем DOS с 1987 года. BGI также использовался для предоставления графики для многих других продуктов Borland, включая электронную таблицу Quattro Pro .
Библиотека загружала графические драйверы ( *.BGI
) и векторные шрифты ( *.CHR
) с диска, чтобы обеспечить независимую от устройства поддержку графики. Программист мог встроить графический драйвер в исполняемый файл, связав графический драйвер как объектный код с помощью утилиты, предоставляемой компилятором ( bgiobj.exe
). Существовали графические драйверы для распространенных графических адаптеров и принтеров того времени, таких как CGA, EGA, VGA, Hercules, AT&T 400, MCGA и 3270 PC . Также существовали драйверы BGI для некоторых типов плоттеров.
Последней IDE Borland C++ для DOS является Borland C++ 3.1 (1992 г.). Последней средой C++, поддерживающей BGI, является Borland C++ 5.02 (1997 г.), которая работает под Windows, но может компилировать программы DOS. BGI был доступен на C/C++ с помощью graphics.lib
/ graphics.h
и в Паскале через graph
единица.
BGI был менее мощным, чем современные графические библиотеки, такие как SDL или OpenGL , поскольку он был разработан для 2D-презентационной графики, а не для 3D-приложений, основанных на событиях. Однако считается, что его проще кодировать. [1] BGI и Turbo C++, хотя и устарели, до сих пор широко используются в образовании в Индии. [2] [3]
Сторонние драйверы BGI
[ редактировать ]Учитывая популярность компиляторов Borland, несколько независимых разработчиков программного обеспечения создали драйверы BGI для нестандартных видеорежимов, современных видеокарт, плоттеров, принтеров и вывода графических файлов. [4]
В 1994 году компания Jordan Hargraphix Software выпустила драйверы SVGA BGI версии 5.5, которые совместимы с некоторым оборудованием SVGA, например ATI или Cirrus Logic, картами а также картами, совместимыми с VESA VBE . Также имеются доработанные драйверы VGA для нестандартных графических режимов, поддерживаемых VGA путем записи непосредственно в его регистры, версии драйверов защищенного режима для Turbo Pascal 7.0 и драйвер мыши (фактически обработчик курсора для неподдерживаемых видеорежимов стандартными драйверами мыши). Эти драйверы были условно-бесплатными , и их покупка позволяла получить исходный код и техническую поддержку; сейчас они больше не поддерживаются, но 19 декабря 2020 года Джордан Харгрейв любезно выложил исходный код под лицензией MIT на GitHub . [5] Основными ошибками являются отсутствие поддержки выравнивания байтов в режимах истинного цвета VESA (поэтому драйвер истинного цвета не подходит для графических карт Nvidia ) и видеопамяти ошибка переключения банка в драйвере мыши (поскольку адресное пространство реального режима составляет 1 мегабайт, но некоторые видеорежимы требуют до 4 мегабайт памяти, она разбита на банки по 64 килобайта).
Наследие
[ редактировать ]BGI-совместимая библиотека под названием Graph
, включен в компилятор Free Pascal Pascal. [6]
Также доступно несколько реализаций BGI для современных операционных систем (см. Внешние ссылки).
Пример
[ редактировать ]Следующая программа, написанная для Borland Turbo C , инициализирует графику и рисует 1000 случайных линий:
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
int i, gd = DETECT, gm;
initgraph(&gd, &gm, "");
setbkcolor(BLACK);
cleardevice();
outtextxy(0, 0, "Drawing 1000 lines...");
for (i = 0; i < 1000; i++) {
setcolor(1 + random(15));
line(random(getmaxx()), random(getmaxy()),
random(getmaxx()), random(getmaxy()));
}
getch();
closegraph();
return 0;
}
См. также
[ редактировать ]- Аллегро
- Расширение графической системы (GSX)
- Система графического ядра (GKS)
- Райлиб
- Научно-техническая SNAP
- УниВБЕ
Ссылки
[ редактировать ]- ^ «Компьютерная графика», Группа ISRD, 2006. ISBN 0070593760
- ^ Индийские инженерные колледжи ужасно подходят к технологиям.
- ^ Почему Turbo C++ до сих пор используется в индийских школах и колледжах?
- ^ Бесплатные драйверы BGI , драйверы Jordan Hargraphix BGI , Knight Software BGI256
- ^ Драйверы SuperVGA BGI для Turbo C/Turbo Pascal/Borland C++
- ^ Ссылка на раздел «График»: Процедуры и функции.
- Руководство пользователя Turbo C++ 3.0. Борланд Интернэшнл, Инк. 1992.
- Справочник по библиотеке Borland C++. Борланд Интернэшнл, Инк. 1992.
- Документация по графическому интерфейсу Borland (BGI)
Внешние ссылки
[ редактировать ]- SDL_bgi — мультиплатформенный порт, написанный на SDL2; он предоставляет несколько расширений.
- Winbgim — это порт BGI для Microsoft Windows; он предоставляет несколько расширений.
- Графическая библиотека GRX содержит подсистему BGI, в основном совместимую с исходным BGI.
- Библиотека OpenBGI — еще один порт для Microsoft Windows.
- libgraph — это реализация BGI для Linux, написанная на SDL1.
- Страница Fileformat.info о chr содержит некоторую информацию о том, как декодировать шрифт Borland CHR.
- FTP-зеркало sunet.se с некоторыми инструментами для шрифтов CHR.