stringtranslate.com

Interfaz gráfica de Borland

La interfaz gráfica de Borland , también conocida como BGI, fue una biblioteca de gráficos incluida en varios compiladores de Borland para los sistemas operativos DOS desde 1987. BGI también se utilizó para proporcionar gráficos para muchos otros productos de Borland, incluida la hoja de cálculo Quattro Pro .

La biblioteca cargaba controladores gráficos ( *.BGI) y fuentes vectoriales ( *.CHR) desde el disco para proporcionar compatibilidad con gráficos independientes del dispositivo. El programador podía incorporar el controlador gráfico en el archivo ejecutable al vincularlo 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, VGA, Hercules, AT&T 400, MCGA y 3270 PC. También había controladores BGI para algunos tipos de trazadores.

El último entorno de desarrollo integrado de C++ de Borland para 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 DOS. BGI era accesible en C/C++ con graphics.lib/ graphics.hy en Pascal a través de la graphunidad.

BGI era menos potente que las bibliotecas de gráficos modernas como SDL u OpenGL , ya que estaba diseñado para gráficos de presentación en 2D en lugar de aplicaciones 3D basadas en eventos. Sin embargo, se ha considerado más simple de codificar. [1] BGI y Turbo C++, aunque obsoletos, todavía se usan 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, plotters, 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 algunos hardware SVGA, como las tarjetas ATI o Cirrus Logic y las tarjetas compatibles con VESA VBE . También hay controladores VGA modificados para modos gráficos no estándar compatibles con VGA mediante la escritura directa 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 comprarlos permitía recibir su código fuente y soporte técnico; ahora ya no reciben soporte, pero el 19 de diciembre de 2020, Jordan Hargrave amablemente publicó el código fuente bajo la licencia MIT en GitHub . [5] Los errores principales son la falta de soporte de alineación de bytes en los modos de color verdadero VESA (por lo que el controlador de color verdadero no es adecuado para tarjetas gráficas Nvidia ) y un error de cambio de banco de memoria de video en el controlador del mouse (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 Pascal de Free Pascal . [6] También están disponibles varias implementaciones de BGI para los sistemas operativos actuales (consulte los enlaces externos).

Ejemplo

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

#include <gráficos.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. ^ "Gráficos por computadora", Grupo ISRD, 2006. ISBN  0070593760
  2. ^ Las escuelas de ingeniería indias son terribles a la hora de abordar la tecnología
  3. ^ ¿Por qué todavía se utiliza Turbo C++ en las escuelas y universidades de la India?
  4. ^ Controladores BGI de software gratuito, controladores BGI de Jordan Hargraphix, Knight Software BGI256
  5. ^ Controladores SuperVGA BGI para Turbo C/Turbo Pascal/Borland C++
  6. ^ Referencia para la unidad 'Gráfico': Procedimientos y funciones

Enlaces externos