home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!mcsun!sunic!dkuug!diku!frandsen
- From: frandsen@diku.dk (Tommy Frandsen)
- Newsgroups: comp.os.linux
- Subject: VGAlib: New version 1.0 uploaded to banjo.concert.net
- Keywords: VGAlib, linux, ftp
- Message-ID: <1992Jul28.133546.20282@odin.diku.dk>
- Date: 28 Jul 92 13:35:46 GMT
- Sender: frandsen@skinfaxe.diku.dk
- Organization: Department of Computer Science, U of Copenhagen
- Lines: 77
-
- Hi!
-
- I have just uploaded version 1.0 of VGAlib, the VGA graphics
- library for linux, to banjo.concert.net in the file
- /pub/Linux/Incoming/vgalib-1.0.tar.Z. As the previous versions
- it has the following features:
- - Support for all standard VGA 16 and 256 color modes
- - Support for non-standard 256 color modes (including mode X)
- - Text mode restoration
- - Handling of console I/O
- The present version adds the following:
- - Flipping between graphics mode and text mode at any time
- - Restores text mode after CTRL-C interrupt
- - Bug fixes and some minor improvements
-
- VGAlib requires the 0.96b kernel (or newer) and must be compiled
- with GCC 2.2.2 (or newer). To compile and install VGAlib just
- type make. This will also build a program to test the library.
-
- VGAlib does it's best to restore the text mode, but it may fail
- with some SVGA cards if you use a text mode with more than 80
- columns. If you are having problems please try to use an 80
- column text mode.
-
- Below is a short description of the functions in the library.
- Look at vgatest.c for examples on how to use these functions:
- - vga_setmode() is used to select the graphics mode or to
- restore the text mode.
- - vga_clear() clears the graphics screen. This is also done
- by vga_setmode().
- - vga_getxdim(), vga_getydim() and vga_getcolors() returns
- the resolution and number of colors for the current mode.
- - vga_getpalette() and vga_getpalvec() returns the contents
- of one or more palette registers, respectively.
- - vga_setpalette() and vga_setpalvec() allows you to modify
- one or more palette registers, respectively.
- - vga_setcolor() determines the color for future calls of
- the drawing functions.
- - vga_drawpixel() and vga_drawline() draws a pixel or a line
- in the current color, respectively.
- - vga_drawscanline() draws one single horisontal line of
- pixels, and has been optimized for the fastest possible
- output. This should allow faster output with programs
- like image viewers.
- - vga_screenoff() and vga_screenon() turns the screen refresh
- off and on. On some VGA's the graphics operations will be
- faster, if the screen is turned off during graphics output.
- - vga_flip() switches between graphics and text mode without
- destroying the screen contents. This makes it possible for
- your application to use both text and graphics output.
- - vga_gecth() waits for a character to be typed an returns
- the ASCII value. If you press ESC (this can be changed with
- vga_setflipchar()), the text mode will be temporarily
- restored until you press another key. This allows you to
- switch to another virtual console and later return to your
- graphics application.
- - vga_setflipchar() changes the character that vga_getch()
- uses for flipping between graphics and text mode.
-
- My main motivation for implementing the graphics/text flipping was
- to make debugging easier. If your program reaches a breakpoint while
- in graphics mode, you can switch to text mode with the gdb command
-
- print vga_flip()
-
- and later restore the graphics screen contents with the same command.
- It is usefull to define an alias:
-
- define flip <RETURN> print vga_flip() <RETURN> end <RETURN>
-
- There has been a lot of interest in the previous versions of VGAlib,
- and I would like to thank everybody who has suggested improvements
- (in particular Alex C. Liu and Ben Cox).
-
- Please send any comments, bug-reports etc to
-
- frandsen@diku.dk (Tommy Frandsen)
-