This file lists the history of changes to the grx source files from
the 2.2 version.
-------------------------------------------------------------------

Date     Changes

02/01/11 ----------- GRX v2.4.4 released (Mariano Alvarez Fernandez)
02/01/09 Modified the demogrx test program to center the image when
         a mode bigger than 640x480 is selected
02/01/09 Added an alternate linux console input driver, it handles
         the mouse directly openning /dev/psaux, but note only PS/2
         mouses work by now. It must be activate explicitly by
         uncomenting the switch "USE_DIRECT_MOUSE_DRIVER=y" in
         "makedefs.grx"
02/01/09 The linux framebuffer video driver now set the console in
         graphics or text mode when necesary. Now the text cursor is
         not show, and the svgalib mouse input driver doesn't collide
         with GPM, so, surprise!, it works!
02/01/09 Small changes to improve the linux console input driver
02/01/07 More patches to the Pascal interface, by Frank Heckenbach and
         Maurice Lombardi
02/01/02 Go to full screen in the Win32 driver if the requested framemode
         dimensions are equal to the screen dimensions (setting the
         client start area at 0,0).
01/12/22 More patches to the Pascal interface, by Frank Heckenbach and
         Maurice Lombardi
01/12/22 Added an optional configure script, by Frank Heckenbach
01/12/21 The linuxfb driver now open /dev/fb0 by default. An alternative
         frame buffer device can be specified setting the environment
         variable $FRAMEBUFFER
01/12/21 pascal ega colors are now functions, by Frank Heckenbach
01/12/21 fixed some borland bgi incompatibilities, by Frank Heckenbach
01/12/21 added 'const' (C) and 'protected' (Pascal) to some
         function parameters, to make them a little "safer",
         by Frank Heckenbach
01/12/16 Added imgview.pas and colortst.pas demo programs, by
         Frank Heckenbach
01/12/16 Change in the pascal interface: GrAllocEgaColors, GrGetScanline,
         etc. return a pointer to an array of GrColor, rather than to a
         single GrColor, by Frank Heckenbach
01/12/16 Make installation of shared libraries optional on Linux/X11
         by Frank Heckenbach
01/12/16 GrSaveContextToGrayJpeg added to the pascal interface, by
         Maurice Lombardi
01/11/29 better w32 keyboard handling. Now most special keys with
         shift, alt and control combinations works
01/11/29 added jpeg functions to grx.pas and jpgtest.pas demo, by
         Maurice Lombardi
01/11/29 patch to define gpc-main in grx.pas and graph.pas, by
         Frank Heckenbach
01/11/29 patch to remove warnings on unix in test/bgi programs, by
         Frank Heckenbach
01/11/16 Added new function: GrSaveContextToGrayJpeg. Now
         GrLoadContextFromJpeg can load grayscale jpeg files
01/11/08 jpgtest test program added. It works too without jpeg support
         and shows a message
01/11/08 New jpeg functions (GrSaveContextToJpeg, GrLoadContextFromJpeg,
         GrQueryJpeg, GrJpegSupport). Added dummy functions if there
         isn't jpeg support
01/11/07 Added new targets to makefiles: install-info, unisntall-info.
         Now install doesn't install info (readme file updated)
01/09/08 Applied additional patches to update Pascal interface, new
         polytest.pas demo, by Maurice Lombardi
01/09/07 Applied patches to update the Pascal interface, by
         Frank Heckenbach. Note, the "bgi2grx" unit was renamed to
         "Graph", so it will be BP compatible and more natural to
         Pascal programmers

01/06/28 ----------- GRX v2.4.3 released (Mariano Alvarez Fernandez)
01/06/27 Added new targets to makefiles: install-bin, uninstall-bin,
         install-fonts and uninstall-fonts (readme file updated)
01/06/26 Moved bin2c, fnt2c, vesainfo, lfbinfo and modetest to
         src/utilprog. They are build in the source makefile.
01/06/22 Except for the w32 version the install target installs the
         info manual. As suggested by Maurice Lombardi and Waldemar
         Schultz
01/06/21 pngtest test program added. It works too without png support
         and shows a message
01/06/20 Changed BCCGRX cleardevice function to clear the screen to
         the current BACKGROUND color instead of black. Suggested by
         Waldemar Schultz
01/06/19 ctx2png functions (GrSaveContextToPng, GrLoadContextFromPng,
         GrQueryPng, GrPngSupport) integrated in GRX. src/pnm subdir
         renamed to src/gformats. Added dummy functions if there isn't
         png support
