Dec 132017
 
Fastgraph Graphics library demo for ver 3.0.

Full Description of File


FGDEMO: Fastgraph demo program. Must-have
for Fastgraph programmers. Includes C
source code for a GUI menu system, and
a grand tour overview of Fastgraph's
powerful features. Also source code for
special effects and animations. Requires
EGA/VGA graphics, mouse optional.


File FGDEMO30.ZIP from The Programmer’s Corner in
Category Miscellaneous Language Source Code
Fastgraph Graphics library demo for ver 3.0.
File Name File Size Zip Size Zip Type
BORLAND.PCX 17350 2190 deflated
DUB.PCX 41126 15896 deflated
FGDEMO.DOC 45138 11987 deflated
FGDEMO.EXE 52135 50208 deflated
FILE_ID.DIZ 282 195 deflated
FONT14.PCX 10091 1725 deflated
INSTALL.BAT 347 154 deflated
MOUNTAIN.PCX 79389 58915 deflated
MOUSE.PCX 44278 13436 deflated
ORDER.FRM 3796 831 deflated
SOURCE.ARJ 34080 33617 deflated
UNARJ.EXE 14605 14176 deflated

Download File FGDEMO30.ZIP Here

Contents of the FGDEMO.DOC file


FGDEMO version 3.0

Ted Gruber Software Voice: (702) 735-1980
PO Box 13408 FAX: (702) 735-4603
Las Vegas, NV 89112 BBS: (702) 796-7134
CIS: 72000,1642

------------------------------------------------------------------------------
FGDEMO: the demo program for Fastgraph v3.0 and Fastgraph/Light v3.0
------------------------------------------------------------------------------

The FGDEMO program illustrates some of the features of the Fastgraph (tm)
graphics library. FGDEMO was written by Diana Gruber, senior programmer at
Ted Gruber Software. You can contact Ted Gruber Software at the address and
phone numbers listed at the bottom of this file.

Fastgraph is a programmer's graphics library, a programming tool useful for
writing games and other graphics-based programs. It is a collection of
routines callable from several high-level languages such as C, Pascal and
BASIC. There is more information about Fastgraph in a later section of this
file.

------------------------------------------------------------------------------
Running FGDEMO
------------------------------------------------------------------------------

You can install FGDEMO on a hard disk or run it from diskette. Just type
FGDEMO at the DOS command prompt. To install FGDEMO on a hard disk, create a
subdirectory and copy all the files from the diskette to the subdirectory.

When you start FGDEMO, you'll see an attractive title screen with a picture of
a mountain and a bird flying past it. After the bird crosses the screen
twice, press any key to get to the main menu screen. From the main menu
screen you may choose options from the point and click vertical menus to view
various Fastgraph features and effects.

------------------------------------------------------------------------------
FGDEMO source code
------------------------------------------------------------------------------

FGDEMO is distributed with full C source code. You may use the FGDEMO source
code in your Fastgraph and FG/Light applications. If you want to recompile
any of the FGDEMO source code, you'll need one of the supported compilers and
either Fastgraph version 3.0 or Fastgraph/Light version 3.0. If you want to
use this code, and you don't have a copy of Fastgraph, please contact Ted
Gruber Software. If you want to "try before you buy", we will gladly send you
an evaluation copy of Fastgraph/Light, the shareware version of Fastgraph, at
no charge.

Because of space constraints, the FGDEMO source code is distributed in an
archived format. To unarchive the source code, copy all FGDEMO files to a
subdirectory on your hard disk, then run the INSTALL.BAT command file. Note
that it's not necessary to unarchive the source code if you just want to run
FGDEMO.

------------------------------------------------------------------------------
Distributing FGDEMO
------------------------------------------------------------------------------

You may freely distribute FGDEMO as long as all the files are distributed
together in their original unaltered state. If you want to zip the files
together for BBS distribution, please use the file name FGDEMO30.ZIP for
version 3.0 of FGDEMO. The following files are included in the FGDEMO
distribution:

FGDEMO Files:

FGDEMO EXE -- the FGDEMO program
FGDEMO DOC -- this file: documentation
ORDER FRM -- Fastgraph order form

FONT14 PCX -- 14 point font file
BORLAND PCX -- art files for various effects
DUB PCX
MOUNTAIN PCX
MOUSE PCX

SOURCE ARJ -- FGDEMO C source code in compressed (archived) format
INSTALL BAT -- installs the FGDEMO source code using UNARJ.EXE
UNARJ EXE -- unarchiving program from Robert K. Jung

FILE_ID DIZ -- for PCBoard bulletin board descriptions

The following files are archived in the SOURCE.ARJ file:

