A Borland Graphics Interface (BGI) foi um conjunto de funções disponibilizadas com as IDEs Turbo Pascal e Turbo C, ambas desenvolvidas pela empresa Borland, nos anos 90, para MS-DOS.
Na época foi considerada um enorme sucesso pois permitia a construção de programas com interface gráfica, mesmo que simples, e suporte a mouse num período em que reinava o tradicional modo texto. Quem lembra do famoso #include <graphics.h>?
Recentemente lembrei-me desta biblioteca e resolvi testá-la no CodeBlocks 17.12. É lógico que, por ser muito antiga, não é mais possível executar essa biblioteca nos sistemas operacionais de hoje pois foram desenvolvidas para um ambiente 16 bits. Pesquisando sobre o assunto, descobri um projeto de 2008 de Michael Main da Universidade do Colorado que desenvolveu uma adaptação da biblioteca para uso em compiladores um pouco mais modernos como o Visual C e o Dev-C++.
Com algumas modificações pontuais é possível utilizar a biblioteca WinBGIm desenvolvida por Michael no CodeBlocks 17.12.
Vejamos os passos necessários:
1) Localize o diretório de instalação do CodeBlocks em seu computador. Na maioria dos casos ele está em C:\Program Files (x86)\CodeBlocks
2) Baixe os headers
graphics.h e
winbgim.h para dentro do diretório include do compilador, possivelmente em \MinGW\include
3) Baixe a biblioteca
libbgi.a para dentro do diretório lib do compilador, possivelmente em \MinGW\lib
4) Com a IDE do CodeBlocks 17.12 aberta, acesse o menu
Settings -
Compiler e na guia
Linker settings clique em
Add. Localize e adicione a biblioteca libbgi.a baixada no passo anterior. No box ao lado onde diz
Other link options inclua os seguintes parâmetros exatamente neste formato:
-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32
A configuração deverá ficar como abaixo:
Depois disso, confirme em OK.
Testando a WinBGIm
Agora crie um novo programa vazio no menu
File - New - Empty File copiando e colando o conteúdo abaixo:
#include <graphics.h>
int main()
{
// Desenha a Janela
initwindow(640, 480);
// Escreve na Tela
outtextxy(0, 0, "Testando a WinBGIm no CodeBlocks 17.12");
// Desenha um Retângulo
rectangle(10, 30, 320, 240);
// Escreve na Tela
outtextxy(10, 350, "Pressione uma tecla para Sair...");
// Pausa
getch();
// Encerra o initwindow
closegraph();
// Encerra main()
return 0;
}
Salve o programa acima com o nome de
bgi.cpp ou outro mas lembre-se de sempre salvar os programas com a extensão .cpp que indica um programa C++. Não é possível rodar a WinBGIm em Ansi C.
Depois de salvo é só mandar compilar. Veja o resultado:
Criamos uma tela em modo gráfico
de 640 x 480 pixels com 2 mensagens e o retângulo desenhado.
Legal não é mesmo?
Agora você pode aprender um pouco mais obtendo a lista das funções da WinBGIm em
http://www.cs.colorado.edu/~main/bgi/doc/
Até a próxima!