| News [Remove Frame]

May 16, 2004 - FOX STABLE 1.2.0

Here it is: the stable 1.2 release!

- New syntax coloring engine for Adie Editor. It performs incremental syntax coloring, and is thus MUCH faster than the older version.
- Fixed small issue in FXGLVisual.
- Simplified blinking cursor code in FXText; also fixed some unpainted pixels during blink near margins.

May 13, 2004 - News

What's going on:

- My DSL provider changed IP numbers on me; I had hoped to change my domain registrar at the same time, so as to have minimal disruption. Alas, it didn't work out that way; as of now, the registrar has been changed and is set up, but the old registrar still maps fox-toolkit.org to their parking site. The good news is, I have also registered fox-toolkit.com and this should now be fully operational.
- Meanwhile, Sander has registered fox-toolkit.net and this site now holds the FOX community web pages.
- On the FOX development front, I have been working on the Adie editor. I started uprooting the way style and syntax information is read in, because for people running on Windows its pretty hard to make use of the standard style and syntax files. With the new system, the style and syntax descriptions will just be read from an ordinary file which you can download and place on a specific location for Adie to find.
  While working on this, I decided to make a small side-step and implement the incremental style recoloring I had been planning to do. This small side-step turned out to be a little more involved than originally planned.
  The good news is, I just completed some of the code restructuring and it appears that it works! This means I've now come back to the issue of the style and syntax file reader; hopefully I will have something for y'all in the next couple of days.
- There have been a few minor bug fixes in FOX, and these will go out at the same time.
- Totally unrelated to FOX, I have recently bought a NVidia CineFX based video card and have been playing with that. I have managed to do some cube- and sphere-environment mapping, and even played around with some OpenGL vertex-programs. My next project is to see how I can do environment mapped bump mapping, and write some fragment-programs as well. Of course, all this is done using the FOX FXGLViewer!
  The new programmable GPU's are certainly very exciting, and I'm hoping to be able to get more into it. Perhaps a few new FOX 3D capabilities will result from it one of these days.
- Finally, it appears that due to changing circumstances, my spare time will be extremely over-committed until the end of July:- I will be teaching some undergraduate computer science classes and this will absorb most of my spare time in the coming months. I hope to be able to whip out this upcoming release before I'm really getting bogged down in it.

April 24, 2004 - New drop: DEVELOPMENT FOX 1.1.53

Collection of bug fixes today:

- New function fxwuquantize() added for quantizing colors using Wu's method. This algorithm may be used instead of the Floyd-Steinberg fxfsquantize() which is fast but does not give very nice-looking results.
  Pass FALSE for the "fast" parameter in fxsaveGIF() to use this algorithm.
- Shutterbug now saves using the new Wu quantization algorithm when saving GIF or XPM.
- Some more tweaks added to FXPopup::popup() having the menu positioned right when using multiple monitors; in particular, the code now detects when running on W2K and above.
- FXLabel now responds to ID_SETVALUE, which sets the string.
- VISUAL_SWAP_COPY mode added for FXGLVisual mode; this currently works on Windows only. When passed, the PIXELFORMAT matcher will favor a BLIT instead of SWAP for double buffer mode.
- Added tweak in FXCursor to suppress color cursors on Windows versions below Windows 2K; it will perform a thresholding operation if you use a color cursor on Windows NT, 9x.
- FXFoldingList ID_QUERY_TIP now shows a tip comprising the first text field only, instead of the entire item string.
- FXDCWindow's setClipRegion() was leaking a region under Windows.

April 16, 2004 - New drop: DEVELOPMENT FOX 1.1.52

Collection of bug fixes today:

- FXFile::absolute() now returns no trailing "/" when passed an empty filename argument.
- FXScrollArea now keeps viewport at least 50% filled with data; as size decreases below the point where scrollbars would take up most of the space, the scrollbars will be hidden. Note that you can still scroll using right-mouse dragging or using the mouse wheel.
- Fixed some minor 64-bit porting issues reported due to Itanium port.
- Small problem was discovered in cursor blinking inside FXText widget; the clip rectangle used to redraw characters was slightly too large. This primarily affected the Windows port, especially when ClearType was enabled.
- Addressed the missing FXAPI declarations in the image loader routines; during compilation for DLL build, incorrect external linkage is generated unless the proper declaration has been seen by the compiler.
- Focus navigation in FXSplitter and FX4Splitter did not take into account the need to skip hidden widgets; this caused focus to land on invisible widgets.
- Character type functions should be called with argument from 0 to 255; there were a few places in FXText, FXRex, and elsewhere where this was not guaranteed. This issue chiefly affects non ASCII character sets.
- Added Dmitris' patch to FXPopup to affect placement of popups on multi-head machines under Windows.
- Hopefully fixed the (hard to reproduce) infinite loop in FXRegistry write-back on Windows.