C Source code files:
CHAR C - character display and management functions
COMMON C - initialization, termination, general I/O functions
DISPLAY C - functions on Display submenu
FGDEMO C - function 'main' and screen drawing functions
FILE C - functions on File submenu
FUNDMTLS C - functions on Fundamentals submenu
MENU C - define and manage the horizontal and vertical menus
MISC C - functions on Miscellaneous submenu
VIDEO C - functions on Video submenu

Header files:
DECLARE H - function declarations (included in DEFS.H)
DEFS H - general declarations and definitions (all C files)
BIRDMAPS H - bird animation bitmaps (MISC.C)
FGTITLE H - bitmapped "Fastgraph" letters (MISC.C)
FIGHTER H - bitmapped airplane for keyboard handler (MISC.C)
TNTMAPS H - TNT and "Kablooy" bitmaps for explosion (DISPLAY.C)

Compilation batch files, make files, and project files:
BUILDBC BAT - batch file to compile and link FGDEMO with Borland C++
BUILDMSC BAT - batch file to compile and link FGDEMO with Microsoft C/C++
BUILDPC BAT - batch file to compile and link FGDEMO with Power C
BUILDQC BAT - batch file to compile and link FGDEMO with QuickC
BUILDTC BAT - batch file to compile and link FGDEMO with Turbo C/C++
BUILDZC BAT - batch file to compile and link FGDEMO with Zortech C++
FGDEMO - make file for Microsoft C/C++
FGDEMO MAK - make file for Borland C++
FGDEMOBC PRJ - project file for Borland C++
FGDEMOPC PRJ - project file for Power C
FGDEMOTC PRJ - project file for Turbo C++

------------------------------------------------------------------------------
Compiling and linking FGDEMO
------------------------------------------------------------------------------

You may recompile the FGDEMO source code using Borland C++, Microsoft C/C++,
QuickC, Power C, Turbo C/C++, or Zortech C++. The medium memory model is
recommended (the large model will also work). FGDEMO is too big to use the
small memory model. The remainder of this section will describe the batch
files, make files, and project files included in the FGDEMO distribution to
assist with compilation and linking.


Borland C++

A make file (FGDEMO.MAK) and batch file (BUILDBC.BAT) are provided for
compiling and linking FGDEMO with Borland C++. Type MAKE -fFGDEMO.MAK to use
the make file, or BUILDBC to recompile and link all the FGDEMO code. The make
file and batch file are set up to use the Fastgraph/Light medium model
library. Change the library name from FGLM.LIB to FGM.LIB in the TLINK
command to use Fastgraph instead of FG/Light.

A project file (FGDEMOBC.PRJ) is also provided for the Borland C++ Integrated
Development Environment (IDE). Project files are required within the IDE to
build EXE files that utilize third party libraries such as Fastgraph. Select
the project file from the Project menu in the IDE. Refer to your Borland C++
manuals for more information about project files.


Microsoft C/C++

A make file (FGDEMO) and batch file (BUILDMSC.BAT) are provided for compiling
and linking FGDEMO with Microsoft C/C++. Type MAKE FGDEMO to use the make
file, or BUILDMSC to recompile and link all the FGDEMO code. The make file
and batch file are set up to use the Fastgraph/Light medium model library.
Change the library name from FGLM.LIB to FGM.LIB in the LINK command to use
Fastgraph instead of FG/Light.

If you are using Microsoft C version 6, do not include the /QC option when
compiling FGDEMO with the medium memory model. Microsoft technical support
has confirmed that this version of the compiler has known problems in passing
structures to functions when /QC is specified. We've noticed no such problems
with the large model, however.


Microsoft QuickC

A batch file (BUILDQC.BAT) is provided for compiling and linking FGDEMO with
QuickC. Type BUILDQC to recompile and link all the FGDEMO code. The batch
file is set up to use the Fastgraph/Light medium model library. Change the
library name from FGLM.LIB to FGM.LIB in the LINK command to use Fastgraph
instead of FG/Light.


Power C

A project file (FGDEMOPC.PRJ) and batch file (BUILDPC.BAT) are provided for
compiling and linking FGDEMO with Power C. Type PC FGDEMOPC.PRJ to use the
project file, or BUILDPC to recompile and link all the FGDEMO code. The
project file and batch file are set up to use the Fastgraph/Light medium model
library. Change the library name from FGLM.LIB to FGM.LIB in the PCL command
to use Fastgraph instead of FG/Light.


Turbo C

A batch file (BUILDTC.BAT) is provided for compiling and linking FGDEMO with
Turbo C. Type BUILDTC to recompile and link all the FGDEMO code. The batch
file is set up to use the Fastgraph/Light medium model library. Change the
library name from FGLM.LIB to FGM.LIB in the TLINK command to use Fastgraph
instead of FG/Light.


Turbo C++

