Graphics Library
----------------

YEP, i'm using allegro. It offers cross compatibility and is freeware (actually giftware I think). There is two files located in the src directory. They are main.c and gfxlib.h. These are basically the wrapper for allegro to be used in the BASIC language.

By default, the graphics library acts as QBasic does, that is, when a drawing function gets called, it draws directly to the screen. It is faster then QB, but not as fast as other programs writing to a buffer, then blitting the buffer to the screen in one hit.
I added a couple 'extra' functions which allow this. They are:


-DrawToBuffer
Parse TRUE to this and it'll make all the drawing functions draw to the buffer. Setting it to FALSE will cause the library to go back to the default mode. Draw directly to the screen.

-DrawBufferToScreen
If 'DrawToBuffer' is set the TRUE, all drawing will be done to a buffer, and nothing will be displayed to the screen. Calling this function will blit the buffer to the screen.
I recommend calling this after all the main drawing has been done for the frame for the greatest effiency. I used this in a blurring program and I was amazed at the speed increase. 

If your making a program which draws to the screen a lot, I recommend using the above two functions in your program.

Windows and Linux are not a problem, but djgpp is with regards to executable size. Mainly because djgpp links with the library staticaly and therefore creates one helluva exe file if linked with allegro. DJGPP is a very cut down version of allegro. If you want to get the proper version of allegro, goto  www.talula.demon.co.uk/allegro

Compiling:
----------
To compile under the right compiler/platform, type either:
fixdjgpp
fixmsvc
fixunix

BUT, you'll need to manually copy/rename the lib/dll file yourself

-JasonB