March 29, 2004 - New drop: DEVELOPMENT FOX 1.1.51

New for this release:

- Added basic clipboard support to FXTable.
- Added layout modes for header controls in FXTable; column (row) headers can now be fixed height (width) or have a height (width) which is computed from the contents; the rest of the table will adjust automatically.
- Added API's to change height (width) of column (row) header controls in FXTable.
- Implemented selectRow() and selectColumn() API's in FXTable.
- Fixed problem in FXTable's killSelection() API.
- FXTable now can understand ID_CUT_SEL, ID_COPY_SEL, ID_PASTE_SEL, and ID_DELETE_SEL messages directly.
- Fixed getDefaultWidth() and getDefaultHeight() in FXTable when visible rows and columns are set: now properly accounts for the scrollbars and header control layout modes.
- Added extractText() and overlayText() API's to FXTable to obtain delimiter- separated text block from the table, and to populate the table from a text block, respectively.
- When cell is changed to NULL we now issue SEL_REPLACED callback message instead of SEL_DELETED. SEL_DELETED should probably be reserved for when rows and or columns disappear from the table.
- Added global functions fxtoDOS() and fxfromDOS() to convert back and forth to DOS and UNIX string formats.
- Fixed layout.dsp project for VC++.

March 25, 2004 - New drop: DEVELOPMENT FOX 1.1.50

I'm pretty busy with my software, so some of the additions to FOX are being driven by this work and by bug reports from the mailing list. I hope, however, to devote a block of time to pure FOX work in the weeks to come.
Anyway, here's what is new for today:

- Added FXRealSlider widget; this was from an implementation initially posted by Kevin Fitch on the mailing list; unfortunately, the original implementation had some serious issues with rounding. Hopefully, I have resolved most of these with this version; the only remaining issue is that we still want some minor tweak to keep the reported values on "nice numbers". Currently, nice numbers can however be achieved when using discrete hops, for example when auto-incrementing, auto-decrementing, or using the mouse wheel.
- Added fillElms() API to FXElement.h.
- Added setHasItems() and hasItems() API's to FXTreeItem and FXFoldingItem. These API's can be used to cause placememt of the "+ box" in front of the tree item even though the item may not have children yet. It is used in FXDirList to allow deferring the scan of subdirectories until the item is really opened.
- Added wheel support to FXSlider and FXRealSlider.
- Made subclassing FXFileSelector a bit easier.
- Killed warning printouts in TIFF I/O.
- Fixed subtle bugs in FXSlider; vertical slider with 0 range was showing head on top instead of on the bottom.
- Fixed FXDial onMouseWheel: it should always return 1.
- Changed definiton of "empty range" in FXRangef and FXRanged. Range is empty when negative bounding box, not when negative or zero. This allows range boxes around single points.
  A similar fix was added to FXSpheref and FXSphered bounding spheres.
- Put back FXSelType for message type declaration in fxdefs.h.

March 10, 2004 - New drop: DEVELOPMENT FOX 1.1.49

New stuff in this release

- Added API's to FXFont to obtain actual matched font information; this does not work yet for Xft fonts, as there doesn't seem to be a way to determine what font was matched for Xft [If someone knows the scoop please let me know]. Also, there are some questions about retrieving the actual font info under Windows; caveat emptor.
- Updated the Watcom C++ makefiles.
- Fixed bug in FOX-supplied vsscanf(). Note that some systems like Linux do not use the FOX-supplied function, but use the system-supplied one, which works correctly.

March 6, 2004 - New drop: DEVELOPMENT FOX 1.1.48

New stuff in this release