A batch file (BUILDTC.BAT) is provided for compiling and linking FGDEMO with
Turbo C++. Type BUILDTC to recompile and link all the FGDEMO code. The batch
file is set up to use the Fastgraph/Light medium model library. Change the
library name from FGLM.LIB to FGM.LIB in the TLINK command to use Fastgraph
instead of FG/Light.

A project file (FGDEMOTC.PRJ) is also provided for the Turbo C++ Integrated
Development Environment (IDE). Project files are required within the IDE to
build EXE files that utilize third party libraries such as Fastgraph. Select
the project file from the Project menu in the IDE. Refer to your Turbo C++
manuals for more information about project files.


Zortech C++

A batch file (BUILDZC.BAT) is provided for compiling and linking FGDEMO with
Zortech C++. Type BUILDZC to recompile and link all the FGDEMO code. The
batch file is set up to use the Fastgraph/Light medium model library. Change
the library name from FGLM.LIB to FGM.LIB in the ZTC command to use Fastgraph
instead of FG/Light.

------------------------------------------------------------------------------
Borland IDE troubleshooting
------------------------------------------------------------------------------

If you have problems compiling and linking FGDEMO within the Borland C++,
Turbo C++, or Turbo C Integrated Development Environment, please check the
following before you call us:

1) Make sure you have a PROJECT FILE that includes the names of all C source
code files comprising FGDEMO, as well as the FGLM.LIB library file name. Some
versions of Turbo C++ require the full path name for library files specified
in a project file. For more information on project files, consult your
Borland manuals.

2) The include files must exist in a path recognized by the IDE. From the
menu, select Options; Directories; Include Directories. Make sure FASTGRAF.H
exists in the path.

3) The library files must exist in a path recognized by the IDE. From the
menu, select Options; Directories; Library Directories. Make sure FGLM.LIB
exists in the path.

4) You must compile and link for the same memory model. From the menu, select
Options; Compiler; Code Generation. Compile for the medium model if linking
with FGLM.LIB.

------------------------------------------------------------------------------
About the FGDEMO menus
------------------------------------------------------------------------------

The menu structure is defined in the file DEFS.H. A typdef MENU is defined
which is a structure containing information about each menu item: the function
called when the menu choice is activated, the descriptive name of the menu
item, the x and y location of the menu item, and pointers to the next and
previous items on the menu. Each menu is defined by an array of these
structures, and is initialized at the top of MENU.C.

There are two types of menus: a horizontal menu, which is the moving bar menu
at the top of the screen, and vertical menus, also known as "pull-down"
menus. When a pull-down menu is visible, a menu function may be activated by
either clicking the mouse on a highlighted menu function, or by pressing
. Arrow keys are used to highlight the next and previous menu item,
and a mouse may also be used.

User input relevant to the menus is accepted in two places: within the
vertical_menu function (to activate a menu choice), or in the main function
(to control the horizontal menu). The horizontal menu is also controlled
within the vertical menu, to the extent that if an arrow key is pressed, the
next or previous pull-down menu becomes active.

The entire screen, including the horizontal menu and the dithered background,
is drawn at the beginning of the program and stored on the hidden page. When
a function is called, for example "point", part or all of the visual page is
overwritten, in this case with a pattern of points. When a key or mouse
button is pressed, the relevant parts of the hidden page are copied back to
the visual page using fg_transfer, resulting in quick (almost instantaneous)
screen redraws. Occasionally, the entire hidden page needs to be completely
redrawn, such as when a PCX file is displayed, but in most cases only a small
part of the hidden page needs to be redrawn, usually with a single call to
fg_drect. In general, the hidden page is assumed to have a "clean" copy of
the horizontal menu screen throughout the program, and whenever it is
overwritten it is immediately restored.

------------------------------------------------------------------------------
Fastgraph
------------------------------------------------------------------------------

Fastgraph is a library of functions callable from multiple languages that
gives you complete control over the DOS-based PC video environment. Fastgraph
lets you initialize the video mode, organize coordinate systems, manage video
pages, manipulate colors and palettes, display graphic primitives, characters,
shapes and images. Over 200 general purpose functions work together to give
you powerful animation capabilities. In addition, input devices including the
keyboard, mouse and joystick are supported as well as some timing and sound
functions. These are the building blocks of great games and graphic
applications.

Fastgraph's major functional areas include:

* Video mode detection and initialization
* Support for 28 video modes, including SuperVGA, standard and extended VGA,
MCGA, EGA, Hercules, Tandy, CGA, and color and monochrome text
* SVGA support for 20 chipsets plus VESA in resolutions of 640x400x256,
640x480x256, 800x600x256, 1024x768x256, 800x600x16, and 1024x768x16
* SVGA chipset autodetection
* Colors, virtual colors, and palettes
* Graphics fundamentals, including points, solid and dashed lines,
polygons, circles, ellipses, solid and dithered rectangles, region
fill, and clipping
* Redefinable world space coordinate system
* A scalable stroked character font
* GIF and PCX display and creation routines
* Bit-mapped image support, including mode-specific and mode-independent
images, transparent pixels, clipped and reversed images, image retrieval,
pixel run maps, and masking maps
* Fast block transfer routines (BitBlt)
* Physical, virtual, and logical video page management
* Resizeable video pages for smooth, flicker-free panning
* Animation and special effects
* Keyboard, mouse, and joystick support
* Low-level keyboard handler, ideal for game development
* Sound effects and music, both synchronous and asynchronous
* Support for most popular C, Pascal, BASIC, and FORTRAN compilers
* Support for small, medium, and large memory models where appropriate
* Extensive tutorial-style user's guide and reference manual
* No royalties

Fastgraph's 700 page manual is actually two books in one. The User's Guide is
a textbook-style overview of graphics programming fundamentals. Video modes
and animation techniques are described in detail. Concepts are illustrated
with dozens of example programs. The Fastgraph Reference Manual is an
alphabetical listing of all the Fastgraph functions. Even a novice programmer
can write great games and graphic-based applications in no time with
Fastgraph.

Fastgraph was written in hand-optimized assembly language for top performance
in terms of speed and code size. We have spent years fine-tuning the
Fastgraph functions so that our games will run faster. Now the tricks and
technology used by the computer gaming industry are at your fingertips.

------------------------------------------------------------------------------
New features in Fastgraph version 3.0
------------------------------------------------------------------------------

16 and 256 color SVGA support. More video modes means more choices and more
interesting games! Check out the 16-color modes for more speed and more video
pages in the higher resolutions.

GIF support. You can display and create GIF files. GIF files display a
little slower than PCX files but are more efficient in terms of disk space.
Fastgraph also supports PCX files and pixel-run (RLE) files.

Keyboard handler. Fastgraph 3.0 includes a new low-level keyboard handler
that replaces the BIOS keyboard handler. Fastgraph's keyboard handler
intercepts keystrokes ahead of the BIOS and thus eliminates the annoying beep
that sounds upon filling the BIOS keyboard buffer. The low-level keyboard
handler is especially well-suited to game development because it increases
keyboard responsiveness in high-speed action games.

Polygons. The filled convex polygon is a fundamental tool of
three-dimensional computer graphics. Fastgraph polygons can be filled or
unfilled, convex or any shape, clipped and drawn in absolute or relative
coordinates.

Much more! Other new features in version 3.0 of Fastgraph include filled
circles and ellipses, clipped flood fills, interchangeable VGA and SVGA ROM
fonts, XOR lines in all graphic modes, bitblts between conventional and video
memory, and transparent and non-transparent bitmaps. More than 40 new
functions have been added to Fastgraph in version 3.0.

------------------------------------------------------------------------------
Fastgraph video mode summary
------------------------------------------------------------------------------

Fastgraph supports the video modes listed below. SVGA support includes most
popular SVGA chipsets plus VESA.

SVGA 640 x 400 256-color
640 x 480 256-color
800 x 600 256-color
1024 x 768 256-color
800 x 600 16-color
1024 x 768 16-color
plus all VGA/EGA/MCGA/CGA modes

VGA 320 x 200 256-color (Mode X)
320 x 240 256-color (Mode X)
320 x 400 256-color (Mode X)
320 x 480 256-color (Mode X)
640 x 480 2-color
640 x 480 16-color
plus all EGA/MCGA/CGA modes

EGA 320 x 200 16-color
640 x 200 16-color
640 x 350 monochrome
640 x 350 16-color
plus all CGA modes

MCGA 320 x 200 256-color
plus all CGA modes

CGA 320 x 200 4-color
640 x 200 2-color

Hercules 320 x 200 dithered monochrome
720 x 348 monochrome

Tandy 320 x 200 16-color
plus all CGA modes

Text 40 x 25 color
Modes 80 x 25 color
80 x 25 monochrome
80 x 43 color (EGA/VGA/SVGA)
80 x 50 color (MCGA/VGA/SVGA)

------------------------------------------------------------------------------
Supported compilers
------------------------------------------------------------------------------

Fastgraph and Fastgraph/Light may be used with the following compilers:

Borland C++ (2.0 or above)
Borland Pascal (7.0 or above)
Microsoft Assembler (5.0 or above)
Microsoft BASIC PDS (7.1 or above)
Microsoft C/C++ (5.0 or above)
Microsoft FORTRAN (4.0 or above)
Power C (2.0 or above)
QuickBASIC (4.0 or above)
QuickC (2.0 or above)
Turbo Assembler (2.0 or above)
Turbo C (2.0 or above)
Turbo C++ (1.0 or above)
Turbo Pascal (6.0 or above)
Visual Basic for DOS (1.0 or above)
Visual C++ (1.0 or above)
Zortech C++ (3.0 or above)