01/06/18 New API functions: GrLoadContextFromPnmBuffer and
         GrQueryPnmBuffer

01/06/15 ----------- GRX v2.4.2 released (Mariano Alvarez Fernandez)
01/06/12 Modified win32 input code for GrMouseGetEvent and GrKeyRead
         work at the same time, when GrMouseEventEnable(1,0) is set
01/06/07 Merged makedefs.gnu, makedefs.x11, makedefs.dj2 and
         makedefs.w32 in makedefs.grx (readme file updated)
01/06/06 Now we can use "GRXMain" for all GRX versions, grx20.h defines
         it like "main" except for the win32 version. Deleted the ugly
         "#ifdef __WIN32__ ..." in test programs (except for BGI tests)
01/06/05 Added the Linux framebuffer videodriver (vdrivers/vd_lnxfb.c)
         alpha stage, only in 16 or 24 bpp. To use it set GRX20DRV to
         "linuxfb" in the GRX Linux version. The mouse doesn't work
01/06/05 Some minimal changes to compile ok with gcc 2.96 and
         Linux 2.4.x
01/05/30 Applied patch to sanity bgi code for gcc 3.0, by Andris
         Pavenis
01/05/28 Modified makefiles for linux and x11. Now they build
         shared and static libs at the same time. Added install and
         uninstall targets.
01/05/16 Applied patch to add standard pascal makefiles for dj2, w32,
         x11 and lnx. pascal/bgi/test and pascal/bgi/demo merged in
         pascal/bgi. Pascal readme updated. By Maurice Lombardi
01/05/09 Applied patch to produce makefiles for mingw32 pascal tests
         by Maurice Lombardi

01/04/26 ----------- GRX v2.4.1 released (Mariano Alvarez Fernandez)
01/04/25 User's guide (info) updated, by Vicente Fuentes Gea
01/04/20 User's guide (html) updated
01/04/19 Applied partially patches to make GRX compile with MS-VC
         by Hartmut Schirmer
01/04/18 Added install and uninstall targets to src/makefile.dj2 and
         src/makefile.w32
01/04/18 Patched src/bgi/text7.c to compile Ok with GCC 3.0
         by Andris Pavenis
01/04/14 New API routine: GrBitBlt1bpp, contributed by Josu Onandia
         Added bb1test.c test program
01/04/01 Changed compiler options from "-O6 -fomit-frame-pointer" to
         "-O2" only. Suggested by Andris Pavenis.
01/03/27 drawpattern and bltr2v_24 added to fdrivers/fd_win32.c
01/03/26 Fixed a bug in pnm/ctx2pnm.c, when grx == NULL the actual context
         must be used. Reported by Vicente Fuentes Gea
01/03/25 The dj2 version uses now "uclock" in mouse/input.h to get 1ms
         resolution in input code. Because "uclock" can be unsafe in W3.1
         when NO_REPROGRAM_TIMER is defined the old code is used. A
         comment has been added to makedefs.dj2
01/03/25 Changed CLOCKS_PER_SECOND by CLK_TCK for linux in mouse/input.h
         to get real ticks per second
01/03/24 New API routines: GrSetWindowTitle and GrSleep
01/03/22 Changed DJGPP test macro from __GO32__ to __DJGPP__
           by Andris Pavenis

01/03/18 ----------- GRX v2.4 released (Mariano Alvarez Fernandez)
01/03/16 Win32 drivers improved again by Josu Onandia
01/03/15 Make bccbgi to use ../rand.h to work with the Win32 drivers
01/03/14 Added ifdef to demo programs to use GRXMain with the Win32 drivers
01/03/12 Fixed a bug in mouse/xwinkeys.c, preventing getkey & kbhit work
         together (Now bccbgi demo works properly in X, except restoring
         from text mode)
01/03/10 Support for DJGPP v1 removed (really only removed makefiles by now)
01/03/10 Optimized pnm/ctx2pnm.c, contributed by Josu Onandia
01/03/10 Improved frame and video drivers for win32, by Josu Onandia
           <jonandia@fagorautomation.es>
01/03/06 Integrated the win32 version written by Gernot Graeff
           <gernot.graeff@t-online.de>
01/03/05 Fixed bug in modetest.c preventing 32 bpp modes to work.
01/03/04 Applied patch to solve 32bpp problems, by Hartmut Schirmer
01/03/03 Applied patch to make GRX compile with gcc 3.0, by Andris Pavenis
01/03/03 Fixed bug in pattern/fillpatt.c
01/02/26 Modified setmode.c and svgalib.c to set frame pointer dinamicaly
         and fix the svgalib video driver.