- Added new API's to FXBitmap: crop(), rotate(), mirror(), fill(), and scale(). Thanks to Marc Cartright for initial versions of these routines.
- Added FXBitmapView, FXBitmapFrame classes for black/white bitmap display; these work exactly the same as the corresponding FXImage classes only they display a 1-bit/pixel FXBitmap.
- When reswrapping text, the output array is now declared as char instead of unsigned char. You can override this with the new option -u which forces unsigned char mode.
- Added bitmapviewer demo program.
- You can now set display foreground color in Calculator.
- Updated TIFF i/o routines for libtiff version 3.6.1.
- Fixed FXThread internals for SUN and SGI builds; dropped min stack size test as the symbol is not available on all platforms.
- Fixed "lost line" from FXDCWindow (presumably, keyboard incident).
- Fixed various minor bugs in FXBitmap; updated Marc's routines to work for bitmaps with widths which are not multiples of 8.
- Slight speedup in FXStream block mode save/load by taking byteswap test out of the loop.

February 24, 2004 - New drop: DEVELOPMENT FOX 1.1.47

New stuff in this release

- Added FXSpheref and FXSphered spherical bounds classes.
- Broken up FXRange into new FXRangef and FXRanged classes; new and more usable interior representation, plus a number of new API's. Be aware that old code using FXRange needs to be updated; in particular, indexing is now reversed!
- Moved patternFromText() and extensionFromPattern() to public API in FXFileSelector.
- Added setMatchMode() and getMatchMode API's to FXFileSelector and FXFileDialog. You can use these to change the wildcard matching options in the FXFileDialog (like e.g. FILEMATCH_CASEFOLD option!).
- Updated FXGLVisual internals; now searches for 24bit Z-Buffer by default. Since some cards support only 24bit Z-buffer when stencil buffer is also enabled, decreased matching weight of stencil buffer a little bit to weigh Z depth higher.
- Added API setDiskColor() and getDiskColor() to FXRadioButton so you can change both the ball as well as the disk color of the radio button.
- Added setBoxColor() and getBoxColor() API's to FXCheckButton so you can change both the checkmark color as well as the background color of the check box.
- Updated FXGLViewer, FXGLObjects to use new FXRangef classes.
- Removed FXThread::yield(). Apparently, this functionality is not always available in POSIX.
- Added FXRegion::reset() to clear region back to empty.
- Fixed some typo bugs in FXQuatf and FXQuatd.
- Cleaned up some functions from FXImage's public interface.
- Fixed bug in FXDCWindow Xft2 font handling.
- When FXSpinner or FXRealSpinner are set to be non-editable, the value can no longer be changed in any way by the user but only programmatically.
- Fixed bug in FXImage mirror() implementation; mirror() was not working when mirroring both vertically and horizontally.
- Added safety check for potential divide by zero in FXMatrix.
- FXEvent type member was not always set in SEL_MOTION message under WIN32.
- Added new test program layout originally constributed by Bill Baxter.
- New code in FXImage render() should leave some memory checkers less confused.
- Added EOLSTRING macro, which is set to "\n" on UNIX and "\r\n" on Windows; this works similarly to PATHSEPSTRING and PATHLISTSEPSTRING.

February 8, 2004 - New drop: DEVELOPMENT FOX 1.1.46

New stuff in this release

- Added FXThread and FXMutex classes for threading support.
- Updated pthread library detection.
- Updated Xft2 detection when compiling with --with-xft=yes.
- Removed nr,nc parameters to FXTable; it was found to be confusing. You can use table->setVisibleRows() and table->setVisibleColumns() to force a particular layout size of the table.
- Fixed FXTable default size computation. It didn't properly account for the headers.
- Removed confusing "nvis" parameter to FXList, FXTreeList, and other list widgets. Use list->setNumVisible() to set the number of visible items if a non-zero value is desired.
- Fixed some issues in FXFont and FXDCWindow as suggested by Ivan Markov.
- Added documentation in the standard tarball delivery.
- If you have cool applications based on FOX, commercial or otherwise, please consider submitting a small abstract and screenshot for the FOX projects page!.

January 26, 2004 - A New Beginning!

I'm no longer at CFD Research Corp!

What happened?

- CFD Research Corp. and yours truly parted ways.
- See CFD Research Corp. spins off software products division announcement.

What is the status of FOX?

- CFD Research has officially disclaimed all copyright interests in FOX; in practical terms, that means I get to keep full rights and title to FOX.
- CFD Research will continue to be able to use FOX under the current license.

What will happen to FOX in the future?

- In the immediate future, I will have a lot more time to concentrate on FOX ;-)
- FOX will continue to be available under its current license, if I can help it.
- I am now offering consulting services.
- I hope to be able to not only work on, but continue to use FOX myself in the future.

Older News

Older news...

Copyright © 1997-2004 Jeroen van der Zijp