Fastgraph includes libraries for the small, medium, and large memory models
(plus units and quick libraries as needed) for all the supported compilers.
You don't need to purchase separate versions for each.

------------------------------------------------------------------------------
Summary of Fastgraph functions
------------------------------------------------------------------------------

Video initialization
--------------------
fg_automode determine which available video mode offers the highest
resolution and number of colors
fg_bestmode choose the best video mode given resolution and video page
requirements
fg_cursor turn the text mode cursor on or off
fg_egacheck return information about the active EGA or VGA adapter and
display
fg_getlines get the number of text rows per video page
fg_getmode return the current video mode number
fg_reset erase the screen, restoring screen attributes if ANSI.SYS
is loaded
fg_setlines in EGA/VGA/SVGA text modes, establish 25, 43, or 50 line
mode
fg_setmode establish a video mode and initialize Fastgraph
fg_svgainit autodetect the SVGA chipset (or VESA) and initialize
Fastgraph's SVGA kernel
fg_testmode determine whether or not a video mode is available on the
system

Coordinate systems
------------------
fg_getmaxx get the maximum x coordinate in screen space
fg_getmaxy get the maximum y coordinate in screen space
fg_getworld determine the current limits of the world space coordinate
system
fg_initw initialize the world space coordinate system
fg_setworld define the floating point world space coordinate system
fg_xalpha translate screen space x coordinate to character space
column
fg_xconvert translate character space column to screen space x
coordinate
fg_xscreen translate world space x coordinate to screen space x
coordinate
fg_xworld translate screen space x coordinate to world space x
coordinate
fg_yalpha translate screen space y coordinate to character space row
fg_yconvert translate character space row to screen space y coordinate
fg_yscreen translate world space y coordinate to screen space y
coordinate
fg_yworld translate screen space y coordinate to world space y
coordinate

Colors and palettes
-------------------
fg_defcolor assign a color value to a virtual color index
fg_getcolor get the current color index (graphics modes) or display
attributes (text modes)
fg_getdacs get the RGB components of a block of DAC registers
fg_getindex get the color value assigned to a virtual color index
fg_getrgb get the RGB components of a specified DAC register
fg_maprgb map six-bit RGB components to a 16-color palette value
fg_palette assign a color value to a palette
fg_palettes define 16 palette register values
fg_setattr establish display attributes in text modes
fg_setcolor establish the current color index
fg_setdacs specify RGB components of a block of DAC registers
fg_setrgb define the RGB value of a palette or video DAC register

Graphics fundamentals
---------------------
fg_box draw a hollow rectangle
fg_boxdepth specify the outline size of a hollow rectangle
fg_boxw draw a hollow rectangle in world space
fg_boxx draw a hollow rectangle in XOR mode
fg_boxxw draw a hollow rectangle in XOR mode in world space
fg_circle draw a hollow circle
fg_circlef draw a filled circle
fg_circlefw draw a filled circle in world space
fg_circlew draw a hollow circle in world space
fg_clprect draw a clipped rectangle
fg_clprectw draw a clipped rectangle in world space
fg_dash draw a dashed line
fg_dashrel draw a dashed line relative to current position
fg_dashrw draw a relative dashed line in world space
fg_dashw draw a dashed line in world space
fg_draw draw a line
fg_drawrel draw a line relative to the current position
fg_drawrelx draw a relative XOR line
fg_drawrw draw a relative line in world space
fg_drawrxw draw a relative XOR line in world space
fg_draww draw a line in world space
fg_drawx draw an XOR line
fg_drawxw draw an XOR line in world space
fg_drect draw a dithered rectangle
fg_drectw draw a dithered rectangle in world space
fg_ellipse draw an ellipse
fg_ellipsef draw a filled ellipse
fg_ellipsew draw an ellipse in world space
fg_ellipsfw draw a filled ellipse in world space
fg_erase clear the active video page
fg_fillpage fill active video page with current color
fg_flood like fg_paint but observes the clipping limits
fg_floodw like fg_paintw but observes the clipping limits
fg_getpixel get the color value of specified pixel
fg_getxpos get screen space x coordinate of graphics cursor
fg_getypos get the screen space y coordinate of graphics cursor
fg_inside check if a specified point is inside a convex polygon
fg_move position the graphics cursor
fg_moverel position the graphics cursor relative to current position
fg_moverw position the graphics cursor, relative, in world space
fg_movew position the graphics cursor in world space
fg_paint fast flood fill of any closed area, including an area with
holes
fg_paintw world space version of fg_paint
fg_point draw a point
fg_pointw draw a point in world space
fg_pointx draw a point in XOR mode
fg_pointxw draw a point in XOR mode in world space
fg_polyfill draw a filled convex polygon
fg_polygon draw an unfilled polygon
fg_polygonw draw an unfilled polygon in world space
fg_polyline draw an unfilled polygon from one vertex array
fg_polyoff define polygon offsets for fg_polyfill and fg_polyline
fg_rect draw a solid rectangle in screen space or character space
fg_rectw draw a solid rectangle in world space
fg_setclip establish limits of clipping region for primitives and
bit-mapped images
fg_setclipw world space version of fg_setclip

