home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-08-29 | 30.5 KB | 1,081 lines |
-
- VSA256
- Graphics Library
-
- For C Programmers
-
- Version 1.1
- August 29, 1992
-
-
- Copyright Spyro Gumas, 1992.
- All Rights Reserved
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 1.0 Introduction 3
- 2.0 The Programming Environment 4
- 2.1 Setting Up The VESA Environment 4
- 2.2 Global Graphics Parameters 4
- 3.0 Function Descriptions 5
- 3.1 VESA Configuration Functions 5
- 3.1.1 vsa_set_svga_mode 5
- 3.1.2 vsa_get_svga_mode 6
- 3.1.3 vsa_init 6
- 3.2 Miscellaneous Functions 7
- 3.2.1 vsa_set_display_start 7
- 3.2.2 vsa_get_display_start 7
- 3.3 Attribute Functions 8
- 3.3.1 vsa_set_color 8
- 3.3.2 vsa_set_text_color 8
- 3.4 Color Look Up Table Functions 9
- 3.4.1 vsa_read_color_register 9
- 3.4.2 vsa_write_color_register 9
- 3.4.3 vsa_read_color_block 10
- 3.4.4 vsa_write_color_block 10
- 3.5 Text Functions 11
- 3.5.1 vsa_set_text_cursor 11
- 3.5.2 vsa_set_text_cursor_mode 11
- 3.5.3 vsa_write_char 11
- 3.5.4 vsa_write_string 12
- 3.5.5 vsa_write_string_alt 12
- 3.6 Basic Drawing Functions 12
- 3.6.1 vsa_move_to 12
- 3.6.2 vsa_set_pixel 13
- 3.6.3 vsa_line_to 13
- 3.6.4 vsa_rect_fill 13
- 3.6.5 vsa_rect 13
- 3.6.6 vsa_h_line 14
- 3.6.7 vsa_v_line 14
- 3.7 Specialized Drawing Functions 14
- 3.7.1 vsa_raster_line 14
- 4.0 Nitty Gritties 15
- 4.1 Registration Information 15
- 4.2 Software License 15
- 4.3 Disclaimer 15
- 4.4 Technical Support 16
- 5.0 Coming Attractions 17
- 5.1 Graphics Library Extensions 17
- 6.0 Appendix 18
- 6.1 VSA.H Include File 18
-
-
-
-
-
-
- Page: 2
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 1.0 Introduction
-
- The Video Electronics Standards Association (VESA) has
- developed a set of BIOS extensions which standardize the Super VGA
- (SVGA) graphics environment. The VSA256 Graphics Library provides a C
- programmer with the tools necessary to drive a video adapter running
- with the VESA version 2.0 BIOS extensions. The name "VSA256" reflects
- the fact that this library is primarily aimed at supporting the 256
- color video modes 100h, 101h, 103h, 105h, and 107h defined within the
- VESA standard (See table in section 3.1.1).
- This is a revision to the original shareware version of VSA256
- Graphics Library. The major changes are listed below:
-
- - One library for all memory models
- - Support for Borland C as well as Microsoft C
- - New routine, vsa_set_text_cursor
- - New routine, vsa_set_text_cursor_mode
- - New routine, vsa_write_string_alt
-
- The distribution of the VSA256 Graphics Library consists of the
- 7 files listed below plus the drivers listed in Section 2.1. These
- files are archived in the self extracting file VSA256.EXE. To extract,
- just type VSA256 in the directory that you want the files extracted to.
- When distributing the VSA256 Graphics Library, distribute VSA256.EXE
- instead of the individual files.
-
- VSA_DEMO.C Demonstration program (Source Code).
- VSA_DEMO.EXE Demonstration program (Executable).
- VSA256MS.LIB VSA256 Graphics Library (Microsoft C compatible).
- VSA256BC.LIB VSA256 Graphics Library (Borland C Compatible).
- VSA.H Include file required in your program.
- VSA256.TXT This text document.
- ORDER.TXT A text file order form for upgrades and registration.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 3
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 2.0 The Programming Environment
-
- 2.1 Setting Up The VESA Environment
-
- The VSA256 Graphics Library works with any (any?) IBM PC, XT,
- AT or compatible computer equipped with an SVGA video adapter card
- capable of 256 colors. A math coprocessor chip is not required, however
- if it exists, this library will take advantage of it.
- Before using the VSA256 Graphics Library, the VESA BIOS
- Extensions must be loaded. This is accomplished by executing the
- appropriate driver or adding it to your AUTOEXEC.BAT file. If your
- video adapter card came with a VESA driver, use it. Otherwise use one
- of the drivers provided depending on the video adapter card installed in
- the PC as follows:
-
- APPIAN \APPIAN\APVESA.EXE
- ATI \ATI\VESA.COM
- C&T \C&T\VESA451.COM (or VESA452.COM)
- CIRRUS \CIRRUS\CRUSVESA.COM
- EVEREX \EVEREX\EVRXVESA.COM
- GENOA \GENOA\VESA.COM
- OAK \OAK\37VESA.COM (or67VESA.COM)
- ORCHID \ORCHID\ORCHDVSA.COM
- PARADISE \PARADISE\VESA.EXE
- SIGMA \SIGMA\SIGVESA.COM
- STB \STB\STB-VESA.COM
- TECMAR \TECMAR\VGAVESA.COM
- TRIDENT \TRIDENT\VESA.EXE
- VIDEO7 \VIDEO7\V7VESA.COM
-
- 2.2 Global Graphics Parameters
-
- The file VSA.H is used as an include file during program
- development. This file includes all of the function prototypes and it
- defines the global graphics parameters that describe the specific video
- adapter installed in the PC (See Section 6.1). The global graphics
- parameters are initialized by the vsa_init function and are described
- below:
-
- XResolution: Unsigned, the number of screen pixels across (x
- dimension).
- YResolution: Unsigned, the number of screen pixels high (y
- dimension).
- XCharResolution:Unsigned, the number of screen characters across (x
- dimension).
- YCharResolution:Unsigned, the number of screen characters high (y
- dimension).
- XCharSize: Unsigned char, the character cell width.
- YCharSize: Unsigned char, the character cell height.
- BitsPerPixel: Unsigned char, the number of bits per pixel.
-
- Page: 4
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 3.0 Function Descriptions
-
- This section describes the functions supported in the VSA256
- Graphics Library. To use these functions, link your program with the
- appropriate library listed below depending on the compiler being used.
-
- Borland C++ or Turbo C - VSA256BC.LIB
- Microsoft C or Quick C - VSA256MS.LIB
-
- In the following sections each function is listed along with a
- definition of its inputs and return values. A description is provided
- followed by comments on the compatibility of the function with various
- video modes. Although many functions can drive non-VESA and non-256
- color video modes, predictable operation requires that this software be
- used with the 256 color VESA modes only.
-
- 3.1 VESA Configuration Functions
-
- 3.1.1 vsa_set_svga_mode(video_mode)
-
- Inputs: unsigned video_mode;
-
- Returns: unsigned fail_flag;
-
- Description: This routine sets the video mode. The mode number may
- be any of the standard VESA SVGA mode numbers as defined in the
- tables below. The mode is passed to this routine through the
- 'video_mode' parameter. This routine returns a 'fail_flag' = 0
- if the call was a success (a 1 for failure). It should be noted
- that this routine will also work with standard MDA, CGA, EGA,
- and VGA mode numbers, however the rest of the VSA256 functions
- will not necessarily work.
-
- Comments: Works in all VESA video modes.
- Also works in MDA, CGA, EGA and VGA Modes.
-
- WARNING: Use vsa_init Instead (Section 3.1.3)! If you don't use
- vsa_int, then the rest of the routines won't work because they depend on
- the global parameters initialized by vsa_init;
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 5
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- VESA SVGA VIDEO MODES
-
- GRAPHICS Mode Resolution Colors
- 100h 640x400 256
- 101h 640x480 256
- 102h 800x600 16
- 103h 800x600 256
- 104h 1024x768 16
- 105h 1024x768 256
- 106h 1280x1024 16
- 107h 1280x1024 256
-
- TEXT Mode Columns Rows
- 108h 80 60
- 109h 132 25
- 10Ah 132 43
- 10Bh 132 50
- 10Ch 132 60
-
- 3.1.2 vsa_get_svga_mode(video_mode)
-
- Inputs: unsigned far *video_mode;
-
- Returns: unsigned fail_flag;
-
- Description: This routine gets the current video mode. The mode is
- returned to the calling routine via the 'video_mode' pointer.
- The mode number may be any of the standard VESA SVGA mode
- numbers as defined in Section 3.1.1. This routine returns a
- 'fail_flag' = 0 if the call was a success (a 1 for failure).
-
- Comments: Works in all VESA video modes.
- Also works in MDA, CGA, EGA and VGA Modes.
-
- 3.1.3 vsa_init(video_mode)
-
- Inputs: unsigned video_mode;
-
- Returns: unsigned fail_flag;
-
- Description: This routine sets the video mode and initializes the
- VESA graphics environment. This routine must be called prior
- to the use of any of the routines in Sections 3.4 through 3.7.
- The mode number may be any of the standard VESA SVGA mode
- numbers as defined in Section 3.1.1. If the mode number is not
- a VESA SVGA mode number, this routine will still set the
- desired video mode, however, the VESA graphics environment will
- not be initialized and subsequent calls to drawing routines
- will produce unpredictable results. The mode is passed to this
-
-
- Page: 6
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- routine through the 'video_mode' parameter. This routine
- returns a 'fail_flag' = 0 if the call was a success (a 1 for
- failure).
-
- Comments: Works in all VESA video modes.
- Also works in MDA, CGA, EGA and VGA Modes.
-
- 3.2 Miscellaneous Functions
-
- 3.2.1 vsa_set_display_start(x_strt,y_strt)
-
- Inputs: unsigned x_strt,y_strt;
-
- Returns: unsigned fail_flag;
-
- Description: This routine sets the current start pixel address which
- is mapped to the upper left corner of the display. This
- routine returns a 'fail_flag' = 0 if the call was a success (a
- 1 for failure).
-
- Comments: Works in all VESA video modes.
- Also works in MDA, CGA, EGA and VGA Modes.
-
- 3.2.2 vsa_get_display_start(x_strt,y_strt)
-
- Inputs: unsigned far *x_strt, far *y_strt;
-
- Returns: unsigned fail_flag;
-
- Description: This routine gets the current start pixel address which
- is mapped to the upper left corner of the display. This
- routine returns a 'fail_flag' = 0 if the call was a success (a
- 1 for failure).
-
- Comments: Works in all VESA video modes.
- Also works in MDA, CGA, EGA and VGA Modes.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 7
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 3.3 Attribute Functions
-
- 3.3.1 vsa_set_color(color)
-
- Inputs: unsigned color;
-
- Returns: Nothing
-
- Description: This routine sets the current drawing color which is
- used in drawing pixels, lines, and rectangles. The "color" is
- an 8 bit value from 0 to 255 which is used to index in to the
- Color Look Up Table (see Section 3.4).
-
- Comments: Works only in 256 color VESA video modes.
-
- 3.3.2 vsa_set_text_color(color)
-
- Inputs: unsigned color;
-
- Returns: Nothing
-
- Description: This routine sets the current text color which is used
- in drawing text. The "color" is an 8 bit value from 0 to 255
- which is used to index in to the Color Look Up Table (see
- Section 3.4). In 16 color SVGA modes, the 4 LSBs define text
- color. In 256 color SVGA modes, the 8 bits define text color.
-
- Comments: Works in all VESA video modes.
- Also works in EGA and VGA Modes.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 8
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 3.4 Color Look Up Table Functions
-
- The Color Look Up Table consists of 256 registers and each
- register stores an 18 bit value defining 6 bit levels for each of red,
- green, and blue. The drawing functions index into the Color Look Up
- Table with an 8 bit value (usually set with vsa_set_color) to determine
- the drawing color. With the following functions, the Color Look Up Table
- can be read or modified one register at a time or all at once in a block
- operation.
-
- 3.4.1 vsa_read_color_register(index,redptr,grnptr,bluptr)
-
- Inputs: unsigned index;
- unsigned char far *redptr, far *grnptr, far *bluptr;
-
- Returns: Nothing
-
- Description: This routine reads the value of one of the 256 color
- registers as defined by 'index'. Pointers to the red, green,
- and blue components of the color are returned (6 bits each for
- red, green, and blue).
-
- Comments: Works in all VESA video modes.
- Also works in EGA and VGA Modes.
-
- 3.4.2 vsa_write_color_register(index,red,green,blue)
-
- Inputs: unsigned index;
- unsigned char red,green,blue;
-
- Returns: Nothing
-
- Description: This routine writes the value of one of the 256 color
- registers as defined by 'index'. The calling routine provides
- 'red', 'green', and 'blue' components of the color (6 bits each
- for red, green, and blue).
-
- Comments: Works in all VESA video modes.
- Also works in EGA and VGA Modes.
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 9
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 3.4.3 vsa_read_color_block(start,count,array)
-
- Inputs: unsigned start,count;
- unsigned char far array[];
-
- Returns: Nothing
-
- Description: This routine reads 'count' (Range: 1 to 256)
- consecutive color registers starting at 'start' (Range: 0 to
- 255) within the Color Look Up Table. The 'count' must be less
- than or equal to 256 - 'start'. The values read from the color
- registers are returned from this routine in 'array[]'. Each
- element of 'array[]' is a byte, and the size of 'array[]' is
- equal to three times 'count'. Every three bytes in 'array[]'
- represents the red, green, and blue color values respectively
- for one color register. Each color component (red,green, or
- blue) is a byte value but only ranges from 0 to 63.
-
- Comments: Works in all VESA video modes.
- Also works in EGA and VGA Modes.
-
- 3.4.4 vsa_write_color_block(start,count,array)
-
- Inputs: unsigned start,count;
- unsigned char far array[];
-
- Returns: Nothing
-
- Description: This routine writes 'count' (Range: 1 to 256)
- consecutive color registers starting at 'start' (Range: 0 to
- 255) within the Color Look Up Table. The 'count' must be less
- than or equal to 256 - 'start'. The values loaded into the
- color registers are passed to this routine in 'array[]'. Each
- element of 'array[]' is a byte, and the size of 'array[]' is
- equal to three times 'count'. Every three bytes in 'array[]'
- represents the red, green, and blue color values respectively
- for one color register. Each color component (red,green, or
- blue) is a byte value but only ranges from 0 to 63.
-
- Comments: Works in all VESA video modes.
- Also works in EGA and VGA Modes.
-
-
-
-
-
-
-
-
-
-
- Page: 10
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 3.5 Text Functions
-
- 3.5.1 vsa_set_text_cursor(row,col)
-
- Inputs: unsigned row, col;
-
- Returns: Nothing
-
- Description: This routine sets the current text cursor position to
- 'row, col' in character coordinates (not pixel coordinates).
- The current text cursor position is only used by
- vsa_write_string_alt.
-
- Comments: Works in all VESA video modes.
- Also works in EGA and VGA Modes.
-
- 3.5.2 vsa_set_text_cursor_mode(mode)
-
- Inputs: unsigned mode;
-
- Returns: Nothing
-
- Description: This routine determines the mode of the text cursor
- operation. If 'mode' is '0' (the default after calling
- vsa_init), the text cursor is not updated after a new text
- string is written with vsa_write_string or
- vsa_write_string_alt. If 'mode' is '1', then the text cursor
- is moved to the end of the text string after executing
- vsa_write_string or vsa_write_string_alt.
-
- Comments: Works in all VESA video modes.
- Also works in EGA and VGA Modes.
-
- 3.5.3 vsa_write_char(row,col,alpha)
-
- Inputs: unsigned row,col;
- char alpha;
-
- Returns: Nothing
-
- Description: This routine writes a the single character 'alpha' at
- position (row,col). The character is written with the current
- text color. After execution, the current text cursor position
- remains set to (row, col).
-
- Comments: Works in all VESA video modes.
- Also works in EGA and VGA Modes.
-
-
-
-
- Page: 11
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 3.5.4 vsa_write_string(row,col,color,string)
-
- Inputs: unsigned row,col,color;
- char far string[];
-
- Returns: Nothing
-
- Description: This routine writes a null terminated text string
- 'string' at position (row,col). The text is written with the
- 'color' passed to this routine. After execution, if the text
- cursor mode is '0', the text cursor remains at 'row,col',
- otherwise it is set to the end of the text string just written.
-
- Comments: Works in all VESA video modes.
- Also works in EGA and VGA Modes.
-
- 3.5.5 vsa_write_string_alt(string)
-
- Inputs: char far string[];
-
- Returns: Nothing
-
- Description: This routine writes a null terminated text string
- 'string' at the current text cursor position as determined by
- vsa_set_text_cursor. The text is written with the current text
- color. After execution, if the text cursor mode is '0', the
- current text cursor remains unchanged, otherwise it is set to
- the end of the text string just written.
-
- Comments: Works in all VESA video modes.
- Also works in EGA and VGA Modes.
-
- 3.6 Basic Drawing Functions
-
- 3.6.1 vsa_move_to(x,y)
-
- Inputs: unsigned x,y;
-
- Returns: Nothing
-
- Description: This routine sets the current cursor position to 'x,y'.
- The current cursor position is used by the vsa_line_to,
- vsa_rect_fill, and vsa_rect functions.
-
- Comments: none
-
-
-
-
-
-
- Page: 12
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 3.6.2 vsa_set_pixel(x,y)
-
- Inputs: unsigned x,y;
-
- Returns: Nothing
-
- Description: This routine draws a single pixel at 'x,y' with the
- current drawing color.
-
- Comments: Works in all VESA 256 color video modes.
-
- 3.6.3 vsa_line_to(x,y)
-
- Inputs: unsigned x,y;
-
- Returns: Nothing
-
- Description: This routine draws a line from the current cursor
- position to 'x,y' with the current drawing color. Then the
- current cursor position is moved to 'x,y'.
-
- Comments: Works in all VESA 256 color video modes.
-
- 3.6.4 vsa_rect_fill(x,y)
-
- Inputs: unsigned x,y;
-
- Returns: Nothing
-
- Description: This routine draws a filled rectangle from the current
- cursor position to the rectangles diagonal position 'x,y' with
- the current color.
-
- Comments: Works in all VESA 256 color video modes.
-
- 3.6.5 vsa_rect(x,y)
-
- Inputs: unsigned x,y;
-
- Returns: Nothing
-
- Description: This routine draws a rectangle from the current cursor
- position to the rectangles diagonal position 'x,y' with the
- current color.
-
- Comments: Works in all VESA 256 color video modes.
-
-
-
-
-
- Page: 13
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 3.6.6 vsa_h_line(y,x0,x1)
-
- Inputs: unsigned y,x0,x1;
-
- Returns: Nothing
-
- Description: This routine draws a horizontal line from 'x0,y' to
- 'x1,y'. The line is drawn with the current drawing color. For
- horizontal lines this function is quicker than the vsa_line_to
- function.
-
- Comments: Works in all VESA 256 color video modes.
-
- 3.6.7 vsa_v_line(x,y0,y1)
-
- Inputs: unsigned x,y0,y1;
-
- Returns: Nothing
-
- Description: This routine draws a vertical line from 'x,y0' to
- 'x,y1'. The line is drawn with the current drawing color. For
- vertical lines this function is quicker than the vsa_line_to
- function.
-
- Comments: Works in all VESA 256 color video modes.
-
- 3.7 Specialized Drawing Functions
-
- 3.7.1 vsa_raster_line(x0,x1,y,array)
-
- Inputs: unsigned x0,x1,y;
- unsigned char far array[];
-
- Returns: Nothing
-
- Description: This routine draws a horizontal raster line from 'x0,y'
- to 'x1,y'. The 'array[]' values specify each pixel's color
- value. If x0 <= x1, then 'array[0]' defines the color of the
- first pixel in the line at 'x0,y'. If x1 < x0, then 'array[0]'
- defines the color of the first pixel in the line at 'x1,y'.
-
- Comments: Works in all VESA 256 color video modes.
-
-
-
-
-
-
-
-
-
- Page: 14
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 4.0 Nitty Gritties
-
- 4.1 Registration Information
-
- If you find the VSA256 Graphics Library useful, a registration
- of $20 would be appreciated. If you register, you will receive a
- diskette and manual for the next upgrade of the software (see Section
- 5.0 Coming Attractions).
-
- Please state the version number of the software you are
- presently using. Send check or money order to:
-
- Spyro Gumas
- 1668 Shady Brook Drive
- Fullerton, Ca. 92631
-
- 4.2 Software License
-
- VSA256 Graphics Library, Version 1.0
- Copyright Spyro Gumas, 1992. All Rights Reserved.
-
- You are free to copy and distribute the VSA256 Graphics Library if:
-
- 1) It is used strictly for non-commercial purposes.
- 2) No fee is charged for use, copying or distribution.
- 3) It is not modified in any way.
-
- Clubs and user groups may charge a nominal fee not to exceed
- ($10) for expenses and handling while distributing the VSA256 Graphics
- Library.
-
- Site licenses and commercial licenses for the VSA256 Graphics
- Library are available. Consult the file ORDER.TXT for more information,
- or contact me for more information.
-
- 4.3 Disclaimer
-
- This software is provided "as is". All warranties relating to
- this software are disclaimed, whether expressed or implied, including
- without limitation any implied warranties of merchantability or fitness
- for a particular purpose. Neither the author nor an agent of the author
- will be liable for any special, incidental, consequential, indirect or
- similar damages due to loss of data or any other reason, even if the
- author or an agent of the author has been advised of the possibility of
- such damages. In no event shall the author's or an agent of the
- author's liability for any damages ever exceed the price paid for the
- license to use software, regardless of the form of the claim. The
- person using the software bears all risk as to the quality and
- performance of the software.
-
-
- Page: 15
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 4.4 Technical Support
-
- If you have any questions or comments about the VSA256 Graphics
- Library, please write me at:
-
- Spyro Gumas
- 1668 Shady Brook Drive
- Fullerton, Ca. 92631
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 16
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 5.0 Coming Attractions
-
- Version 2.0 of the VSA256 Graphics Library incorporates new
- functions and drawing speed improvements while preserving compatibility
- with the previous version. With the $20 registration fee, you will
- automatically receive this upgrade. Some of the Version 2.0 new
- functions are:
-
- - vsa_triangle_fill: General purpose triangle fill for n-gon
- drawing, finite element models, etc.
-
- - vsa_triangle_shade: 3D triangle fill using Gouraud shading
- for light modelling effects.
-
- - vsa_antialias_line: Smooth line generation which eliminates
- "the jaggies".
-
- - vsa_circle: Circle drawing.
-
- - vsa_arc: General arc sections.
-
- 5.1 Graphics Library Extensions
-
- The VSA256 Graphics Library (Version 1.1 and higher) is a base
- library which is supported by library extensions for more specialized
- tasks. New extensions will be developed periodically. The current
- extensions are:
-
- TIFF256 Graphics Library Extension 1.0 - This library extension provides
- functions which operate with Tagged Image File Format (TIFF) images.
- With these functions, you can traverse the image file, extract image
- information, and display the images as part of your own program. The
- image types supported include Bilevel, Grayscale, Palette Color and RGB
- True Color. This is shareware software available from the same place
- that you got the VSA256 Graphics Library.
-
- TIFF256 Graphics Library Extension 2.0 - This is the registered version
- of the TIFF256 Graphics Library Extension. In addition to the
- capabilities provided by the version 1.0, version 2.0 lets you modify
- the TIFF images and write them back to TIFF files. Furthermore, any
- image that you generate with VSA256 can be saved as a TIFF file. You
- can get your legal fingers on this with a $20 registration fee, or get
- both VSA256 Ver. 2.0 and TIFF256 Ver 2.0 for the highly discounted price
- of $30. See the ORDER.TXT for ordering information.
-
-
-
-
-
-
-
- Page: 17
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- 6.0 Appendix
-
- 6.1 VSA.H Include File
-
- /*.................................. VSA.H ................. 5-8-92 ........*/
- /* This file declares the VSA256 Graphics Library functions and global */
- /* parameters used throughout the graphics routines. */
- /* */
- /* Copyright Spyro Gumas, 1992. All Rights Reserved. */
- /*..........................................................................*/
-
- /*..........................................................................*/
- /* Function Prototypes */
- /*..........................................................................*/
- unsigned _far _cdecl vsa_set_svga_mode( unsigned );
- unsigned _far _cdecl vsa_get_svga_mode( unsigned _far * );
- unsigned _far _cdecl vsa_set_display_start( unsigned, unsigned );
- unsigned _far _cdecl vsa_get_display_start( unsigned _far *,
- unsigned _far * );
- unsigned _far _cdecl vsa_init( unsigned );
- void _far _cdecl vsa_set_color( unsigned );
- void _far _cdecl vsa_set_text_color( unsigned );
- void _far _cdecl vsa_set_text_cursor_mode( unsigned );
- void _far _cdecl vsa_set_text_cursor( unsigned, unsigned );
- void _far _cdecl vsa_write_char( unsigned, unsigned, char );
- void _far _cdecl vsa_write_string( unsigned, unsigned, unsigned, char _far * );
- void _far _cdecl vsa_write_string_alt( char _far * );
- void _far _cdecl vsa_read_color_register( unsigned, unsigned char _far *,
- unsigned char _far *, unsigned char _far *);
- void _far _cdecl vsa_write_color_register( unsigned, unsigned char,
- unsigned char, unsigned char );
- void _far _cdecl vsa_read_color_block( unsigned, unsigned,
- unsigned char _far * );
- void _far _cdecl vsa_write_color_block( unsigned, unsigned,
- unsigned char _far * );
- void _far _cdecl vsa_move_to( unsigned, unsigned );
- void _far _cdecl vsa_set_pixel( unsigned, unsigned );
- void _far _cdecl vsa_line_to( unsigned, unsigned );
- void _far _cdecl vsa_rect_fill( unsigned, unsigned );
- void _far _cdecl vsa_rect( unsigned, unsigned );
- void _far _cdecl vsa_h_line( unsigned, unsigned, unsigned );
- void _far _cdecl vsa_v_line( unsigned, unsigned, unsigned );
- void _far _cdecl vsa_raster_line( unsigned, unsigned,unsigned,
- unsigned char _far *);
- void _far _cdecl vsa_about( void );
-
-
-
-
-
-
- Page: 18
-
-
- VESA256 Graphics Library for C Programmers August 29, 1992
- Version 1.1
-
- /*..........................................................................*/
- /* Function Prototypes */
- /* The following functions only work in VESA mode 105h (1024 x 768 x 8) */
- /* and should run a little faster, but they should only be used */
- /* experimentally cause they "aint really checked out". */
- /*..........................................................................*/
- void _far _cdecl vsa_line_to_x( unsigned, unsigned );
- void _far _cdecl vsa_rect_fill_x( unsigned, unsigned );
- void _far _cdecl vsa_h_line_x( unsigned, unsigned, unsigned );
- void _far _cdecl vsa_v_line_x( unsigned, unsigned, unsigned );
- void _far _cdecl vsa_raster_line_x( unsigned, unsigned,unsigned,
- unsigned char _far *);
-
- /*..........................................................................*/
- /* External Parameter Declarations */
- /*..........................................................................*/
- unsigned XResolution, YResolution, XCharResolution, YCharResolution;
- unsigned char XCharSize, YCharSize;
- unsigned char BitsPerPixel;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page: 19
-