01/02/22 Applied some patches by Maurice Lombardi
           <Maurice.Lombardi@ujf-grenoble.fr>
01/02/20 Fixed bug in pattern/patfbox.c
01/02/14 Fixed bug preventing GrLoadFont work with BGI fonts

01/02/12 ----------- GRX v2.3.4 released (Mariano Alvarez Fernandez)
01/02/06 user's manual in info format contributed by Vicente Fuentes Gea
           <vfg@servidor.unam.mx>
01/02/01 new WIN32 Mingw32 target (memory driver only)
01/01/28 ctx2pnm functions added.
01/01/28 user's manual updated again.
01/01/28 new test programs added: pnmtest and demogrx.
01/01/28 some test programs bug fixes.
01/01/28 pascal subdirectory update contributed by Eike Lange
           <eike.lange@uni-essen.de>

01/01/24 ----------- GRX v2.3.3 released (Mariano Alvarez Fernandez)
01/01/21 BGI test programs moved to test/bgi
01/01/21 Added the updated GRX user's guide.
01/01/20 BCC2GRX license comments changed to point to the GRX license.
01/01/20 Sources changed to point to the copying.grx file
01/01/10 Applied some patches by Andris Pavenis.

00/09/14 ----------- GRX v2.3.2 released (Peter Gerwinski)

00/06/21 ----------- GRX v2.3.1 released (Peter Gerwinski)
00/06/21 Some bug fixes (solved problems induced by the update).

00/05/20 ----------- GRX update released (Hartmut Schirmer)
00/05/20 Added AIX support in grx20.h, xwininp.c, allocate.h as
	 suggested by Andris Pavenis <pavenis@lanet.lv>.
	 Added BGI-Support from BCC2GRX.
00/05/19 Don't use GCC/i386 asm in highlow.h on gcc after v2.8.x
00/05/17 Added test/sbctest.c contributed by
           Mariano Alvarez Fernandez <malfer@teleline.es>
	 Fixed additional subcontext bugs in GrPatternFilledLine
	   and GrPatternFilledPlot (reported by Mariano Alvarez
	   Fernández <malfer@teleline.es>)
	 Applied the 32bit X11 patch by Ulrich Leodolter
00/04/23 Applied some changes suggested by Josu Onandia
           <jonandia@fagorautomation.es>
         - pattern/patfbox.c: Context offset wasn't added
             to drawing coordinates
         - text/buildfnt.c: Fixed a typo, pointer to passed
             free() not same as returned by malloc()
         - mouse/drawcurs.c: Incorrect calculation of mouse
             cursor work area
         Applied asm bugfixes by Ian Miller <Ian@shelob.f9.co.uk>
           required for EGCS/GCC compilers after v2.8.x
           and for binutils after v2.9.1
         Changed GRX internal version to 0x0231
         Changed return type of main in test/textpatt.c to int
00/04/06 Fixed an uninitialized variable reported by Josu Onandia
           <jonandia@fagorautomation.es>n wideline/drwcpoly.c
98/06/28 Updated addons/print test files
	 Added a note to DJGPP & BCC src/makefiles that command.com
           is required as shell
98/06/08 GCC asm enhancements (arith.h,ioport.h,highlow.h)
98/06/07 fine tuning mach64 banking functions
98/06/06 Fixed a typo in addons/ctx2jpeg.c
	 DJGPP&BCC didn't cleanup the addons subdir's
	 DJGPP v1 failed on grxprint.c compilation
	 Added optimized GCC/i386 asm repfill_b code

98/06/03 ----------- GRX v2.3 released (Hartmut Schirmer)
98/05/26 Fixed a bug in gcc/highlow.h
98/05/24 Printing code synced with Andris
	 Some additional files needed memcopy.h
	 X11R6 driver was broken (XInitImage) -- fixed
98/05/20 DOS _GrUpdateInputs() still used getxkey -- fixed
	 ram3x8, ega4, herc1 & dosinput didn't include memcopy.h
	 System endian can now be defined by -D_BIG_ENDIAN or
	   -D_LITTLE_ENDIAN at compile time
98/05/19 GrSetFontPath() still used alloca -- fixed
	 Again fixed minor problems in printing code:
	   - some functions where declared extern but
	     implemented static
	   - signed / unsigned problem in RepeatByte()