Character display
-----------------
fg_chgattr change display attribute for existing text in text modes
fg_chgtext change text while preserving the display attributes in text
modes
fg_fontsize enable 8x8, 8x14, or 8x16 ROM font (VGA/SVGA only)
fg_getattr get the display attribute of a given character cell in text
modes
fg_getchar get the character value of a given character cell in text
modes
fg_justify define justification settings for fg_print
fg_locate define row and column for character display
fg_print display hardware characters in screen space
fg_setangle define the orientation of software (stroked) characters
fg_setratio define the aspect ratio for software characters
fg_setsize define the height of software characters in screen space
fg_setsizew define the height of software characters in world space
fg_swchar display software (stroked) characters
fg_swlength compute the length of a string of software characters
fg_swtext display software characters
fg_text display hardware (ROM font) characters
fg_where return the text cursor position

Video page management
---------------------
fg_allocate create a virtual page in conventional memory
fg_alloccms create a logical page in conventional memory
fg_allocems create a logical page in expanded memory
fg_allocxms create a logical page in extended memory
fg_freepage release a virtual or logical page
fg_getaddr get the segment address of the active video page
fg_getentry get address and type of a physical, virtual or logical page
fg_getpage get the active video page number
fg_getvpage get the number of the visual video page
fg_initems initialize expanded memory (EMS)
fg_initxms initialize extended memory (XMS)
fg_pagesize return video page size in bytes
fg_resize change the size of a video page (use with fg_pan)
fg_setentry set address and type of a physical, virtual or logical page
fg_setpage establish the active video page
fg_setvpage establish the visual video page

Bitmapped image management
--------------------------
fg_clipmask draw a clipped masking map
fg_clpimage draw a clipped mode-specific bit map
fg_display display a pixel run map
fg_displayp display a packed pixel run map
fg_drawmap draw a mode-independent bit map
fg_drawmask draw a masking map
fg_drwimage draw a lightning-fast mode-specific bit map
fg_flipmask draw an inverted masking map
fg_flpimage draw an inverted mode-specific bit map
fg_getimage retrieve an image as a mode-specific bit map
fg_getmap retrieve an image as a mode-independent bit map
fg_imagesiz calculate the number of bytes required for mode-specific
bit map storage
fg_putimage like fg_drwimage but doesn't check for transparent pixels
fg_revimage display a reversed mode-specific bit map
fg_revmask display a reversed masking map

Image file routines
-------------------
fg_dispfile display a pixel run file, packed or unpacked
fg_imagebuf define the address and size of the image file buffer
fg_makegif create a GIF file from a rectangular region of the active
video page
fg_makepcx create a PCX file from a rectangular region of the active
video page
fg_makeppr create a PPR file from a rectangular region of the active
video page
fg_makespr create an SPR file from a rectangular region of the active
video page
fg_pattern define dither patterns for pixel run maps
fg_pcxhead read a PCX file header into a 128-byte buffer
fg_pcxmode determine the optimal mode for displaying a PCX file
fg_showgif display a GIF file
fg_showpcx display a PCX file
fg_showppr display a packed pixel run (PPR) file
fg_showspr display a standard pixel run (SPR) file (RLE)

Block transfer routines
-----------------------
fg_copypage copy an entire physical, virtual, or logical page
fg_getblock transfer rectangular region from video memory to RAM
fg_gethpage get the number of the current "hidden" video page
fg_putblock transfer rectangular region from RAM to video memory
fg_restore fast rectangular area copy from hidden to visual page
fg_restorew world space version of fg_restore
fg_save fast rectangular area copy from visual to hidden page
fg_savew world space version of fg_save
fg_sethpage establish the hidden video page
fg_tcdefine define transparent color number for fg_tcxfer
fg_tcmask define transparent colors for fg_tcxfer
fg_tcxfer transfer rectangular area with transparent colors
fg_transfer fast rectangular region copy from any page to any page
(bitblt)
Special effects
---------------
fg_fadein copy hidden to visual page in small, random increments
fg_fadeout erase the visual page in small, random increments
fg_pan change the screen origin for full-screen four-directional
smooth scrolling
fg_panw world space version of fg_pan
fg_scroll smooth vertical scrolling of rectangular area

