| News [Remove Frame]

October 18, 2004 - FOX DEVELOPMENT 1.3.16

- FXToolBarGrip and FXToolBarTab now support tooltips.
- Fix FXBitmap::crop() to match FXImage::crop().
- Pass margins in FXText's constructor.
- Changed type of FXSELID and FXSELTYPE back to unsigned short.
- Fixed overstrike bug in FXTextField.
- FXTabBar and FXTabBook now properly observe LAYOUT_FIX_WIDTH and LAYOUT_FIX_HEIGHT in the FXTabItems.
- Fixed bug in Adie preferences panel style editing; thanks to Sander for discovering this.
- Made some enum's public in various list items; some options were inaccessible to user programs.

October 9, 2004 - FOX DEVELOPMENT 1.3.15

- The raise() API does not make a window the foreground window anymore except if the window is derived from FXTopWindow; this only pertains to WIN32.
- Adie highlighting pattern for PHP added.
- Added some tests in FXString to check for NULL arguments passed to assign and other API's.
- Fixed some problems in FXWString.
- Fixed fox-config --cflags output: now inludes full header path.

October 9, 2004 - FOX DEVELOPMENT 1.3.14

- Fixed introduced problem in FXDirBox.

October 7, 2004 - FOX DEVELOPMENT 1.3.13

