Graphics Vision for Free Pascal
-------------------------------

Abstract -- ``What is Graphics Vision?''

  This is a development snapshot of Graphics Vision (GV) for Free
  Pascal.  GV is a pixel-oriented graphical re-implementation of
  Borland's Turbo Vision.  It is available for DOS, DPMI and Windows.
  It is currently being ported to the 32-bit Free Pascal compiler
  (FPC) for targets DOS (GO32 extender) and GNU/Linux. 

Legal notices -- ``Graphics Vision is copyrighted but free.''

  Copyright notice

    This distribution may contain files of the Free Pascal and Free
    Vision distribution or from contributed packages, which have been
    declared as free software by the authors; see the individual files
    for detailed information. Some files may have been modified for
    this distribution.

    Other files are copr. 1993,1999 Stefan Milius and Matthias K"oppe.
    See the individual files for details. As Graphics Vision is a
    derived work of Turbo Vision, portions of the code are copyright
    1992 Borland Intl.

  License Conditions/Disclaimer of Warranty

    Our Software (this term refers to the `Graphics Vision for Free
    Pascal' distribution) is copyrighted. We grant you the right to
    use the Software in your projects, to modify and to distribute
    copies of the Software. The Software comes with absolutely no
    warranty.

    The license conditions are set forth in the `LICENSE.DOC' file.
    The software certificate called `Free Software' applies to the
    Software.

  Trademarks

    Product names are trademarks or registered trademarks of their
    respective owners. If product names are not marked as trademarks,
    in this documentation and in the sources, this does not mean they
    were free of the producers' rights of that kind.

Other Graphics Visions -- ``What if I want it for Windows?''

  Graphics Vision for DOS/DPMI/Windows 
  (Commercial but free for individual use.)

    The original target of Graphics Vision is the Borland compilers
    for DOS and DPMI. It has recently been ported to MS Windows (with
    the Borland compilers). The Graphics Vision class library and a
    powerful library of graphics functions (for DOS/DPMI) are
    distributed together by MKM Software as `Graphics Vision &
    Tools'. It is a commercial product but free for individual
    use. See the MKM homepage at

	  http://www.cs.uni-magdeburg.de/~mkoeppe/mkm

    for details.

Getting Started

  You should have a recent version of FPC installed. I use the version
  provided in fpc-0.99.10-1.i386.rpm, so if you also use this version,
  everything should work fine. Any later version should also work but
  it is not tested and you never know.

  Everything else is provided in the snapshot. (Sorry if you get
  packages that you already have but I don't have time at the moment
  to keep track of changing versions etc.)

  Make a directory and change to it:

	 mkdir gv; cd gv
 
  Then install the snapshot:
  
	 tar xfz .../gvfpc-08-Feb-1999.tgz
 
  This will create the following directory structure:

         fpc	           Non-GV sources:
	     api           The system-independent API.
	     bitmaps	   Bitmaps package by G. Schouten [modified].
	     fv	           Free Vision.
	     svgalib	   libvga/libvgagl/libvgamouse interface.

         gvx		   Graphics Vision
	     fpc	   FPC-specific sources
	         linux     Linux-specific sources
	     linuxout	   Output directory for Linux units/executables
	     djout	   Output directory for GO32V2 units/executables

  (Please note that the files outside the `gvx' directory are not part
  of Graphics Vision; they are covered by their individual licenses:
  Bitmaps is GPL'ed, API is LGPL'ed, svgalib is free software, and
  Free Vision's state is undecided but portions of the code are
  copr. Borland Intl., Inc.; Cipher Technology (Holdings) Pty Ltd.;
  BitSoft Development, L.L.C.)
	 
  We provide a Makefile which will take care of building everything
  properly. Just saying

	 cd gvx
	 make -k gvdemo

  will build the demo program, which you can now run... But first
  become root:

	 su
	 Password: xyzzy
 
  (SVGALIB-based programs can ony be run by root since they must grab
  the console and access VGA registers. Later you can install your
  programs `SUID root', so that normal users can run them.) Now start
  it and have fun:

	 linuxout/gvdemo

  If this doesn't work, maybe SVGALIB is not configured properly. Edit
  /etc/vga/libvga.config in this case; `man 5 libvga.config' tells you
  how. You can also fix mouse problems there, for instance if the
  mouse moves much too fast (which is the case in the very
  Quake-centered default configuration of svgalib 1.3.0, at least).

Getting Started with GV Programming

  Have a look at the little example programs, exam????.pas.  It is
  much easier reading and modifying them than trying to extract things
  from the complex gvdemo program.  

  If you haven't written Turbo Vision programs yet, get a book.  There
  are lots of books on Turbo Vision but probably no new ones.  I don't
  know which are good.  I learnt Turbo Vision programming from the
  Turbo Pascal 6 manuals.

  Writing Graphics Vision programs is much the same as writing Turbo
  Vision programs, at least in many aspects.  Sorry, there is no book
  on Graphics Vision, as far as I know :)

  Read the GV documentation.  OK, I admit it is not much, especially
  if you cannot read German, and it is not very good either.  But it
  may help.

  When you're getting problems, you can always ask.  The best place
  for GV-FPC questions is probably in the FPC mailing list.

Support Files for GNU Emacs

  `gvx/bpascal.el' is a modified Pascal major mode (derived from the
  standard `pascal.el'), which recognizes the extended keywords of
  Borland Pascal and also does the automatic indentation more like in
  the Borland style.  

  `gvx/bpp.el' is an adaption of `cpp.el' to Pascal; it does
  highlighting of $ifdef conditionals and allows selective display of
  code according to conditional compilation directives. 

  The `gvx/tagpas.sh' shell script makes a TAGS file for all Borland
  Pascal files beyond this point.  When you have done this, type M-x
  visit-tags-table RET in your GNU Emacs to visit the TAGS file.  Then
  you can e.g. type M-x tags-search RET to search all Pascal files, or
  type M-. (`find-tag') to find a tag, i.e. a type/constant/object
  definition or a procedure implementation.  Read the GNU Emacs manual
  for more information on tags.

State of Development

  This version should work very well with FPC/Linux and svgalib 1.3.0,
  unless you try screen modes with >= 32K colors; they appear to be
  buggy in svgalib 1.3.0.  The whole Graphics Vision system has been
  ported to FPC now, though a few units, including GvEdit and GvTerm,
  are still missing.  Therefore the main demo (gvdemo) and all sample
  programs (exam*) are working the same way they do in the native
  BP/DOS target.  Due to limitations of the graphics library we are
  using, we don't have fonts or circles. 

  Work on the FPC/GO32V2 version is in progress.  You can already try it
  in this target but don't expect too much.  

  Read gvx/ChangeLog for a list of recent changes.

  You can help improving Graphics Vision; see gvx/TODO.

  Feedback is very welcome; please write to the FPC mailing list
  <fpc-pascal@vekoll.saturnus.vein.hu>. 

Authors

  See gvx/AUTHORS. Responsible for the FPC port of Graphics Vision is: 

  Matthias K"oppe <mkoeppe@cs.uni-magdeburg.de>
  Personal homepage URL: http://www.cs.uni-magdeburg.de/~mkoeppe
