Articulo de referencia

Interfaz gráfica de Borland

Borland Graphics Interface , también conocida como BGI, es una biblioteca gráfica que venía incluida con varios compiladores de Pascal y C++ para MS-DOS, comercializados por Bor...

Borland Graphics Interface , también conocida como BGI, es una biblioteca gráfica que venía incluida con varios compiladores de Pascal y C++ para MS-DOS, comercializados por Borland . Se lanzó por primera vez con la versión 4 de Turbo Pascal en 1987. BGI también se utilizó para proporcionar gráficos a muchos otros productos de Borland, incluida la hoja de cálculo Quattro Pro . BGI fue diseñada para gráficos de presentación en 2D.

La biblioteca cargaba controladores gráficos ( *.BGI) y fuentes vectoriales ( *.CHR) desde el disco para proporcionar soporte gráfico independiente del dispositivo. El programador podía integrar el controlador gráfico en el archivo ejecutable enlazándolo como código objeto con la ayuda de una utilidad proporcionada por el compilador ( bgiobj.exe). Existían controladores gráficos para adaptadores gráficos e impresoras comunes de la época, como CGA, EGA, VGA, Hercules, AT&T 400, MCGA y 3270 PC . También había controladores BGI para algunos tipos de trazadores.

El último IDE de C++ de Borland para MS-DOS es Borland C++ 3.1 (1992). El último entorno de C++ que admite BGI es Borland C++ 5.02 (1997), que funciona en Windows pero puede compilar programas de DOS. Se podía acceder a BGI en C/C++ con graphics.lib/ graphics.h, y en Pascal a través de la graphunidad.

Controladores BGI de terceros

Dada la popularidad de los compiladores de Borland, algunos desarrolladores de software independientes produjeron controladores BGI para modos de vídeo no estándar, tarjetas de vídeo avanzadas, trazadores, impresoras y salida de archivos gráficos. [ 1 ]

En 1994, Jordan Hargraphix Software lanzó los controladores SVGA BGI versión 5.5, compatibles con algunos componentes de hardware SVGA como las tarjetas ATI o Cirrus Logic y las tarjetas compatibles con VESA VBE . También existen controladores VGA modificados para modos gráficos no estándar compatibles con VGA mediante la escritura directa en sus registros, versiones de controladores de modo protegido para Turbo Pascal 7.0 y un controlador de ratón (en realidad, un gestor de cursor para modos de vídeo no compatibles con los controladores de ratón estándar). Estos controladores eran shareware y su compra permitía recibir el código fuente y soporte técnico; actualmente ya no cuentan con soporte, pero el 19 de diciembre de 2020, Jordan Hargrave publicó amablemente el código fuente bajo la licencia MIT en GitHub . [ 2 ] Los principales errores son la falta de compatibilidad con la alineación de bytes 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 cambio de banco de memoria de video en el controlador del ratón (ya que el espacio de direccionamiento del modo real es de 1 megabyte, pero algunos modos de video requieren hasta 4 megabytes de memoria, se divide en bancos de 64 kilobytes).

Legado

Una biblioteca compatible con BGI, denominada Graph, está incluida en el compilador Free Pascal Pascal. [ 3 ] También existen varias implementaciones de BGI para sistemas operativos actuales (véase Enlaces externos).

Ejemplo

El siguiente programa, escrito para Turbo C , inicializa los gráficos y dibuja 1000 líneas aleatorias:

#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 , "Dibujando 1000 líneas..." ); for ( i = 0 ; i < 1000 ; i ++ ) { setcolor ( 1 + random ( 15 )); line ( random ( getmaxx ()), random ( getmaxy ()), random ( getmaxx ()), random ( getmaxy ())); } getch (); closegraph (); return 0 ; }

Véase también

Referencias

  1. Controladores BGI gratuitos , controladores BGI de Jordan Hargraphix , Knight Software BGI256
  2. Controladores SuperVGA BGI para Turbo C/Turbo Pascal/Borland C++
  3. Referencia para la unidad 'Gráfico': Procedimientos y funciones
  • Guía del usuario de Turbo C++ 3.0. Borland International, Inc. 1992.
  • Referencia de la biblioteca C++ de Borland. Borland International, Inc. 1992.
  • Documentación de la interfaz gráfica de Borland (BGI)
  • SDL_bgi es una adaptación multiplataforma escrita en SDL2; proporciona varias extensiones.
  • Winbgim es una adaptación de BGI para Microsoft Windows; proporciona varias extensiones.
  • La biblioteca gráfica GRX contiene un subsistema BGI, compatible en su mayor parte con el BGI original.
  • La biblioteca OpenBGI es otra adaptación para Microsoft Windows.
  • libgraph es una implementación de BGI para Linux escrita en SDL1.
  • La página de Fileformat.info sobre chr contiene información sobre cómo decodificar la fuente Borland CHR.
  • Espejo FTP de sunet.se con algunas herramientas de fuentes CHR.