98/05/18 Update printing support.
	 There were no RAM drivers for 1 & 4bpp in X11
	   build.
	 Fixed a bug on short hlines in ram1 & ram4
	 GRX uses it's own memcopy now
98/05/17 Watcom makefiles changed for DEBUG support and
	   .dat copy from test/ to bin/
98/05/14 Some code fixes to avoid warnings fron SUN cc
98/05/13 Minor changes to avoid warnings on several platforms
	   (eg, eliminated C++ style comments, non ASCII chars, ...)
98/05/11 Fixed LFB frame buffer address handling when
	   LFB_BY_NEAR_POINTER active
	 JPEG & TIFF save now use GrGetScanlineC() and
	   malloc() instead of alloca()
98/05/10 Fixed a typo in watcom/memfill.h
	 GCC v2.8.1 broke dependency file creation under
	   DJGPP v2, no subdir information was included for
	   the target. The gcc -MM output is now passed through
	   a new sed script and the created dep-file should be
	   ok on any version GCC. Same change for Linux and X11
	   makefile. This change makes Watcom makefile creation
	   by utils/watmake work again.
	 Again fixed Watcom makefiles
	 Added -DGRX_DEFAULT_FONT_PATH="...." configuration for
	   default font path when no GRXFONT environment entry
	   specified. This is mostly useful on Unix platforms.
	 Getting scanline changed for GrPixel / GrPixelC
	   like naming: GrGetScanline && GrGetScanlineC
98/05/07 Watcom updates (bmp/printing/makefiles)
	 Minor BMP & printing updates for better Unix support
98/05/06 Fixed a bug in _GrFrDrvGenericStretchBlt()
	 Fixed potential bug in GrImageFilledBoxAlign()
98/05/05 GrGetScanline && GrPutScanline functions added
98/05/04 GCC/i386 peek_24 was broken
	 Image streching fixes and imgtest prog
98/05/03 Added getindexscanline() and putscanline() to frame
	   drivers and implemented generic versions.
	 Added _GrFrDrvGenericStretchBlt() using integer
	   arithmetic and the new scanline functions.
	 Fixed dynamic memory allocation bugs im image code.
	 GrImageStretch() now uses _GrFrDrvGenericStretchBlt()
98/04/30 Pascal definition for GrGetLibrarySystem
	 Changed VBE2 memory mapped IO support so a buggy BIOS
	   won't break the code that easily
98/04/28 Pattern filling uses predefined _GrPatternFiller instead
	   of local initialized var
	 S3 drivers banking functions enhanced
	 Unified DJGPP & Watcom VBE2 code
98/04/27 Fixed problems in font loading code on big endian systems
	 Updated Watcom support
	 Again eliminated some empty macro args
	 Added GrGetLibrarySystem() returning GRX_VERSION for
	   portable runtime system check
98/04/26 Fixed a bug introduced when changing pattern filled text
	   code
98/04/22 (Pattern-) fill code unified & simplified.
	 Fixed a filling bug on big endian systems.
	 Makefiles updated (printing, zlib)
	 Configuration switches for 'noisy' compilers
	 Code cleanups and splitted some files
98/04/21 Better cooperation between X11 and GRX in Pseudocolor mode
	 Added GrAllocEgaColors() for allocation standard EGA colors
	 Borland-C++ 4bpp blit was broken.
	 Relaxed some macro argument handlings for older BCC versions
98/04/20 GRX should work on X11R5 systems now.
	 Added some new key definitions (shift left/right/up/down).
	 Changed inline -> INLINE for portability.
	 Removed empty arguments in clipping.h
	 Again fixed minor problems.
98/04/15 Added X11 driver changes by Ulrich. Fixes the XGetImage problem.
	 Fixed several portability problems, mainly removed cast
	   to (unsigned) int of assigned variables.
	 Fixed some bugs Thomas found in the ALPHA code
	 Changed temp. memory allocation. New function ALLOC()
	   will use malloc if SMALL_STACK defined of alloca otherwise.
	 Watcom assembler code didn't work. Changed the #pragma
	   definitions so they don't use macros.
	 Fixed several minor bugs
98/04/13 Fixed minor bugs in X11 driver.
98/04/06 Checked GNU-Pascal support (basic functions only)
98/04/05 Minor bugfixes and some GCC/386 speedups (copy & fill
	 loops aligned on 16byte boundary for optimal performance)
	 Changed the mouse timing information to real world time
	 instead of user process time (X11 & Linux)
	 GrMouseGetEventT will only return a valid ev.dtime if
	 any event occured
