La Interfaz gráfica de Borland , también conocido como BGI, es una biblioteca de gráficos liado con varios Borland compiladores para los DOS sistemas operativos desde 1987. BGI también se utilizó para proporcionar gráficos para muchos otros productos de Borland, incluyendo el Pro Quattro hoja de cálculo. La biblioteca cargó controladores gráficos ( *.BGI
) y fuentes vectoriales ( *.CHR
) desde el disco para proporcionar soporte gráfico independiente del dispositivo. El programador podía incrustar el controlador gráfico en el archivo ejecutable vinculando el controlador gráfico como código objeto con la ayuda de una utilidad proporcionada por el compilador ( bgiobj.exe
). Había controladores gráficos para adaptadores gráficos e impresoras comunes de esa época, como CGA ,EGA y VGA . También había controladores BGI para algunos tipos de trazadores.
Escrito en | C ++ |
---|---|
Plataforma | DOS |
Tipo | biblioteca o marco |
El último IDE C ++ de Borland para DOS es Borland C ++ 3.1 (1992). El último entorno C ++ que admite BGI es Borland C ++ 5.02 (1997), que funciona bajo Windows pero puede compilar programas DOS. BGI era accesible en C / C ++ con graphics.lib
/ graphics.h
, y en Pascal a través de la graph
unidad.
BGI es menos potente que las bibliotecas de gráficos modernas como SDL u OpenGL , ya que fue diseñado para gráficos de presentación en lugar de aplicaciones 3D basadas en eventos. Sin embargo, se ha considerado más sencillo de codificar. [1] BGI y Turbo C ++, aunque obsoletos, todavía se utilizan ampliamente en la educación en la India. [2] [3]
Controladores BGI de terceros
Dada la popularidad de los compiladores de Borland, algunos desarrolladores de software independientes produjeron controladores BGI para modos de video no estándar, tarjetas de video avanzadas, trazadores, impresoras y salida de archivos gráficos. [4]
En 1994, Jordan Hargraphix Software lanzó la versión 5.5 de los controladores SVGA BGI que son compatibles con algún hardware SVGA como las tarjetas ATI o Cirrus Logic y las tarjetas compatibles con VESA VBE . También hay controladores VGA ajustados para modos gráficos no estándar admitidos por VGA escribiendo directamente en sus registros, versiones de controlador de modo protegido para Turbo Pascal 7.0 y controlador de mouse (en realidad, controlador de cursor para modos de video no compatibles con controladores de mouse estándar). Estos controladores eran shareware y al comprarlos les permitía recibir su código fuente y soporte técnico; ahora ya no son compatibles, pero el 19 de diciembre de 2020, Jordan Hargrave publicó amablemente el código fuente bajo la licencia MIT en GitHub . [5] Los errores principales son la falta de compatibilidad con bytes de alineación en los modos de color verdadero VESA (por lo que el controlador de color verdadero no es adecuado para las tarjetas gráficas Nvidia ) y el error de conmutación del banco de memoria de video en el controlador del mouse (ya que el espacio de direccionamiento en modo real es de 1 megabyte , pero algunos modos de video requieren hasta 4 megabytes de memoria, se divide en bancos de 64 kilobytes).
Ejemplo
El siguiente programa, escrito para Borland Turbo C , inicializa los gráficos y dibuja 1000 líneas aleatorias:
#include #include int main ( int argc , char * argv []) { int i , gd = DETECT , gm ; initgraph ( & gd , & gm , "" ); setbkcolor ( NEGRO ); cleardevice (); outtextxy ( 0 , 0 , "Dibujando 1000 líneas ..." ); para ( i = 0 ; i < 1000 ; i ++ ) { setcolor ( 1 + random ( 15 )); línea ( aleatorio ( getmaxx ()), aleatorio ( getmaxy ()), aleatorio ( getmaxx ()), aleatorio ( getmaxy ()) ); } getch (); closegraph (); return 0 ; }
Ver también
Referencias
- ^ "Gráficos por computadora", Grupo ISRD, 2006. ISBN 0070593760
- ^ Las universidades de ingeniería indias son terribles a la hora de abordar la tecnología
- ^ ¿Por qué se sigue utilizando Turbo C ++ en las escuelas y universidades de la India?
- ^ Controladores Freeware BGI , controladores Jordan Hargraphix BGI , Knight Software BGI256
- ^ Controladores SuperVGA BGI para Turbo C / Turbo Pascal / Borland C ++
- Guía del usuario de Turbo C ++ 3.0. Borland International, Inc. 1992.
- Referencia de la biblioteca Borland C ++. Borland International, Inc. 1992.
- Documentación de Borland Graphics Interface (BGI)
enlaces externos
- SDL_bgi es un puerto multiplataforma escrito en SDL2; proporciona varias extensiones.
- La biblioteca de gráficos GRX contiene un subsistema BGI, en su mayoría compatible con el BGI original.
- La biblioteca OpenBGI es otro puerto para Microsoft Windows.
- libgraph es una implementación de BGI para Linux escrita en SDL1.
- La página Fileformat.info sobre chr contiene información sobre cómo decodificar la fuente Borland CHR.
- sunet.se ftp mirror con algunas herramientas de fuentes CHR.
- Winbgim es un puerto de BGI para Microsoft Windows; proporciona varias extensiones.