- Creation scarce resources such as images, icons, fonts, cursors, and windows now may generate exceptions instead of simply failing. There are new exception types for these resources: FXWindowException, FXImageException, FXFontException. Note that exceptions are only thrown in case of errors due to limitations at run time; programming errors are still handled via fxerror().
- Added new API, tryHandle() to FXObject, which performs an exception-safe message call through handle(). This is now used by most widgets to push messages to their targets.
- Spruced up TARGA reader with alpha channel support in colormaps.
- Simplified internals on some widgets, in particular, eliminated some useless self-messages.
- Expanded documentation on some widgets.
- Added friend functions to FXVec4d and FXVec4f to construct plane equations from points, point and vector, or point and distance.
- Added API to FXVec4 for intersection test with line segment.
- Added API to FXVec4 for signed distance to point (if FXVec4 contains a normalized plane equation.
- Added API to FXVec3 to get normal to 3 points, or (approximate) normal to 4 points.
- Changed defintion of FXSphere intersect with plane to mean normalized plane equation. This is much faster as it eliminates bunch of multiplies and square root.
- Fixed the above function to return more sensible values.
- Calling setCurrentItem() on the FXListBox and FXComboBox now scrolls the current item into view inside the associated popup list.

September 22, 2004 - FOX DEVELOPMENT 1.3.12

- Implemented new widget, FX7Segment, which draws LCD-style text. This will look nice for clocks and timers. Of course FX7Segment can be hooked up to a FXDataTarget.
- After creating a new directory in FXFileSelector, the panel immediately switches to that directory.
- Fixed bug in FXMenuButton which caused its FXPopup menu to be improperly resized first time around.
- Changed looks of FXDirSelector and added some much needed functionality to it; its fully on a par now with FXFileSelector. This includes setting bookmarks and so on.
- Removed API to FXApp: awaken(); it will be split off into its own special class.
- Eliminated getClassNameLength() API which appears to be only used once in the entire library. Also eliminated corresponding member variable and adjusted FXIMPLEMENT and FXIMPLEMENT_ABSTRACT macros.
- Added parameter to FXMutex, for creation of recursive mutexes.
- Added API addObject() to FXStream which allows additional objects to be entered into its hash table.
- FXStream now uses FXHash internally, eliminating some duplicate code.
- Added more extensive documentation in FXMDIChild and FXMDIClient.
- Added some API's to FXHash for use in other applications.
- Fixed some border cases in FXHash (when only 2 items in table).
- Extended capability of crop(). It can now accept arguments larger than the original image. It has an extra argument which determines the color with which new pixels will be filled. For example, given an original image of size wxh, a call to crop:

           image->crop(-1,-1,w+2,h+2,FXRGB(255,0,0));

  will resize the image and give it a red border all around.
- Added function getWMBorders() to FXTopWindow to obtain window-manager provided borders. This allows you to determine the position of the window as the user sees it. Note that if you have an unusual window manager, this may not work properly.

September 8, 2004 - FOX DEVELOPMENT 1.3.11

- Added new standard dialog, FXChoiceBox. It allows picking an item from a list.
- Added new API to FXApp: awaken(). This can be called by other threads to wake up the main user interface thread; it also causes a GUI update cycle, so you can call this in case a thread has changed something that needs to be reflected in the user interface.
- Added a new layout manager, FXDockSite. Do not rely on this yet, it is still under development. The purpose is ultimately to enable side-by-side docking toolbars.
- The API's findItem() and findItemByData() in FXTreeList, FXFoldingList, etc. have been updated; they now search the entire tree instead of just looking at a given level.
- Made slight optimization to FXFileDict; no longer creates icon only to discover that an icon-file does not exist.
- Border cases in FXFile::simplify() and FXFile::expand() now handled better.
- Added missing flavors for FXInputDialog; just as FXMessageBox, you now have stand-alone versions of these [as opposed to having to have an owner].
- Added API fxdllError() to FXDLL which can be used to obtain the error message.
- Fixed some tooltip trouble in FXPicker.
- FXRegion::bounds() now returns bounding rectangle as return value instead of as a parameter; this is more succint in usage.
- Adie now understands SUN CC compiler error syntax when hitting ^E to open a highlighted error message.
- Fixed some Adie syntax patterns.

August 22, 2004 - FOX DEVELOPMENT 1.3.10

- Finished implementation of FXRuler widget. FXRuler widget can be used to provide a scale above (or besides) a document. It provides document margin control, tick marks, and optional indentation settings. The entire ruler scale can be scrolled in case the document is larger than the visible area allows for.
- Updated fox.spec for package building; changed fox.spec.in so version numbers are automatically embedded into fox.spec.
- Fixed some inconsistent names in FXThread; hopefully, this will be the last API change for 1.4.
- Added feature to allow filter entry in the Filter combo box of the file dialog; this feature can be enabled with the allowPatternEntry() API's.
- Changed some enum-names in FXMemMap due to conflicting names on SGI machines.
- Removed expensive update handler for FXText and FXTextField: the method is not scalable to large numbers of widgets, or large numbers of FOX applications running on a desktop. The method may be reinstated if a better idea arises.

August 15, 2004 - FOX DEVELOPMENT 1.3.9

- Added classes FXSemaphore, FXCondition; tweaked API's of FXMutex, FXMutexLock just a bit. Note that the underlying implementation of the synchronization primitives is concealed from the application code; however, this does entail some guesswork about the probable sizes of these data structures. There are asserts in the code to verify the assumptions; however, until you know that these assumtions are correct, I recommend compiling with debug mode the first time you're porting to a new platform.
- Having SEL_PASTE_SEL in FXText and FXTextField check for clipboard data was, in hindsight, probably not a good idea due to possibility of extraordinary amounts of network traffic in large applications. The idea might come back at some later date when we have a better, more scalable, implementation concept.

August 13, 2004 - FOX DEVELOPMENT 1.3.8

- Added class FXSplashWindow which puts the new shaped window feature to good use.
- Fixed bug inquireDNDTypes().
- Added FXMemMap class for memory mapped files.
- Implemented FXTopWindow placement patch.
- Update handler for SEL_PASTE_SEL in FXText and FXTextField now checks for clipboard data.
- Added some missing API's to FXFileSelector and FXFileDialog.
- FXFileDialog now remembers its size, file display mode, in the registry.

August 13, 2004 - FOX STABLE 1.2.9

- Fixed bug inquireDNDTypes().
- Back-ported FXTopWindow placement patch.

August 13, 2004 - OLD FOX STABLE 1.0.53

- Fixed bug inquireDNDTypes().

August 2, 2004 - FOX STABLE 1.2.8

- Fixed bug in TARGA input routine fxloadTGA().
- Added support for 15bpp TARGA format.
- Updated config script for cygwin thread.
- Fixed configure issue with fox-config installation.
- Added FX_NO_GLOBAL_NAMESPACE to fxkeys.h.
- Fixed fxloadICO(), which was not accepting icons with 4 colors.

July 31, 2004 - FOX DEVELOPMENT 1.3.7

- Added support for SUN Raster Image Format; thus, we have new classes FXRASImage and FXRASIcon, as well as fxsaveRAS() and fxloadRAS().
- Added RAS support to ShutterBug also.
- Fixed configure test for XShape support.
- Fixed configure issue with fox-config installation.
- Added preliminary support for XRandR (I can't test it on my video card as the NVidia driver does not seem to support it; so its as yet untested).
- Added getCurrentUserName() API to FXFile; it returns the current user name.
- Added:

              #ifndef FX_NO_GLOBAL_NAMESPACE
              using namespace FX;
              #endif

  to fxkeys.h.

July 28, 2004 - FOX DEVELOPMENT 1.3.6

- Added new API's to FXWindow for non-rectangular widgets. The new API's are:
  - setShape()
  - clearShape()
  The setShape() API has several overloads; you can set the shape based on an FXRegion, a bitmap, or based on the shape mask of an icon.
- Updated the Shutterbug application to draw a shaped window, just the single icon:- its a window with legs ;-).
- Added a setRootWindow() API to FXApp which allows setting a custom root window. Changing the Root Window absolutely must be done prior to constructing any other widgets.
- Adie now only pops up the "File Changed Externally" dialog when the focus moves into the window.
- Added setData() API to FXImage. This allows you to set the image buffer of the FXImage after construction.
- Relaxed check in fxloadICO(). It was not accepting icons with 4 colors.
- Implemented Lothar's patch to tooltip placement into FXToolTip; prior to the patch, a possibility existed for the tooltips to appear too close to the taskbar on Windows.

July 18, 2004 - FOX DEVELOPMENT 1.3.5

- Added drawRoundedRectangle(), fillRoundedRectangle() and drawEllipse() and fillEllipse() API's to device context functions.
- Updated Windows VC++ project files for FXIFFImage.cpp, FXIFFIcon.cpp and fxiffio.cpp files.
- Added test for XShape extension to configure.in.
- PathFinder now can show IFF files if double-clicked.
- Updated dctest with some drawings for new drawEllipse() and drawRoundedRectangle() API's.

July 17, 2004 - FOX DEVELOPMENT 1.3.4

Finally, most of my coursework is now behind me (I've been teaching a Computer Science class this summer!), and today was the first day I could pick up normal FOX development again. I still have a few more lectures and finals to prepare, but I thought it'd be nice to make a release of the latest additions.

- Added for Amiga IFF files; this includes new classes FXIFFImage and FXIFFIcon. Currently, it supports loading only, and files of type normal, HALFBRIGHT, HAM, HAM8, and 24-bit support. I am interested to add Maya IFF support also, but I have insufficient information and I have no sample files of this format.
- An application-side FXMutex is now available. You can assume that each callback message handler runs protected under this lock, and the lock is released when blocking for events (thus, 99% of the time, the mutex is not held by the GUI thread).
- Fixed issue with our own vsscanf() implementation which is used if no native version of this function is available.
- FXListBox, FXTreeListBox and FXComboBox should not react to arrows when disabled.
- Removed ID_QUERY_TIP, ID_QUERY_HELP in favor of new message types SEL_QUERY_TIP, SEL_QUERY_HELP. The advantage is that we can (and do!) now bounce the ToolTip and Status help messages to the target object first; this allows your program to override the tooltip and status line help messages based on the widget from which the messages originate.
- Added findItemByData() to various list widgets so one can determine the item from the void* ptr passed during creation. This is handy when the list widgets are filled with pointers to data in the application program and one has to resolve these pointers back to items. Contributed by Mal Goris.
- The function fxloadPPM() returned FALSE, even if successful. It should return TRUE if successful.

June 18, 2004 - FOX DEVELOPMENT 1.3.3

- FXTreeList, FXList, FXIconList, FXFoldingList now invoke layout() inside makeItemVisible(), if necessary; this removes some problems with scrolling item into view just after the list was populated.
- Removed a great number of compiler warnings again.
- Made getItemAt() and makeItemVisible() virtual again.
- Fixed small bug in FXSpring widget.
- Adie now recognizes filename(linenumber) : error message when you invoke "Goto Selected". It will load the file and jump to the line number.
- Also, another update has been made to the syntax pattern file; please send your submissions for syntax patterns for other programming languages!

June 11, 2004 - FOX STABLE 1.2.4

Minor bug fix in FXObjectList which manifests itself on 64 bit machines; updating should not be necessary for 32 bit users.

June 9, 2004 - Web Page Updated

Updated FOX Projects web page with new entry, XTC [X-Windows Test Control] application which was developed by Daniel K. Osawa for Intel Corporation's Enterprise Products Group.

June 3, 2004 - FOX STABLE 1.2.3, STABLE 1.0.52

I discovered a small bug and retroactively fixed the FOX 1.2 as well as the FOX 1.0 releases. The particular bug was in the vector classes return value of the operator!(), which should have been int. This has now been fixed.

May 18, 2004 - FOX STABLE 1.2.1

As happens with a major release, some little tidbits were overlooked; so here goes a small update with a couple of small fixes.

- Fixed some small bugs in Adie C++ patterns.
- The Library should now be called libFOX-1.2 of course!
- Forgot one file for the Borland C++ Makefile.bc in Adie.
- getCurrentContext() API needed to be stubbed out when building with NO OpenGL.

May 16, 2004 - FOX STABLE 1.2.0

Here it is: the stable 1.2 release! I'm going to be extremely busy in the next few months, so I figured its good to get it out now!

- The A.d.i.e. Editor has a new syntax coloring engine! Since the new engine incrementally colorizes the text buffer, working with the editor on large text files no longer feels sluggish, but very responsive now. The old registry-based patterns setup is also gone, in its place we now have a syntax file. Windows users will enjoy this as this means you can just drop the provided Adie.stx file in your $PATH and then you're ready to go!
  The syntax file does not specify colors, but only symbolic style values; the colors are still specified using the registry. Since the initial color settings are rather boring, you will have to change the colors using the Preferences Dialogs. This needs to be done only once, the colors will be saved to the registry after that. Future versions will probably provide some default color setup.
- The current style file contains some preliminary patterns for C++, Python, and Ruby, as well as a few other languages. I expect to provide additional patterns, and I welcome contributions in this area.
- The new A.d.i.e. can handle multiple top level windows.
- A reminder:- the A.d.i.e. Editor is licensed under GNU General Public License, and not Lesser GPL like the FOX Library itself. There has been some confusion about this in the past.
- Also, fixed small problem with FXGLVisual::isBufferSwapCopy().
- Simplified blinking cursor code in FXText; also fixed some unpainted pixels during blink near margins.
- Fixed a few other minor things, as usual.

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-2026 Jeroen van der Zijp