Keyboard control
----------------
fg_capslock turn the CapsLock key on or off
fg_getkey wait for a keystroke or retrieve the next value from the
keystroke buffer
fg_intkey get the next entry from BIOS keyboard buffer if it is not
empty
fg_kbinit enable or disable the low-level keyboard handler
fg_kbtest determine if a key is now pressed or released
fg_numlock get the state of the NumLock key
fg_scrlock get the state of the ScrollLock key
fg_setcaps turn the CapsLock key on or off
fg_setnum turn the NumLock key on or off
fg_waitkey wait for any keystroke

Mouse management
----------------
fg_mousebut get information about the mouse - were buttons pressed, and
where?
fg_mousecur define the appearance of the mouse cursor in text modes
fg_mousefin unhook Fastgraph's XVGA or SVGA mouse handler
fg_mouseini initialize the mouse
fg_mouselim define limits the mouse movement
fg_mousemov position the mouse cursor
fg_mousepos get the current mouse position and button status
fg_mouseptr define shape and appearance of mouse cursor in graphics
modes
fg_mousespd control the speed of mouse cursor relative to the speed of
the mouse
fg_mousevis make the mouse cursor visible or invisible

Joystick support
----------------
fg_button get a joystick's button status
fg_getxjoy get the horizontal position of the specified joystick
fg_getyjoy get the vertical position of the specified joystick
fg_initjoy initialize either joystick
fg_intjoy return keyboard codes analogous to joystick position and
button status

Sound effects and music
-----------------------
fg_hush immediately stop any asynchronous sound or music
fg_hushnext stop asynchronous sound or music after the current
iteration
fg_music play a sequence of musical notes
fg_musicb play asynchronous music (background music)
fg_playing determine whether there is any asynchronous sound in
progress
fg_quiet stop continuous sound
fg_resume after suspending asynchronous music, continue the music
fg_sound produce a tone of specified frequency and duration
fg_sounds play a series of tones, concurrent with other activity
fg_suspend suspend asynchronous sound (see fg_resume)
fg_voice produce sound on TI sound chip (as in Tandy 1000)
fg_voices play a series of tones on TI sound chip, concurrent with
other activity
Timing
------
fg_getclock get the number of clock ticks since midnight
fg_measure benchmark the system speed to determine delay units for
fg_stall
fg_stall stall for a given number of delay units (see fg_measure)
fg_waitfor delay a specified number of clock ticks (18.2 per second)

Miscellaneous
-------------
fg_memavail determine the amount of conventional memory available to
DOS
fg_memory return the amount of video memory present in kilobytes
fg_setfunc specify the logical operation in EGA/VGA modes (for XORing,
etc.)
fg_svgaver return Fastgraph SVGA kernel version number
fg_version return Fastgraph version number
fg_waitvr specify if functions wait internally for vertical retrace

------------------------------------------------------------------------------
Fastgraph/Light
------------------------------------------------------------------------------

Fastgraph/Light is the shareware version of Fastgraph. It includes all the
features of Fastgraph except the world space coordinate system, stroked
character font, and GIF file support. Unlike Fastgraph, Fastgraph/Light uses
an external video driver (FGDRIVER) that you load before running a program
developed with Fastgraph/Light, just as you load a mouse driver before you run
a program that uses a mouse. Fastgraph does not use the external video driver
but instead includes the necessary functions directly in your EXE or COM file.

Any programs developed using Fastgraph/Light are 100% source code compatible
with Fastgraph. If you purchase Fastgraph after trying Fastgraph/Light, all
you need to do is re-link your programs. As with Fastgraph, we don't charge
royalties for using Fastgraph/Light. The registered version of FG/Light
includes a software license agreement that lets you distribute the external
video driver without charge as part of your applications.

We will mail Fastgraph/Light to you at no charge, or you can download it from
our bulletin board. If you want to download it, look for the following files
for version 3.02 of Fastgraph/Light:

FGL302A.ZIP -- libraries, install program, utilities
FGL302B.ZIP -- complete 700 page documentation
FGL302C.ZIP -- C source code for example programs
FGL302D.ZIP -- BASIC source code for example programs
FGL302E.ZIP -- Pascal source code for example programs
FGL302F.ZIP -- FORTRAN source code for example programs

You will probably only want to download FGLA302A.ZIP and FGL302B.ZIP and your
choice of one of the other four files, depending on what language you are
programming in. These file names are current as of August 1993, but we update
the files regularly so the version numbers will change periodically.

