This file lists the history of changes to the grx source files from the 2.2 version. ------------------------------------------------------------------- Date Changes 12/07/10 ----------- GRX v2.4.9 released (Maurice Lombardi) 12/07/04 Change configure script and makedefs.grx to conform to recent GNU practice. Honours DESTDIR to ease building binary distributions. INSTALLDIR is no more present in makedefs.grx, but prefix is there to replace it. (Extension of a patch by Guillem Jover to all targets by M. Lombardi) 11/11/23 All drivers generate button4 and button5 mouse events (the scroll wheel scrolled up or down). Extended from MGRX by M. Lombardi. 11/11/18 Add GrFlush(). Useful only on X11 when when switching between graphics and console windows open simultaneously. (M. Lombardi) 10/08/17 Add GrMsecTime(). Adapted from MGRX. 09/04/02 Synchronisation of windows and grx mouse cursors by Richard Sanders 08/12/12 Fix a race condition with the loadcolor SetDIBColorTable function call, which happens sometimes on fast multiprocessor machines This affects only 8 bpp modes (Peter Schauer ) 08/11/05 Added GrClearContextC function, by Richard Sanders. 08/08/01 fdrivers/fd_xwin.c: Sanitized pixel cache code. New faster and specific for X11 putscanline function, this change accelerates a lot displaying pnm, png and jpeg images. Backports from MGRX of M.Alvarez 08/05/15 Fix a conflict between underline and XOR char writing reported by Al-Junaid H. Walker (M. Lombardi) 07/12/27 Added GrFloodSpill functions, by Richard Sanders 07/12/01 vd_xwin: go to fullscreen if w,h == X resolution, GR_biggest_graphics is honored. Modes higher than X resolution are made no-present. Added videomodes for wide monitors in x11 and w32 drivers. Backports from MGRX of M.Alvarez 07/08/11 Fix a keyboard bug reported by A. Moreira. It was a bug produced by the optimiser for gcc >= 4 when using asm: memory clobber. If not corrected it could pop up at other places. (M. Lombardi) 07/08/29 ----------- GRX v2.4.8 released (Maurice Lombardi) 07/08/29 Sanitized win32, eliminating WM_SIZE events 07/08/27 Add Sleep(5) to setrgbpalette for win32 which sends WM_PAINT to redraw whole screen. Compare PlayRGBpalette() in test/bgi/bccbgi.c Add Sleep(1) when no more W32events queued to yield control when looking for grx events by M. Lombardi. 07/08/21 Correction to WM_PAINT in vdrivers/vd_win32.c: GetUpdateRect() gave wrong UpdateRect -> few missing chars in text drawing, by M. Lombardi 07/08/17 Change to text/fontpath.c and text/loadfont.c to allow the syntax /dev/env/DJDIR in djgpp when loading fonts by M. Lombardi 07/08/07 Correction to test/test.h to enable test/scroltst to run as expected. 07/08/05 Eliminate WM_PAINT in mouse/w32inp.c to enqueue GR_OS_DRAW_REQUEST. Too frequents, they produced saturation of the GRX event queue and gobbling of keybord/mouse events. Compare responsivity of test/mousetst.c, test/bgi/bccbgi.c, pascal/bgi/demo.pas by M. Lombardi 07/08/01 The X11 driver now responds to Expose events by using a pixmap for backing store. But this slows it down. You can recover previous behaviour (faster but no response to Expose) by editing src/include/libxwin.h and setting USE_PIXMAP_FOR_BS to 0. Backported from Mariano's MGRX by M. Lombardi. 07/07/30 various improvements in makefiles, demo.pas, test/speedtst.c by M. Lombardi. 07/04/06 ----------- GRX v2.4.7 released (Maurice Lombardi) 07/04/06 updates in test/speedtst.c 07/04/05 change to bgi/bccgrx.c, so that all 32 bpp modes are considered by BGI as 16M modes (the extra byte is only for padding): this was the case for older drivers up to VESA which gave GrVideoMode->bpp=24 in these cases (see lines 246-258 in vdrivers/vesa.c). 07/03/25 SDL driver (sdl-rc4-support.zip) by Dimitar Zhekov 28 May 2004 with changes to makefiles/makedefs/configure and pascal support by Maurice Lombardi 07/03/16 inclusion of various corrections submitted to the list grx.diff-byteorder by Frank Heckenbach 31 May 2006 grx-exitprocess.diff GRX app termination bug (winXP) by Mario Zagar 15 Feb 2005 grxfixes.zip by Dimitar Zhekov 24 Sep 2004 fontdemo-res-fix.diff fontdemo-Y-fix.diff test-changes.diff win32-8bpp-cls-fix.diff (win32 setmode() clear screen problem) xfdga-detect-once.diff (xfdga avoid double detection) grx-w32events.diff (more W32 event handling) by Peter Gerwinski 19 Jun 2004 graphresult.diff by Andris Pavenis 8 Jan 2004 07/01/05 introduction of GR_PtrInt (integer of same length as a pointer) to suppress warnings (in fact errors) when compiling with x86_64 platforms, renaming sincos() to GrSinCos() in genellip.c to avoid name conflict with builtin, by M. Lombardi. 06/09/19 correction to bgi/text4.c to correct update of graphics pointer in vertical writing with outtext (was going in the wrong direction. BP does not update it at all, but this is stupid), by M. Lombardi. 06/09/11 correction to grx.pas (bar3d) 06/02/10 Better understanding of x86_64. Now by default an i386 library is built even on x86_64 platforms. If you set BUILD_X86_64 to 'y' in makdefs.grx a x86_64 library is built, and the install target go to the lib64 subdir (backport from MGRX by M. Lombardi) 04/09/24 Added x86_64 support (backport from MGRX by M. Lombardi) xx/09/05 Florian Xaver updated GRX to make it compatible with latest DJGPP/GCC. 05/03/08 correction to polytest.pas 04/09/27 more changes to graph.pas, jpgtest.pas, imgview.pas, by Frank Heckenbach. 04/09/17 more changes to grx.pas and graph.pas, by Frank Heckenbach. 04/06/06 more changes for same purpose by Peter Gerwinski. 04/04/25 changes to introduce: HAVE_UNIX_TOOLS, CROSS_PLATFORM in makefefs.grx and configure w32 (mingw32) target in configure corresponding changes in makefiles, by Frank Heckenbach and Peter Gerwinski. 04/03/28 changes in grx.pas to make it compile with recent versions of gpc, by Frank Heckenbach. 03/12/27 Close the framebuffer if DGA is compiled with framebuffer support, not without it, by Dimitar Zhekov. 03/12/27 Version 2 of the raw driver. Support for psf2. Better support for RAW: up to 16x32, assuming width:height 1:2 (the previous code was always assuming width = 8), by Dimitar Zhekov. 03/12/27 Small bug in grxprint.c, by Andris Pavenis. 03/12/27 Version 2 of the libGRX DGA2 driver. Features set mode via DGA2 and rendering via Xlib or linear framebuffer, by Dimitar Zhekov. 03/12/27 Up to 200 the possible modes in the DGA2 driver, by Dimitar Zhekov. 03/12/27 A batch mode for speedtst. Usage: run speedtst to see the mode numbers, then "time speedtst MODE" or [4dos] "timer ^ speedtst ^timer". Maybe "first" should be named "prompt", by Dimitar Zhekov. 03/07/17 ----------- GRX v2.4.6 released (Mariano Alvarez Fernandez) 03/07/15 fdv_win.c: the resource header fields must be swapped, not the data they "point" to, by Dimitar Zhekov. 03/07/15 Changed the default to 'n' for the USE_INOUTP_FRAMEDRIVERS switch in makedefs.grx 03/06/25 In the svgalib driver don't re-setting the initial mode if it's already set, by Dimitar Zhekov. 03/06/23 define alloca to __builtin_alloca in src/include/allocate.h to avoid warnings in Mingw with gcc 3.x. src/makefile.lnx, src/makefile.x11: don't link ADDON_LIBS for UTILP. src/stdobjs.mak: remove any duplicate definitions and trailing \-s. src/text/buildfnt.c: produce a more readable bdump() DEBUG output, by Dimitar Zhekov. 03/06/23 The GRX raw keyboard I/O can't be safely used in text mode. Fixed it in test/bgi/, by Dimitar Zhekov. 03/06/10 Small fixes, replaced some printf with DBGPRINTF, removed GrKeyPressed test in debug mode, it can't be used in all plattforms, by Dimitar Zhekov. 03/06/10 Small chamges to fdv_win.c, better name/family supportm, avoid possible overflow, by Dimitar Zhekov. 03/06/10 More Pascal updates, by Frank Heckenbach. 03/05/31 Small fixes to fdv_fna.c and fdv_xwin.c, by Dimitar Zhekov. 03/05/31 Pascal demos updates, by Eike Lange. 03/05/03 Added a InvalidateRect in the loadcolor function in the Win32 videodriver, now the play-palette bgi demo works properly. I think the Win32 driver is now very usable, not more in alpha. 03/05/03 Faster w32_drawpixel function in the Win32 framedrivers. 03/05/02 Small patch for the next GPC version, by Frank Heckenbach. 03/05/02 Small test fixes, by Dimitar Zhekov. 03/05/02 Added a cleanall target to the borland makefile, by Dimitar Zhekov. 03/04/02 Added new video driver for Xfree86 DGA2 (Direct Graphics Access), experimental, not compiled by default, you must activate it in makedefs.grx, by Dimitar Zhekov. 03/03/31 New 8bpp frame driver (by Josu) and 24 bpp frame driver (by me) for Win32. They use the standard GRX framedirvers plus the necesary InvalidateRects. Now the Win32 version is faster and reliable. 03/03/31 With the Thomas idea of using a DIB in the win32 video driver, we can now use the DIB like a linear frame buffer, so the new win32 framedrivers can take advantage of the standard GRX frame drivers, by Josu Onandia. 03/03/31 Use a DIB for the hDCMem in the win32 video driver, by Thomas Demmer 03/03/11 The alternate linux console input driver now calls _LnxfbSwitchConsoleAndWait if _lnxfb_waiting_to_switch_console is set. 03/03/11 Changes to the linuxfb driver. Added code to catch a signal when user wants to change virtual terminals. The driver sets _lnxfb_waiting_to_switch_console and the input driver must calls _LnxfbSwitchConsoleAndWait then. Previous function _SwitchConsoleLnxfbDriver renamed to _LnxfbSwitchConsoleVt, not used,is here only for possible future use. 03/03/10 Some more adjustments to GPC changes. This time, however, there will be backward-incompatible changes (WRT …smname' etc.). Therefore, I'm using a compiler version check, so it should work with old and new GPC versions. At this occasion, I'm also removing the old-style external variable syntax (of GPC versions prior to 2000-04-12) from graph.pas, by Frank Heckenbach. 03/03/10 Changes the x11 font driver to use it's own X11 display and window. It allows X11 fonts to be loaded before GrSetMode() and makes the font driver independent from the X11 video and frame drivers, by Dimitar Zhekov. 03/03/10 Syncs ulheight/ulpos calculation in the X11 font driver with all other drivers for which ulheight isn't known, by Dimitar Zhekov. 03/02/27 Changes to the .fna font driver: undpos is not supported and fix driver inability to read fonts with 2+ nonempty "note", by Dimitar Zhekov. 03/02/26 Get rid of GRXMain in test programs, we use main now. 03/02/12 Sanitize the Thomas changes. 03/02/12 Changes to the win32 videodriver. Instead of begin with WinMain and start a thread with the main GRX program, do it backward: begin in main and start a thread to handle the Windows window. With this change we get rid of the awful GRXMain special entry point and GRX compiles now with CygWin, added the new platform to grx20.h, by Thomas Demmer 03/02/11 Some small bugfixes for the Pascal units, by Frank Heckenbach. 03/01/14 Pascal units rewritten, this is to make the formatting more in line with the GPC conventions, by Frank Heckenbach. 02/12/29 The alternate linux console input driver now works with PS2 and IMPS2 mice (but the whell is not used). 02/12/21 Added function to change virtual terminals in the linuxfb driver, _SwitchConsoleLnxfbDriver to be called from the input driver (it doesn't work yet). 02/12/21 Some cleanups to the linuxfb driver, now the text screen restart ok on exit. 02/12/13 Added 8bpp paletted mode to the linuxfb driver, by Josu Onandia. 02/11/24 In fdrivers/lfb8.c, lfbbltrv.c, lfbbltvr.c and lfbbltvv.c there was a erroneous test on LBF_BY_NEAR_POINTER instead LFB_BY_NEAR_POINTER, reported by . 02/11/24 Changes avoid some warnings given by `-W' in graph.pas, by Frank Heckenbach. 02/11/24 The test program launcher, demogrx, has now two pages. Added some fontdemos. 02/10/27 Modetest shows the actual resolution when in graphics mode. 02/10/26 Corrected bug in fdrives/ram4.c, if the GR_UNDERLINE_TEXT flag was set colors were wrong, reported by Alex. 02/10/26 Corrected bug in draw/bitblt1b.c, bad source origin if the destination origin was negative, by Alex Changed bb1test.c test program to see the efect. 02/10/20 ----------- GRX v2.4.5 released (Mariano Alvarez Fernandez) 02/10/18 Changed __MINGW32__ to _WIN32 in Pascal units, by Frank Heckenbach. 02/10/16 Updated the configure script, by Frank Heckenbach. 02/10/02 Corrected bugs in GrFloodFill, before it didn't paint the righter point (causing ocasionall aborts too) and didn't work on subcontexts. 02/08/27 Updates to the fdv_raw font driver, the loadfont source now does a cleanup to close the font file, fontdemo test program updated, by Dimitar Zhekov. 02/08/10 Make the test/bgi programs depend of a unique file header for input and delay functions. 02/08/10 New api functions with a unique color parameter in 0xRRGGBB format: GrColor GrAllocColor2(long hcolor); GrColor GrAllocColor2ID(long hcolor); void GrQueryColor2(GrColor c,long *hcolor); void GrQueryColor2ID(GrColor c,long *hcolor); 02/08/06 Added 'setsuid' target to test/makefile.lnx and test/bgi/makefile.lnx. Now you can run 'make -f makefile.lnx' in the grx base directory an them become root and run 'make -f makefile.lnx setsuid'. 02/08/06 Use the SET_SUIDROOT variable in test/bgi/makefile.lnx, by Dimitar Zhekov. 02/08/06 Fontdemo update, by Dimitar Zhekov. 02/08/02 Modifications to acomodate new options in makedefs.grx, for the four standard platforms: INCLUDE_BGI_SUPPORT, 'y' by default for the linux console platform: USE_SVGALIB_DRIVER, 'y' by default USE_FRAMEBUFFER_DRIVER, 'y' by default SET_SUIDROOT, 'y' by default USE_INOUTP_FRAMEDRIVERS, 'y' by default Added a note about "Suidroot in the Linux console platform" in the readme file. 02/07/29 Revert some changes in the bgi test demos to compile again with DJGPP. 02/07/29 Corrected an off-by-one error in the raw font driver, by Dimitar Zhekov. 02/07/29 16-bit fix for BGI and GRX. __gr_WR must match GrColor, by Dimitar Zhekov. 02/07/29 Changes to the BGI interface, by Dimitar Zhekov. Inline functions defined as macro and non-inline versions. BGI number of colors for DOS / BCC limited to < 15bpp. BGI aspect ratio fixed for 16-bit systems (DOS / BCC). _BGI_INLINE_ moved to fldfill.c, the only module that uses it now. Inline functions in text4.c replaced with macros. Test\bgi\colortst.c fixed to use getch() not getchar(). 02/07/21 Make bccbgi works with Borland C, by Dimitar Zhekov. 02/06/17 Added fontdemo test program, by Dimitar Zhekov. 02/06/17 Added the GrDumpFnaFont fucntion, to save a fon in a ascii fna file, by Dimitar Zhekov. 02/06/12 Three new font drivers by Dimitar Zhekov: * RAW driver - for RAW data and Linux PSF (not PCF) files. RAW data files must be 8 points wide. 512 character PSF files are supported. For the PSF files contained in Linux systems to be readable with GRX, you'll have to unzip them. * FNA driver - for the ascii font format used by grx 1 font read/write tool. A doc about this format was added to the doc subdirectory. * WIN driver - for MS Windows FNT and RES files. FNT versions 2 and 3 are supported, 32-bit RES and FON files are not. The first resource from RES is used. As far as I know, all MS Windows-es from 2.0 to NT 4.0 use FNT version 2 and 16-bit resources packed into FON for raster fonts. To use the MS Windows .FON files, split them into .FNT or .RES files using a resource editor. Note. Big endian support is untested. 02/06/12 Fixes for src/makefile.bcc and test/makefile.bcc, by Dimitar Zhekov 02/04/29 GrResizeSubContext uses now the parent context coordinates. 02/04/29 Reverted some 'const' that didn't make sense. 02/03/31 The win32 driver accepts arbitrary (user defined) resolution. 02/03/14 A new global switch _GR_textattrintensevideo (false by default) permits the use (when true) of 16 background colors in GR_ATTR_TEXT strings. 02/03/13 When the close icon is pressed in the w32 version a dialog is issued warning it aborts the program. 02/03/12 Fixed some bugs introduced with the new win32 input queue. 02/02/11 The makefile install target installs the grxprint.h file if printer support is activate 02/02/11 Inprovements to the win32 driver: Now the GRX window is properly closed, so the previous app gets the focus. 02/02/02 Inprovements to the win32 driver: The w32 imput queue implemented as a circular queue. All the input related code moved to w32inp.c from vd_win32.c The main window is created in WinMain, so the grx program can use other videodrivers like the memory one. Now the printer stuff compiles and run, checked with the DeskJet driver, printing to a file and them "copy file lpt1", but the printout is not totally correct (?). 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 01/03/06 Integrated the win32 version written by Gernot Graeff 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 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 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 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 . 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 Fixed additional subcontext bugs in GrPatternFilledLine and GrPatternFilledPlot (reported by Mariano Alvarez Fernández ) Applied the 32bit X11 patch by Ulrich Leodolter 00/04/23 Applied some changes suggested by Josu Onandia - 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 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 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