98/04/02 Faster VGA8X line drawing
	 The far (eg. to video ram) peek and poke operations
	 won't get optimized away any more (solves 4bpp blit bug)
98/03/31 Added 64 bit support (_h)
	 Fixed a bug in egavga1.c/drawvline
98/03/30 Integrated Gary's Watcom changes.
	 Watcom port now defined LFB_BY_NEAR_POINTER
	 Added _n as near/normal opposite of _f in macro names to
	 avoid empty arguments in macro calls
98/03/27 Borland port now uses RAM3x8 in 24bpp and 32bpp modes
	 Fast and robust colfill_... functions for Borland
	 Updated image support
98/03/19 24bpp mode changed:
	 - Added repfill_24 and optimized peek_24/poke_24
	 - dropped access24.h (only color component access left)
	 - LFB24 and RAM24 now use the same code.
	 - Optimization for black/grey/white filling: done by repfill_b
	 Fixed some Linux/386 shared lib problems (can't use EBX with -fPIC)
98/03/17 Major code rearrangement: (Watcom port may be broken :((
	 - A lot of frame driver now share code and use much
	   more optimized (!= generic) drawing functions
	 - Generic and asm fwdcopy/revcopy functions for blitting
	 - splitted header files to individual system files
	   (filling, copying, ...) for better maintaince and
	   easier optimization
	 - much work on BCC speed & stability
	 - Expect the Watcom port to be broken :((
	 Added Andris latest changes to the printing system
98/02/25 Fixed X11 keyboard handling
	 minor changes for BSD compilation
	 updates to printing system
98/02/24 Fixed a bug in GrDestroyPattern() when freeing the
	 bitmap planes (found&patched by Michal).
	 access24.h needed another fix for linux shared lib :(
98/02/20 Added BMP file read && image display contributed
	 by Michal Stencl
	 Added JPEG context save by Vincenzo Morello
98/02/19 Watcom makefiles, fixes to print system
	 Changed access24.h for shared library compilation
	 on Linux-i386 systems
98/02/17 Watcom fixes and addons by Gary
	 Fixed svga4, lfb8 and vga8x blit functions
	 Added color selection by bpp to GrSetMode
	 Added patterned text output by Stencl Peter
	 Added printing support (thanks again Andris!)
98/01/13 fast RAM to video blit to 16 color driver
	 fast hline for 16 color RAM driver
98/01/08 Watcom support integrated. Code cleanup (eg. gcc
	 multi line strings cleaned for other compilers)
	 Added platform dependent lib-subdirs
	 Fixed some Linux/svgalib keyboard bugs
98/01/01 Revised keyboard support as suggested by Andris and
	 Vincenzo. See new grxkeys.h file in include dir!
97/12/21 Updated DJGPP (v1&v2) makefiles again.
	 Fixed some GCC warnings with additional -W... switches
	 (WARNOPTS in makedefs.gnu)
	 Fixed a BCC problem with the new 16 color blit function
	 Some local functions didn't have a static :(
	 Fixed some Linux && X11 keyboard problems (input got
	 desynced on heavy load / high keyrates)
97/12/18 updated Pascal support
	 BCC allocates from heap instead of stack for big blocks
	 eliminated some unchecked malloc's
	 Splitted several code files for smarter linking
	 BCC arithmetic moved from assembler macro to optimized
	 function for more reliable results
97/12/16 ported the flood fill function from BCC2GRX. See grx20.h
	 for ...FloodFill
97/12/15 changed ulong, ushort, etc to GR_int32u, GR_int16u, etc
	 for better portability and to avoid warnings on Linux
97/12/08 Integrated code (variable X11 window size & memory driver)
	 and patches (genellip & SaveContextToTiff & other) by Andris
97/11/16 Updated Linux and X11 makefiles
97/11/02 Makefiles for DJGPP v1 compilation
	 New (much faster) 16 color video to video blit routine
97/11/01 Fixed some far pointers to RAM area in the video drivers
97/10/29 Added ALPHA processor support
97/10/01 Fixed DJGPP systag generation in SRC makefile
97/09/30 Updated makefiles and makedefs
	 Added the addons directory and the SaveContextToTiff
	   function
	 Fixed some BCC specific warnings
	 S3 driver banking doesn't work for 16 color modes, at
	   least for my card. Uses VESA banking for < 256 colors
	 Fixed BCC __emit__() code in arith.h (thanks, Andris)
------- grx v2.2 release