To download Fastgraph/Light from CompuServe, select library 11 of the Gamers
forum (GO GAMERS) and browse for "Fastgraph". The CompuServe file names are
FGLA.ZIP through FGLF.ZIP.

------------------------------------------------------------------------------
Fastgraph/Fonts
------------------------------------------------------------------------------

Fastgraph/Fonts lets you easily add bit-mapped character support to Fastgraph
applications. The product includes 40 font files in several point sizes. A
program can load up to 32 fonts simultaneously. Font files shipped with
Fastgraph/Fonts may be distributed without royalties in your applications.

The Fastgraph/Fonts manual includes a detailed description of the font file
format, so you can create your own font files. PCX templates and a MAKEFONT
utility are included to assist in font file creation.

Fastgraph/Fonts requires any version of Fastgraph or Fastgraph/Light.

------------------------------------------------------------------------------
Fastgraph/Image
------------------------------------------------------------------------------

Fastgraph/Image is a Fastgraph add-on product that provides functions and
utilities for managing libraries containing images and other files. While the
product was designed to manage and display GIF, PCX, PPR, and SPR images
stored in a library file, Fastgraph/Image can be used with any type of file,
including bit maps, text files, and Fastgraph/Fonts font files.

Functions are provided for opening a library, displaying an image file from a
library, retrieving a file from a library, and closing a library. The product
also includes a library management utility that lets you add, delete, extract,
and replace files in a library.

If an application uses several image files, Fastgraph/Image is especially
valuable because it lets you distribute these images in a single file. This
provides added security because users can't take your image files and use them
for other purposes (at least not easily). Another benefit is that combining
many images in a single file uses less disk space than distributing separate
files for each image.

Fastgraph/Image requires any version of Fastgraph.

------------------------------------------------------------------------------
Ordering information
------------------------------------------------------------------------------

The Fastgraph family of products represents a high-performance, comprehensive
development system for graphics programmers. For more information about any
of our products, please call, write, or FAX. You can download evaluation
versions and product demos from our technical support BBS at (702) 796-7134.

We accept Visa, MasterCard, and COD (extra charge for COD orders). Purchase
orders are welcome from most companies, schools, and government agencies.

Site licenses and source code are available for all products. Please call,
write, or FAX for details.

For your convenience, the order form below appears by itself in the ORDER.FRM
file.

Order from: Voice: (702) 735-1980
Ted Gruber Software FAX: (702) 735-4603
PO Box 13408 BBS: (702) 796-7134
Las Vegas, NV 89112 CIS: 72000,1642

Name: _____________________________________________________________________

Company: _____________________________________________________________________

Address: _____________________________________________________________________

City: _____________________________________ State: ________ Zip: ________

Country: _____________________________________ Phone: _______________________

+=====+=========================================+=======+============+=======+
| | | Price | Shipping | |
| Qty | Product Description | Each | Code Cost | Total |
+=====+=========================================+=======+=====+======+=======+
| | Fastgraph graphics library | $199 | 1 | | |
+-----+-----------------------------------------+-------+-----+------+-------+
| | Fastgraph/Light with on-line manuals | $49 | 2 | | |
+-----+-----------------------------------------+-------+-----+------+-------+
| | Fastgraph/Light with printed manuals | $74 | 1 | | |
+-----+-----------------------------------------+-------+-----+------+-------+
| | Fastgraph/Fonts bit-mapped font support | $49 | 2 | | |
| | (requires Fastgraph or Fastgraph/Light) | | | | |
+-----+-----------------------------------------+-------+-----+------+-------+
| | Fastgraph/Image image management library| $49 | 2 | | |
| | (requires Fastgraph) | | | | |
+-----+-----------------------------------------+-------+-----+------+-------+
| | FG/Fonts and FG/Image bundle | $88 | 2 | | |
+-----+-----------------------------------------+-------+-----+------+-------+
| | Graphics Power Pack | $279 | 1 | | |
| | Fastgraph, FG/Fonts, and FG/Image | | | | |
+=====+=========================================+=======+=====+======+=======+
Subtotal | |
********************************* +=======+
* * Nevada residents add sales tax | |
* Shipping charges per product: * +=======+
* * COD orders (U.S. only) add $5 | |
* Code 1 Code 2 * +=======+
* ---------- ---------- * Total | |
* U.S. $5 U.S. $3 * +=======+
* Canada $7 Canada $3 * Specify disk format:
* Other call Other $6 *
* * [ ] 3.5-inch [ ] 5.25-inch
*********************************
Method of payment:
Call for information on overnight
or second-day shipping. [ ] payment enclosed
[ ] Visa or MasterCard
[ ] COD
[ ] purchase order # _________________
For credit card orders only:

Card number: ____________________________________ Expiration date: __________


Signature: _________________________________________________________________


 December 13, 2017  Add comments

Leave a Reply