April 1 - FOX DEVELOPMENT 1.7.20
 |
- Small reorganization of source files; allows in-situ usage of library.
- Removed getCursorItem() API from list widgets. Was not working reliably anyway.
- Changed the way tooltips are obtained in list widgets. New onQueryTip() implementation
calls getCursorPosition(() and uses getItemAt() to determine which item to get tip from.
- Added getToolTip() API to list items. Default implementation returns label, but its
a virtual intended to be overloaded in subclassed list items.
- Fixed the FXColorDialog's custom color wells. They were not saved to registry before.
Code was moved from FXColorSelector to FXColorDialog, which simplifies FXColorSelector for
more easy customization.
- Sort colors in FXColorSelector. First cut of algorithm is reasonable, but needs improving.
- Converted to new automake tools.
- Converted FOX from CVS to GIT repository.
March 17 - FOX STABLE 1.6.36
 |
- Fixed FXTable startInput() issue.
February 05 - FOX DEVELOPMENT 1.7.19
 |
- Reversed arguments in fxfilematch() and FXPath::match(); this allows default parameter to be passed for
pattern (which is also self-documenting).
- FXString::format() and FXString::vformat() now return size of the string; this is more useful than
self-reference.
- FXSettings APIs now sport versions which take FXString reference. This eliminates many ".text()" calls
to pass char* pointers.
- FXRecentFiles now works on FXSettings, not FXApp. Now specifically disallows empty filenames.
- Added volume to FXStat. Volume and index uniquely identify a file in the system, even when
symlinks are used. Interpretation of these values other than simple comparisons depends on the
operating system, however!
- FXDirVisitor split off into its own file.
- Major speed improvement in FXMat4d, FXMat4f matrix inversion: speeded up by over factor two;
this is based on a specific Laplace Expansion of the 4x4 Matrix which is based on 2x2 subblocks
instead of the usual development by a row and 3x3 minors.
- Based on the above techique, we also have a faster 4x4 determinant calculation [about 25%
fewer floating point operations].
- Block editing of FXTable cells which are disabled.
- Wrote a little piece on the new half-float support and the theory behind its implementation
in FOX: see fasthalffloatconversion.pdf.
This paper explains the new half-float representation [similar to IEEE754 float and double], and how extremely
fast conversions can be obtained.
- Eliminated automatic conversion of FXColor to- and from FXVec4 and FXVec3. These API's have
caused much hidden bugs and indeed after removing them even more bugs surfaces which were
masked by these API's.
The New API's are colorToVec4f(), colorFromVec4f(), colorToVec3f(), colorFromVec3f(), and their
equivalent double-precison flavors.
Also fixed at the same time is more correct rounding when convering from floating point to
integral representations.
- Added FXAtomicPtr template class for lock-free programming support on SMP type systems.
The new lock-free primitives require processor bus-locking support. Due to at least
some GCC versions having problems, the new FXAtomicInt and FXAtomicPtr implementation in
FOX prefers to use the inline assembly version over the GCC __sync_xyz() style built-ins.
Some of the API's have been renamed to more commonly (and succinct) names, such as cas() (compare-and-swap),
set() (exchange).
- New code in FXThread for determining #processors.
- New API's added to FXImage. The colorize() API colorizes an image by multiplying its luminance
by a given color argument. The fade() API fades the image to a uniform given color, based on a
fading-factor.
- Some more stringent checking and tracing in FXGLVisual matching added.
- Workaround added for non-conforming handling or GLX 1.3 or newer by allowing
0 for glXCreateWindow() in older glX implementations.
February 05 - FOX STABLE 1.6.35
 |
- Backported FXFont Freetype pitch size.
- Fixed compose context create issue.
- Bug fix in fxloadPPM() when ascii black and white bitmap is loaded.
- Call tr() when populating color names.
- Small bug in FXTextField when I-beam cursor surrounded by non-ascii UTF8 characters
and it near the beginning or end of the string.
November 24 - FOX DEVELOPMENT 1.7.18
 |
- Added FXhalf half-precision floating point format support. This is a 16-bit float as needed for
signal processing and high-dynamic range imaging. FXhalf is designed to behave in all respects
like a float number, except with a more limited range [up to 65504.0].
We have developed some extremely fast, table-based conversion methods.
- Small problem in preprocessor conditions fixed in FXAtomic.h
- Get/set font added to FXCalendarView.
- FXCalendar header and body font can be changed independently.
- Now have ticket spinlock implementation inside FXThread [GCC/x86/x86-64 only].
- Added RGBA save for FXDDSImage and FXDDSIcon.
- Small API changes in FXStream and its subclasses. Made things more easy to remember and more consistent.
- Improved documentation in FXThread.h
- Added getSelectedFiles() API to FXFileList.
- API's added to FXStat to yield link count and file inode(index) on filesystems where such
info is available.
- Simpler enumeration of entries in FXDir. Also, its faster.
- Added resetGradients() API to FXGradientBar.
- Initialize FXGradientBar to more sensible default gradient.
- Message handlers ID_UPPER_COLOR and ID_LOWER_COLOR could be interfaced directly
to FXColorWell. Now, they can also be directly interfaced to FXColorDialog and
FXColorSelector since these now ID_SETINTVALUE and ID_GETINTVALUE which permits
bi-directional dataflow similar to other widgets which can be connected to FXDataTarget.
- FXMDIClient now as optional background tile image.
- Generate SEL_MINIMIZE, SEL_MAXIMIZE, SEL_RESTORE messages on Windows as well as X11 when windows
are iconified/minimized, maximized, or restored through Window Manager.
- Added setOwned(), isOwned() API's to FXImage, FXBitmap. This affects the way the client-side
pixel buffer is managed.
- Added getActualFontDesc() API to FXFont so we can get the info about which font was actually
matched in a more convenient form than using the individual API's.
- DDS support now includes half float and float (R16F, G16R16F, A16B16G16R16F, R32F, G32R32F, A32B32G32R32F
formats.
- Fixed problem in FXMessageChannel: using Semaphore instead of Event on Windows fixes
sporadic lock-ups.
- Added extra option to FXMessageBox.
- FXProgressDialog and FXProgressBar now support ID_SETINTRANGE and ID_GETINTRANGE,
permitting connection through messages.
- Updated XDND system with DRAG_ASK. DRAG_ASK causes menu popup; this eliminates
accidental drag-and-drops when you really wanted to click.
- Some small fixes for compile w/o OpenGL.
- Fixed possible memory leak [small one] when things end with timer or chore.
- Fixed bug reading monochrome .pbm bitmap.
July 28 - FOX STABLE 1.6.34
 |
- Fixed bug in FXSettings; symptoms: every once in a while, a key-value pair was skipped.
- Small update to MAC-OSX implementation of FXThread.
- Fixed some minor things in fxutils for particular Windows header files.
- On Windows, block widget size update if it is minimized; minimized is a state, and
does not cause a new size.
- Minor tweak to order in which size constraints are being passed to Window Managers
on X11. Some Window Managers had a problem with the old order.
- Added FXSGN() and FXSGNZ() macros.
- Updated FXFileList drag and drop. Popup menu appears when normal drop occurs.
July 1 - FOX DEVELOPMENT 1.7.17
 |
- New Image Type supported: FXDDSImage and FXDDSIcon support ".dds" file type images; images are decoded
when loaded (saving is not yet supported at this time). The following formats are implemented:
DXT1 (BC1), DXT2, DXT3 (BC2), DXT4, DXT5 (BC3), ATI1 (BC4), 3DC (or ATI2/BC5), and RXGB. Also supported are
non-compressed formats RGB and LUMINANCE.
At this time, only the first image is loaded; future versions will probably load 3D images and possibly
Cube Maps as well. Note: the image loader is not suitable for directly passing images through to OpenGL;
this code will however be made available at some time as well.
- Added transform() API to FXSphere; it may be used to transform bounding sphere by affine transformation
matrix.
- Also added transform to FXRange. Again, matrix must be an affine transformation matrix.
- Many Input Method Editor improvements.
- Added head() and tail() API's to FXArray and FXObjectList. Mostly for convenience sake.<\li>
- Updated documentation for FXRangeSlider.
- Extended drag and drop protocol with DND_ASK.
- FXAutoPtr class added. This represents owned, non-reference counted pointer variable. This is
especially convenient for keeping tabs on all your icons and such.
- FXURL family of API's extended: encoding/decoding, but also picking apart URLS into parts according
to the rfc3986 syntax.
- Added FXPath::share() API for Windows.
- Updating FXFileList for new DND_ASK type.
- FXIconSource now supports FXDDSImage and FXDDSIcon.
- Reimplemented utf2wcs(), utf2ncs(), wc2utfs() and nc2utfs() to be buffer overrun-safe.
- Updated FXThread for Mac OS-X.
- New API's in FXDCWindow: fillVerticalGradient() and fillHorizontalGradient() for gradient-fills.
- New API stackingOrder() added to FXTopWindow to control window stacking order explicitly. There
are three types: STACK_NORMAL (the default) where the order is determined by owner windows; STACK_BOTTOM
which will cause the window to be below other windows, and STACK_TOP which will constrain it to be above
other windows.
April 29 - FOX STABLE 1.6.33
 |
- Backported FXTopWindow resize() and position() fixes from FOX 1.7.
- Fixed GCC 4.3 warning in FXArray header file.
- Made internal data arrays static to prevent global name clashes on some compilers.
- Fixed uninitialized variable in FXFileDict.
April 22 - FOX DEVELOPMENT 1.7.16
 |
- Fixed issue with unplugged XDevice (when xorg.conf contains device but device
was unplugged).
- FXMenuButton pops and collapses with any mouse button, not just left one. This fixes a minor
problem if one tries to right-click after having left-clicked FXMenuButton.
- FXIconSource now handles "jpeg" and "tiff" extensions instead of only "jpg" and "tif".
- Forgotten tr() added to FXMessageBox.
- Added NoAccessTime option for FXFile open() call.
- Added Rename option to FXFileSelector widget.<\li>
- FXString::vformat() and FXString::format() and other printf-like printing routines now support
positional arguments.
- FXString::vscan() and FXString::scan() and other scanf-like reading routines now also support
positional arguments.
- FXTopWindow not only UTF8 title but also sets 8859-1 title string for legacy window managers.
- Fixed numerous warnings due to GCC 4.3 new integer overflow rules (-fstrict-overflow and -Wstrict-overflow).
Whenever the optimizer makes the assumption is made that expressions doesn't overflow, a warning is issued.
Rewriting code in a way that makes the assumption go away will kill the warning; sometime, unsigned
may be used as well. So I rewrote a lot of code in FOX to be more overflow-resistent.
- Fixed many warnings reported by Borland C++ compiler.
- Moved REGEX_ enums into FXRex class namespace.
- Applied FXComposeContext and FXApp patches for input methods on Windows; new message types
have been introduced because of this, SEL_IME_START and SEL_IME_END.
- Corrected problem causing NVIDIA driver video-memory leak in FXGLContext when new GLX1.3
code is used on new Xorg X Server. The problem caused video memory to remain allocated past
the termination of the program. Of course this should never happen, not even in incorrect
programs. NVIDIA is looking at the problem from their end.
March 10 - FOX STABLE 1.6.32
 |
- Fixed FXPath::simplify(). Backport from FOX 1.7.
- Fixed Adie CPU load issue caused by clock updating.
- Fixed FXURL::fileFromURL().
January 11 - FOX DEVELOPMENT 1.7.15
 |
- Updated MS-Windows OpenGL implementation. Now uses wglGetPixelFormatAttribivARB()
from ICD driver (where available) to determine extended PIXELFORMAT attributes.
Of particular interest is the ability to match multi-sampling PIXELFORMATs which
support hardware anti-aliasing.
- Fixed bug in FXSettings not dealing properly with CRLF on MS-Windows (when in
ASCII mode; the regular mode uses the registry and that worked fine).
- Implemented PropertyNotify message from X11 to intercept _NET_WM_STATE
changes. This allows us to send SEL_RESTORE, SEL_MAXIMIZE and SEL_MINIMIZE when
the user manipulates an application's top-level window.
January 2 - FOX DEVELOPMENT 1.7.14
 |
Happy New Year to all the FOX Users! Despite the holidays, its been a pretty busy over
here with new FOX developments; since its the new year it was decided not to sit on this
any longer but to release it and get some early feedback. So without further ado, here
it is:
- Added 3DConnexion SpaceNavigator support (currently
under Unix only).
The SpaceNavigator device is a 6DOF motion controller; if your working with 3D software,
you'll probably want to get one of these things. However, even if you're just fond of using
Google Earth, you'll probably going to find this thing
very useful.
To get this device working on Linux, a recent Xorg X Server (7.3 or later) with USB HID
XDevice support is needed. Of course, HID support in the linux kernel also needs to be enabled.
Other than that, no special device drivers are required. However, some minor configuration
files need to be changed to allow X11 to recognize the device.
Simply include the following line in the "ServerLayout" section of your Xorg.conf file
(typically located in the /etc/X11 directory on your system).
InputDevice "SpaceBall" "SpaceBall"
Also, add a new "InputDevice" section in your Xorg.conf file:
Section "InputDevice"
Identifier "SpaceBall"
Driver "evdev"
Option "Name" "3Dconnexion*"
Option "Pass" "3"
Option "Mode" "Relative"
Option "XRelativeAxisMap" "0"
Option "YRelativeAxisMap" "1"
Option "ZRelativeAxisMap" "2"
Option "RXRelativeAxisMap" "3"
Option "RYRelativeAxisMap" "4"
Option "RZRelativeAxisMap" "5"
Option "ZRelativeAxisButtons" "off"
EndSection
After these changes, you should of course restart the X Server. There is no need for
any additional driver modules; the new evdev device capability in the X Server does
all the hard work.
Your Space Navigator or Space Traveler (the Space Traveler is a portable version of the Space
Navigator. It has a few more buttons.) should be plugged in prior to starting your FOX
application.
- Added new message types SEL_SPACEBALLMOTION, SEL_SPACEBALLBUTTONPRESS, and
SEL_SPACEBALLBUTTONRELEASE for 3DConnexion SpaceNavigator
devices.
- Revamped OpenGL support with GLX 1.3 or higher (frame buffer config supprt). There are new
options for FXGLVisual, and some older options have been renamed, to force updating of existing
software.
The new implementation allows multi-sampling frame buffer configurations, as well as
explicit control of rendering surface types (Window, Image, or Buffer).
- Updated FXGLCanvas. FXGLCanvas now has the capability of using externally
created FXGLContext or to use a private FXGLContext. Thus, FXGLContexts may
be shared between instances of FXGLCanvas.
There are a few news APIs to control
the context being used, and a new option GLCANVAS_OWN_CONTEXT to specify if the
FXGLCanvas should manage the FXGLContext or not.
- FXGLContext has been rewritten to use the updated FXGLVisual. The FXGLContext object's lifetime
can be managed independently from the FXGLCanvas windows. This allows for better control of the
OpenGL resources (textures, display lists, shaders, etc). FXGLCanvas windows may be created and
destroyed without losing OpenGL objects.
- Fixed bug in fxprintf.cpp with "%n" format.
- Fixed core dump in fxtifio.cpp which was due to crappy TIFF library not handling
errorhandling function-pointers nicely. We now get no messages, but at least some types of
off-spec TIFF images no longer seem to cause core dumps.
- Fixed GCC type-punning warnings in FXThread.cpp.
- Fixed some warnings in FXApp.cpp.
- Simplified some code in FXDCWindow.cpp, and FXVisual.
- Added flag to force visual ID in FXVisual; this allows you to create a 2D drawable
with a compatible visual to a 3D drawable.
- Added default handler for SEL_SPACEBALLMOTION, SEL_SPACEBALLBUTTONPRESS, and
SEL_SPACEBALLBUTTONRELEASE in FXWindow.
- Added Space ball support for rotation, panning, and zooming in FXGLViewer.
- Spinlock support on MS-Windows added.
November 16 - FOX DEVELOPMENT 1.7.13
 |
- Added FXRangeSlider widget.
- Updated FXAtomic with new API's, and made it use new GCC 4.1 compiler built-ins where available; it uses
inline assembler code if not available.
- Added API to change threshold level in FXIcon; the threshold level is used to determine etched-in looking
icon when button with icon on it is disabled.
- Added FXSpinLock spin locking primitive for multi-processing; Note: currently not available on MS-Windows yet;
coming soon, however!
- Missing FXAPI declaration added to FXMessageChannel.
- Updated documentation for FXDLL.
- Fixed esoteric problem with GUI update refresh cycle; always skipped last widget. Not a very
serious problem since refresh cycle always never starts from the same widget.
- Problem with FXDockBar stickyness fixed. Needed to block docking at unallowed dock sides
even when done via menu.
- Every once in a while, got X-Window error from inside FXDockHandler. This was due to temporary
dummy window which only exists during dragging. Made sure this is now blocked off.
November 16 - FOX STABLE 1.6.31
 |
- Bug fix to strtoull() for systems which have no native strtoull().
- Missing tr() added in FXMDIClient.
- Fix for FXRuby in FXMDIClient (don't test for message==0 in notify message).
October 6 - FOX DEVELOPMENT 1.7.12
 |
- Added additional API's to FXMat3d, FXMat3f, FXMat4d, FXMat4f.
- FXSlider, FXRealSlider didn't update tickmarks (if shown) when slider range was changed.
- Small typo found in fxfilematch() was found which affected character-range matching.
- Change in the order FXSphered, FXSpheref is expanded when bounding box is added, resulting,
in most cases, in a smaller bounding sphere.
- API added to FXTreeListBox, FXListBox, to set shrink-wrap mode for popup pane; this allows
minimum size depending on actual number of items in list.
- Logic of sizing items in FXIconList changed slightly.
October 6 - FOX STABLE 1.6.30
 |
- Fixed some issues with flush() in FXBZFileStream and FXGZFileStream.
- FXDial didn't issue SEL_COMMAND when driven from keyboard.
- Small typo found in fxfilematch() was found which affected character-range matching.
- Problem in FX7Segment fixed.
August 9 - FOX STABLE 1.6.29
 |
- Added ".jpeg" as additional extension for JPEG images in FXIconSource.
- Fix in FXSplashWindow not killing timer if it gets destroyed before timer goes off.
- FX7Segment had bug in onCmdGetStringValue() implementation (it was not returning the
string).
- Cruft removed from FXMat3f.
- Bold style fixed in FXText.
- Read outside buffer problem (flagged in valgrind occasionally) fixed in FXText.
- Bugs in FXListBox and FXTreeListBox fixed.
July 31 - FOX DEVELOPMENT 1.7.11
 |
- The FOX Library License has been changed to the new Lesser GPL Version 3!
In addition, the FOX Library License Addendum has also been changed; a
new clause has been added to the License Addendum.
The new clause in the License Addendum stipulates that the License Addendum does not propagate to derivate
works:- when you make a derivate work based on the FOX Library, this work may no longer carry over the FOX
License Addendum. In practice, this means that derivate works will no longer support the relinking exception,
but must fall back to the standard Lesser GPL license.
Note that this does not fundamentally change use of the FOX Library in commercial applications; rather, it
expands a little bit on the intent of the original License Addendum, which was to ensure that modified
source code is released under the Lesser GPL.
As you all are probably aware, several not-so-ethical companies [which, for now, shall remain nameless!] have been
trying to perform an end-run around the old GNU GPL License. This necessitated an extensive revision of GNU GPL
License. After a long period of extensive review, this revision was recently completed.
I felt that the FOX Library also deserved the additional protections that this new license offers and therefore decided to
exercise the "..or later version" provision of the GPL license to move all the source code over to
this.
- Major improvements to FXChart widget, and introduced FX2DChart and FX2DPlot widgets.
- Extra constructors and set() API's added to FXRangef, FXRanged. Made radius have
default parameter value in FXSphere to match the idea in FXRange.
- Fixed FXDockSite moveToolBar() problem when FXDockSite is docked at bottom side.
- Fixed FXComboBox, FXListBox, FXTreeListBox potentially reading freed memory. This
happens at least with FXComboBox when used inside FXComboTableItem.
- FXIconSource now recognizes ".jpeg" extension.
- Added "special stacking orders" capability for FXTopWindow. STACK_TOP makes the window always
stay on top of all other windows. STACK_BOTTOM makes it stay below others. STACK_NORMAL is the
default behaviour. The STACK_TOP is the most interesting mode; it can be used for attention-dialogs
like error boxes, or splash-windows.
- FXSettings has had a major overhaul. Arbitrary size limits for the strings have been removed.
- FXMat3d, FXMat3f, FXMat4d, FXMat4f have equality operators now.
- Added setOrtho(), setFrustum() to FXMat4d and FXMat4f. The new API's replace ortho() and frustum().
The new way is much faster because no matrix multiply is done anymore. Also new API's setInverseOrtho()
and setInverseFrustum() have bee added. In addition, getOrtho(), getFrustum() extract the view-volume
dimensions from the projection matrix, which may come in handy.
- FXMat3f, FXMat3d, FXMat4d, FXMat4f function eye() has been replaced with identity(). New API isIdentity()
has been added also.
- New API getItem() added to FXOptionMenu.
June 4 - FOX DEVELOPMENT 1.7.10
 |
- fxIsFinite(), fxIsInf(), fxIsNan() API's added.
- FXGradientBar visual aspects have more control now.
- FXShutter didn't issue message when shutter-item was pressed.
- The fxgetticks() API is now official. It returns the CPU's clocktick-
counter, where supported. Otherwise it returns time in nanoseconds.
- Fixed rare corner-case with active-line coloring in FXText.
- When FXRegistry is in ascii mode on Windows, system registry should be
searched in \WINDOWS\foxrc, and not in \WINDOWS\foxrc\foxrc.
- Fixed regression in glUseFXFont() when using Xft instead of XLFD.
- Small subtlety fixed with list widgets and drag-n-drop initiation.
- Fixed bug in FXMemMap.
- Fixed bug in FXVisual which caused drawing to FXBitmap to fail.
- Fixed bug FXWindow setDNDData() which affected MS-Windows clipboard
operations.
- FXbool can not be relied upon to be 1-byte size. Removed the FXASSERT inside
FXApp to that effect. Serialization should be OK since its cast to FXuchar.
- Added ability to set file-associations table in FXFileDialog, FXDirDialog
so the associations may be shared between multiple widgets.
- Fixed issue with bold-face text not drawing correctly in FXText if
gap happens to be in the text-fragment being drawn.
- Implemented __vsscanf() and __sscanf(). Since this native FOX implementation,
and its now used on all platforms, there will be no more issues with 32-bit v.s.
64-bit architectures, or Windows v.s. Solaris v.s. GLIBC based systems.
The new routine will always behave the same and support the same conversions.
- Decoration options interpreted under Windows-XP and UNIX as follows: DECOR_SHRINKABLE
means window may be smaller, but not larger, than default size; DECOR_STRETCHABLE means
window may be larger, but not smaller, than default size; and finally, DECOR_RESIZE
means window may be both smaller or larger than default size.
- Implemented __snprintf() and __vsnprintf(). This takes care of all variability
in these API's across platforms, and also 64- v.s. 32-bit issues.
- Fixed issue in multi-head API access under older Windows operating systems
than Windows-XP.
- FXMDIChild resize animation speed changed a little bit.
- Added some exciting new applications to the list of projects.
June 4 - FOX STABLE 1.6.27
 |
- Decoration options interpreted under Windows-XP and UNIX as follows: DECOR_SHRINKABLE
means window may be smaller, but not larger, than default size; DECOR_STRETCHABLE means
window may be larger, but not smaller, than default size; and finally, DECOR_RESIZE
means window may be both smaller or larger than default size.
- Fixed regression in glUseFXFont() when using Xft instead of XLFD.
- Fixed bug in FXVisual which caused drawing to FXBitmap to fail.
- Fixed bug FXWindow setDNDData() which affected MS-Windows clipboard
operations.
- Fixed issue with bold-face text not drawing correctly in FXText if
gap happens to be in the text-fragment being drawn.
- Fixed issue in multi-head API access under older Windows operating systems
than Windows-XP.
- FXMDIChild resize animation speed changed a little bit.
- Some MacOS-X porting issues fixed.
March 28 - FOX DEVELOPMENT 1.7.9
 |
- Renamed FXString::HEX array to FXString::value2Digit; added FXString::digit2Value
array. Removed FXString::hex (never used anywhere).
- Minor fix in Adie.stx file for sprintf-style format patterns.
- Fixed interpretation of DECOR_SHRINKABLE and DECOR_STRETCHABLE; when neither is
specified, programmatically specified size is kept. If DECOR_STRETCHABLE is specified, size is
constrained to be at least the default size. If DECOR_SHRINKABLE is specified, size
is constrained to be at most the default size; finally, if DECOR_RESIZE (i.e. both
DECOR_SHRINKABLE and DECOR_STRETCHABLE are set), then size is not constrained and
window can be manipulated arbitrarily.
- Renamed FXURL::hostname() to FXSystem::getHostName(), which is more appropriate.
- More major updates in FXText.
- Lots of new API's in FXTextField:
- API's added to incrementally modify text, rather than just replace all of it.
- Cursor and anchor properly updated when text is changed.
- API added to obtain only selected text.
- Overstrike mode now works much better for UTF-8.
- Cursor changes shape when in overstrike mode.
- All manipulations done using a single message now.
- API's added to manipulate clipboard and primary selection.
- When setting new text, no longer immediately scrolls to make end of text
visible (this caused ugliness inside FXComboBox when FXComboBox is too small
to show all text).
- Changed behaviour of FXText: pasting from clipboard or primary selection now
observe properly the overstrike mode-flag. When multi-line text is pasted,
only text from cursor position till end of line is overstruck; the rest is
just inserted.
- Added API to FXText to obtain selected text.
- Added some API's to FXGLShape, and other FXGLObject's.
- Hidden Windows-only GetClass() API now returns wide characters if FOX
is compiled with -DUNICODE. Thus, window-titles now show properly in unicode.
- Secret convenience API's added: fxopen(), fxreopen(). These do what you
expect, except they encode the filename to wide-characters on Windows.
Note that these API's are not official and will be removed at some point in
the future.
- Fixed _NET_WM_PING protocol issue (change in protocol).
March 28 - FOX STABLE 1.6.25
 |
- Fixed compile problem with FXThread for build on MacOS-X.
- Fixed _NET_WM_PING protocol issue (change in protocol).
March 13 - FOX DEVELOPMENT 1.7.8
 |
- Updates to Adie editor; starting it with a non-existing file will
now set the text window's filename to the new file. Also, changed
a few accelerators to more useful bindings. Tab-stops may be changed
more quickly from a pulldown menu. Rearranged Preferences Dialog
since most-often changed settings should be on the first page.
- Major improvements in FXText widget; many new API's added:
- copySelection() copies the selection to the clipboard.
- cutSelection() cuts the selection to the clipboard.
- copySelection() copies the selection to the clipboard.
- deleteSelection() deletes the selection.
- pasteSelection() pastes the primary selection.
- pasteClipboard() inserts the clipboard into the text.
- replaceSelection() replaces the selection.
- Cursor movement has been improved:- no longer hides while moving.
All actions are now mapped to an individual message handler.
- Cursor shape now changes when in overstrike mode.
- New FXAutoThreadStorageKey automatically generates and disposes of
thread-local storage key. It behaves as a "pseudo-constant" in the sense
that is generated at load-time simply by defining a global variable of
this type.
- Updates to FXThread to use FXAutoThreadStorageKey for its own handle.
- Code to determine monitor (screen) on Windows no longer requires header
files to be present; we provide our own prototypes. Now it works even with
older compilers. Detection of API's is done purely at runtime.
- FXReplaceDialog and FXSearchDialog support wheel to scroll back through
search history.
- FXScrollArea now initiates auto-scroll behaviour when cursor is near
visible area [not the whole window!]. Now FXText to starts scrolling when
cursor is near the numbers bar, instead of near the edge of the window.
- Fixed leaked resource handles in FXDCWindow, FXIcon; was flagged by GDI handle
leak-checkers.
- Fixed bug in FXAccelTable::parseAccel(); was not handling "#XXX" properly.
- Added run-time test for multi-head display configuration; it no longer
depends on having up-to-date header files.
- Fixed FXPath simplify() routine for lots of corner-cases.
- FXComboBox's setText() now has notify argument. When an item
in the drop-down list, the text is selected only if the combobox is a
non-static combobox.
- Fixed minor details in NET_WM_PING generated in FXApp; apparently,
some minor details in the NET_WM_PING had changed.
- Now use unicode CreateWindowEx if -DUNICODE was passed. Window titles
show up in unicode properly.
March 8 - FOX STABLE 1.6.24
 |
- Fixed leaked resource handles in FXDCWindow, FXIcon; was flagged by GDI handle
leak-checkers.
- Fixed bug in FXAccelTable::parseAccel(); was not handling "#XXX" properly.
- Added run-time test for multi-head display configuration; it no longer
depends on having up-to-date header files.
February 22 - FOX STABLE 1.6.23
 |
- Added test in WIN32 version of FXGLVisual to validate PIXELFORMAT prior to
obtaining its attributes. Apparently some PIXELFORMAT's listed by DescribePixelFormat()
do not actually describe a valid configuration on some graphics cards.
- Fixed problem with X11 XLFD fonts. If XLFD font name specified directly,
no font was matched.
- Fixed FXSemaphore compilation issues on MacOSX. Also pass initial semphore value
to MacOSX API.
- Fixed spurious call to removeItem() in extractItem() inside FXTreeListBox.
January 30 - FOX STABLE 1.6.21
 |
- Always define vfscanf(), vscanf(), and vsscanf() when on Windows.
- Remove FXAPI in FXObjectListOf template.
December 7 - FOX DEVELOPMENT 1.7.7
 |
- Forgot to mention: there has been an important change in the way MDI windows work.
When closing an MDI Child, the MDI Child is now made inactive first; the target of the
MDI Client gets a notification to that effect. Then a SEL_CLOSE message is delivered
to the MDI Child's target. If the close is approved, the MDI Child will then be deleted.
But if the close is not approved (SEL_CLOSE handler returns 1), then the MDI Child will
be made the active MDI Child again (and the MDI Client's target will get a message
to that effect). The rationale behind this change is that the MDI Child will be
not the active window at the time of its demise, and thus updating the GUI now only
needs to happen when an MDI Child is activated or deactivated (i.e. when the
target of the MDI Child receives SEL_SELECTED and SEL_DESELECTED).
- FXDataTarget's support for FXlong and FXulong has been extended; when associated
with FXlong, it now sends/receives ID_SETLONGVALUE and ID_GETLONGVALUE to the associated
control. Most valuator controls have now been updated to respond to these messages.
- FXText and FXTextField now have auto-hiding cursor. As soon as the user begins
typing, the mouse cursor will disappear to prevent obscuring the text. The mouse-cursor
reappears when the mouse is moved.
- Added new API's, showCursor() and cursorShown() to FXWindow. These control mouse cursor
visibility.
- Changes and additions to FXDLL. Added API to obtain DLL containing a function
pointer. Also added API to obtain name of loaded DLL. And added API to get symbol
name given function pointer (UNIX only). Renamed a few API's for consistency.
- Implemented Extended Window Manager methods to raise() or lower() toplevel
windows. Now these work properly under EWMH-enabled Window Managers.
- New time-configuration varable added in FXApp (autoHideDelay). This controls
I-beam cursor hiding of text controls.
- Fixed bug in FXLabel, FXMenuCaption, FXToggleButton's setText() API. Problem was
changing accelerator or accelerator-location in a string, without changing the
string itself. Bug was reported by Lothar.
December 5 - FOX DEVELOPMENT 1.7.6 (Sinterklaas-Editie!)
 |
- FXThreadPool::execute() now returns FXWorker instead of a flag; this is convenient
as you now have a handle to the thread responsible for executing your FXRunnable.
- Fixed a few buglets in FXThreadPool, particularly having to do with wierd
cases like stopping the FXThreadPool while trying to schedule new jobs, etc.
- FXCondition::wait() now returns a flag also; return value is true if the function returns
due to the condition being signalled, and false if interrupted or if there were
errors. The overloaded version also returns false if the wait-time expired.
- Added some missing includes in fx.h.
- Fixed missing FXReactor FXIMPLEMENT issue.
November 30 - FOX DEVELOPMENT 1.7.5
 |
- Added new FXThreadPool class. FXThreadPool allows parallel execution of jobs (FXRunnable) without
the overhead of creating a thread for each job; instead, a pool of worker-threads are used to execute
jobs, and thus the overhead is minimal. To ensure that the workers do not fall behind with the
incoming job-stream, new jobs are only accepted when worker-threads are available.
The FXThreadPool can adapt to changing workloads by spawning new workers during peak-loads (up to
a set maximum), and removing workers from the pool when there are no jobs (down to a certain minimum).
Worker threads may be started right away (ensuring that all worker-threads are ready for action),
or on an as-needed basis.
- Added new FXReactor class. An FXReactor implements reactor pattern. FXReactor is
thread-safe and will allow multi-threaded operation like the leader-follower pattern
FXReactor is a key component for multi-thread platform-independent network-server development,
and will also serve as the base class for the new event-dispatch structure being put into place.
- Changed FXApp to use the new pselect() system call. It provides nano-second timeouts
and will also make non-immediate signal processing in FOX safe from race-conditions (or at least
it will when your c-library and linux-kernel support the new pselect() system call ;-)).
- Added API's to FXThread for thread-local storage. This comes in addition to the thread-local
storage already implicitly present for the self() API.
- Added API to FXThread to determine number of processors in the system; this may be used when
creating the FXThreadPool to start the proper number of worker threads based on actual hardware
in the system.
- FXThread now derives from FXRunnable, which encompasses an overloadable run function and
some data. FXRunnable is also used in FXThreadPool.
- Made FXThread safe for suicide of FXThread:- in case of self-destruction, FXThread properly detaches
the thread and cleans up TLS to FXThread binding. When FXThread is destroyed by another thread cancels
the thread. Normal termination properly resets the running flag but leaves tid to allow a join() operation.
- Added new FXMessageChannel class. This replaces the old FXGUISignal. FXMessageChannel delivers a
way to perform asynchronous message calls from a worker thread to the main GUI thread. It is implemented
using an internally created pipe, which is connected to the GUI thread. A message written by a worker
thread can thus be delivered to the GUI thread, and dispatched in the GUI thread's context.
To obtain the behaviour of the old FXGUISignal, note that this is now simply a special case of
an asynchronous call via FXMessageChannel with no data.
- Fixed bug in vsscanf; New versions of Visual Studio now have one of the two missing functions.
- Added special blank cursor stock cursor. This can be used when you desire to see no cursor
at all.
- Speeded up signal handling stuff: only check non-immediate signals if one was actually raised.
- Fixed FXSpinner and FXRealSpinner; they were updating while being changed by the user through the text field.
- Fixed ugly look of FXHeader when no items are present (as reported for its use in FXTable).
- Improvements in FXText word-selection mode.
November 17 - FOX STABLE 1.6.20
 |
- Rolled back explicit template instantiation stuff: not supported everywhere.
November 9 - FOX STABLE 1.6.19
 |
- Fix bug in FXMutex::locked() implementation.
- Suppress 4244 warning (possible loss of data) on VC++ compiler.
November 7 - FOX STABLE 1.6.18
 |
- Bug fix in FXApp drag and drop.
- Wrong error message in argument check in FXTable API.
- Fixed minor issues in FXPicker: now issues message on mouse button release.
- Fixed problems in FXFile, FXSocket, FXPipe occurring on 64-bit Windows.
September 30 - FOX STABLE 1.6.16
 |
- Fixed issue with FXMDIChild and FXTopWindow close() routine; this mostly affects FXRuby.
- Fixed drag and drop issue with dropFinished() on Windows.
- Fixed FXTextField drawCursor() array overrun and text measurement bugs.
August 29 - FOX DEVELOPMENT 1.7.3
 |
- Major upgrade to reswrap. New in reswrap is long option names. Also added are a number
of new options, designed for more easy incorporation of reswrap into custom software build rules.
First, options and filenames can now be mixed, allowing both icons.h and icons.cpp to be generated
with one single reswrap command. Also, static and external linkage decorations can be generated
for each symbol. Symbol names may be changed using prefixes, postfixes, or incorporated in
namespaces. Size declarations may be added to header files to provide compiler with sizes
of the embedded resources. For more, see updated reswrap documentation.
One important warning: some options have been renamed for consistency!
- Redesign of inner workings of FXScrollArea; getViewportWidth() and getViewportHeight() have been
removed. New API's getVisibleX(), getVisibleY(), getVisibleWidth() and getVisibleHeight() are added.
Also added internal (protected) member function placeScrollBars() which is intended to be called
by subclasses of FXScrollArea.
- Minor tweaks inside FXScrollBar.
- Added new FXConsole widget (under construction).
- Added some API's to FXArray.
- Fixed some FXFileList drag and drop issues.
- Cut down code size by means of explicit template instantiation.
- FXQuat{d,f} API's setAxisAngle(), and getAxisAngle() have been made safer.
- FXString inc() etc. made safer; won't increment too far.
- Fixed FXTextField drawCursor() array overrun and text measurement bugs.
August 14 - FOX STABLE 1.6.14
 |
- Rolled back Niall's BOM-marker patch to FXDCWindow [not working].
- FXSlider, FXRealSlider arrow-movement was not generating callback to target.
- Include <asm/socket.h> for CYGWIN for X11 Windows build.
- Regenerate fxunicode.cpp with surrounding namespace for Digital Mars C++ compile.
- Surround fxascii with namespace for Digital Mars C++. Plus other issues brought to
light on Digital Mars C++.
August 8 - FOX STABLE 1.6.13
 |
- Fixed Digital Mars C++ makefile.
- Namespace qualification missing from macros in FXObject.h.
- End of stream bugs in FXGZFileStream and FXBZFileStream.
- BOM marker at end of text appears to fix WIN32 drawText() and drawImageText() in FXDCWindow.
- Removed some more FXTRACE statements; fixed trace-levels on some other FXTRACE statements; this only
affects debug-mode builds.
August 1 - FOX STABLE 1.6.12
 |
- Fix DLL issue [again].
- Some FXTRACE statements were at too low a level.
- Updated Visual C++ studio projects.
- FXToolTip place() fixed.
August 1 - FOX DEVELOPMENT 1.7.2
 |
- Fix assorted typo's.
- Change PI, DTOR, RTOD, EULER to const declarations inside FX namespace, preventing conflicts.
- Fix FXChart Makefile.
July 30 - FOX DEVELOPMENT 1.7.1
 |
- FXCalendar and FXCalendarView widgets added. The are written by Sander Jansen.
- Added positive (?<= expr) and negative (?<! expr) look-behind patterns to FXRex; look-behind
patterns are finite-length patterns that need to be matched (or not matched), without
eating any text.
- Fixed minor bug with case-insensitive back refecences in FXRex.
- Different method implemented for back references; back references now also work even if
npar is 1 in FXRex::match().
- Added granularity option to FXRealSlider; if set greater than zero, values are
rounded to multiples of granularity as slider is moved; this will cause slider to report nice
round numbers.
- getNextEvent() can now be told to wait only a finite amount of time for incoming events.
- The addTimeout() and remainingTimeout() API's in FXApp now work in terms of nanoseconds.
- New addDeadline() API added to FXApp which sets absolute clock value when a timer will expire;
thus this new API is not subject to cumulative errors. The timeout is set in nanoseconds
since Jan 1st, 1970.
- Datatarget now supports FXbool type.
- Added ID_SETLONGVALUE and ID_GETLONGVALUE support to FXTextField.
- FXStream now supports FXbool type.
- FXbool type now defines as bool.
- FXToolBarShell now interprets its child's LAYOUT_FIX_WIDTH and LAYOUT_FIX_HEIGHT hints.
- Change addInput() API; it now takes a void* pointer which is then passed along into
the SEL_IO_READ (etc.) message handlers. You can get the old behaviour by passing in the file-descriptor
for the void* pointer.
- New FXGLConfig class decribes OpenGL framebuffer configuration.
- New FXGLContext uses FXGLConfig to match OpenGL hardware capabilities.
- Lasso selection in FXIconList no longer drawn as line, but solid rectangle. Looks MUCH nicer!.
- New DND type added for files; this is now used internally between FOX applications
in preference to "text/uri-list", since its much easier to decode and encode.
- FXSettings and FXRegistry now support 64-bit integer values; this necessitated some
small API changes: readUnsignedEntry() is now called readUIntEntry(), writeUnsignedEntry()
is now writeUIntEntry(), and the new API's are called readLongEntry(), readULongEntry() and
writeLongEntry(), writeULongEntry() respectively.
- Also new in FXSettings is support for the type FXbool, which is read/written as a more
humanly readable "true" and "false" instead of 1 and 0.
- New class FXDLL and FXAUTODLL added to manage dynamic library (plugin) loading. This
replaces the old function-based method. Also new, FXDLL has API to obtain FXDLL given
a pointer; basically this allows you to determine the FXDLL containing a specific piece of
code.
- FXToolBar's setDockingSide() now preserves flags. If both LAYOUT_FILL_Y and LAYOUT_FILL_X are
set the will remain set when orientation flips.
- Added FXReadWriteLock class. This provides shared-lock support in a platform-independent
way.
- Added FXAtomic class. It provides multi-processor safe incrementation/decrementation
of a lock-variable.
- FXToolBarShell can resize its child if the LAYOUT_FIX_WIDTH and LAYOUT_FIX_HEIGHT are
specified on the child [in other words, if its set to keep its given size, this size
may be given through interaction with the user].
- Added missing set() API's to FXExtentf and FXExtentd.
- Cell being edited in FXTable now commits its value if clicking outside of table.
- Fixed subltety in FXPath::relative().
- Added new API FXPath::isInside().
- Speeded up FXString's enquote(), dequote() API's.
- Fixed drawing bug in FXTextField containing UTF8, when not all text is visible.
- Fixed problem of parameters shadowing member functions in FXDate.
- Changes in FXThread to eliminate race conditions.
- New classes FXComplexf and FXComplexd added.
- Fixed reset of scheduling policy in FXThread's priority() API.
- Added API to FXThread to get/set scheduling policy, on systems where scheduling
policies are implemented.
- FXThread priority and policy now defined in terms of a range of enums for increased
portability across platforms.
- Fixed bug in FXToolTip's place() routine on Windows.
- Fixed bug in FXDir on Windows where non-unicode version didn't compile.
July 25 - FOX STABLE 1.6.10
 |
- Updated VC++ project files.
- Updated Adie.stx; new pattern for #ifdef 0 ... #endif method of commenting out code.
- FXExpression memory leak fix.
- Updated Visual C++ studio project: FXRulerView source file was omitted.
- Missing FXAPI declaration added to FXExtentd and FXExtentf.
July 17 - FOX STABLE 1.6.8
 |
- Fixed drawing bug in FXTextField containing UTF8, when not all text is visible.
- Fixed problem of parameters shadowing member functions in FXDate.
- Missing FXAPI declaration added in FXSemaphore.
- Add fflush() to fxassert(), fxmessage(), etc.
- FXToolBar preserves flags if LAYOUT_FILL_X AND LAYOUT_FILL_Y both set on a bar.
- Bug in strtoll() fixed [on machines where no native strtoll() is available].
- A number of subtleties have been fixed in FXPath pathname manipulations.
- Click outside occupied table area now commits input in cell being edited.
- Small addition in Adie.stx for numerical size suffixes (c/c++ coloring).
June 15 - FOX STABLE 1.6.6
 |
- Added fox.pc for pkgconfig support benefiting FOX package builders and developers.
- Added date-tooltip to Adie clock.
- Removed CXXFLAGS clear in configure.in so it can be passed.
- Removed test on zero-message for callback due to its use in FXRuby.
- Removed cruft from FXDragCorner.
- Fixed little bug in FXTable setItemText().
- Fixed csv clipboard issue in FXTable.
- Fixed clipboard issue in FXText.
- Added workaround for byte order in FXCursor render for Apple MacOSX X Server bug.
- Fixed buglet in own strtoll which is only used on machines which don't have native
one.
- Fixed Python syntax pattern for Adie.stx.
June 15 - FOX STABLE 1.4.34
 |
- Fixed buglet in own strtoll which is only used on machines which don't have native
one.
April 17 - FOX STABLE 1.6.4
 |
- Fixed two bugs in FXTable setItemText() and setItemIcon().
- Double-free in Xft mode fixed:- freetype now frees its memory!
- Patch for fxkeyboard.cpp for other compilers.
- Callbacks from FXListBox SEL_CHANGED message weren't passing item-index.
- Bounding box in fxpsio.cpp was wrong.
- VirtualAlloc() instead of FXMALLOC() in FXImage circumvents apparent driver
bugs on Windows-Xp.
April 5 - FOX STABLE 1.6.3
 |
- Fixed issue with multi-head on Windows-XP.
- Fixed issue with FXSphered/FXSpheref.
April 3 - FOX STABLE 1.6.2
 |
- Fixed fxkeyboard.cpp build problem on Windows.
- Fixed sporadic core-dump due to SetDIBits() reacting poorly to malloc()-allocated
memory; now using VirtualAlloc() instead of malloc() which gives whole pages.
April 1 - FOX STABLE 1.6.1
 |
- Fixed fxgetticks() issue for AIX/PowerPC.
- Fixed round() API in FXExpression for other platforms.
- Incorporated Daniel Gehriger's keyboard path for Windows 9x/ME.
- Fixed FXThread::time() issue for non-POSIX199309 UNIX platforms.
March 21 - FOX STABLE 1.6.0
 |
- New FXExpression class to evaluate numerical expressions. Its fast as it compiles to
easy to interpret byte-code. It also allows expressions with variable arguments, which
can be named arbitrarily.
- Fixed but in fxtoDos and fxfromDOS; the end-of-string is no longer accounted for in
the length [but it is still added, for convenience].
- Changed sleep() API of FXThread; it now has a single argument, the number of nanoseconds
to sleep.
- Added wakeat() API to FXThread. The wakeat() API sleeps till the given absolute time is
reached. The time is expressed as a 64-bit long counting nanoseconds since Jan. 1, 1970.
- Added time() API to FXThread. It returns nanoseconds since Jan. 1, 1970.
- Internal timer calculations in FXApp now use FXThread::time() and so on.
- FXCondition's wait() API now also waits a number of nanoseconds.
- Fixed tooltip on FX7Segment widget.
- Fixed document-comment in FXString.
- Added update handlers for FXTable row/column selection.
- Bug in fxrgbio fixed.
- Warning in FXWindow fixed.
- Added sample program for expression class.
- fxsleep() is now deprecated. Please stop using it!
March 21 - FOX STABLE 1.4.32
 |
- Back-ported fixes for GCC 4.1 C++ Language Changes [Friend Injection].
February 10 - FOX STABLE 1.6.0 (Release Candidate 4)
 |
- Updated FXRealSpinner. New API setGranularity() allows the values to stay at "nice round numbers".
- Logarithmic mode of FXRealSpinner also updated.
- Updated FX4Splitter. In case only one panel is collapsed, panel besides it will stretch to fit.
- Also fixed layout issue with FX4Splitter which inadvertently placed barsize worth of pixels on the
side even if all but one panel was collapsed.
- Update FX4Spliiter's default size computation based on which panels are collapsed; this has gotten
a bit complex now.
February 6 - FOX STABLE 1.6.0 (Release Candidate 3)
 |
- Reconciled API inconsistencies between FXObjectList and FXArray.
- Added mimeType constant to FX***Image and FX***Icon classes for drag and drop
and clipboard support.
- Added auto-repeat snapshot capability to shutterbug.
- Added auto-renumbering option for row and column headers in FXTable.
- Implemented no-navigation mode in FXFileDialog.
- Extra option for compression quality added to FXJPGImage and FXJPGIcon.
- Added missing FXAPI to codec declarations.
- Block generation of some callback messages if message is 0.
- Improved fxbmpio implementation by directly using FXStream's primitive types.
- Fixed issue with FXStat::touched().
- Added bunch of missing API's to FXTable to control row and column header appearance.
- Added ComboBox table item to enter a choice among a number of strings.
- Added FXExpression which contains a function to evaluate expression.
- Added Control-click mode to FXSpinner and FXRealSpinner.
- Adie shows number of rows in status bar instead of byte count.
- Wheel support in FXOptionMenu.
- The setValue() API in FXRuler now has value relative to document position.
- The setArrowPosY() and setArrowPosY() APIs in FXRulerView also relative to document position.
December 19 - FOX STABLE 1.6.0 (Release Candidate 2)
 |
- Added FXRulerView widget. The ruler view coordinates the scroll bars and rulers to
automatically adjust to the stated document dimensions and margin settings for a document-
oriented workview. It is intended as a base class for an applications document drawing
framework.
- Added FILELIST_NO_PARENT option to FXFileList to suppress '.' and '..' display in
directory lists.
- Added extra field in FILETYPES binding for "change directory" and "run in terminal" flags.
- Optimized FXText continuous wrap mode layout update when using fixed-pitch fonts; this
frequent scenario is quite a bit faster now; also greatly simplified layout handling
in FXText.
- Fixed layout issues with LAYOUT_FIX_X and LAYOUT_FIX_Y in FXPacker, FXTopWindow,
FXGroupBox, FXHorizontalFrame, and FXVerticalFrame widgets.
- Updated FXArray implementation; many API's added, a few dropped to so as to require no
insert- or extract operators, or equality operators, on the contained items.
- Updated FXVec{2,3,4}{d,f} classes; changed many friend functions to members, added explicit
declarations for remaining friend functions in preparation for GCC 4.1 C++-language-change.
- Small changes to FXQuat{d,f}. Some friend functions have become member functions.
- Updated xinc.h to accomodate broken prototypes on older unix machines with respect to
input method support.
- Also simplified FXText layout logic.
- Fixed tons of warnings on SGI, HPUX, Solaris, OSF1, and Windows builds.
- Split FXComposeContext creation from construction. This is necessary as input
method editor server may come and go.
- Updated FXHash class with a few additional API's to make it easier to look over
all contents in the table.
- Added clearElms() API to FXElement.h.
- Fixed FXVisual getNumGreen() and getNumBlue() access functions.
- Expunged a number of FXbool in favor of bool.
- Speeded up fxloadBMP(), fxsaveBMP(), fxloadICO() and fxsaveICO() functions through use
of byte-swapping capability of FXStream.
- Fixed typo in FXDebugTarget.
- Fixed problem in FXFile::removeFiles().
- Removed tons of warnings on Solaris builds.
- Turned off XIM by default until it works across the board.
November 29 - FOX STABLE 1.4.26
 |
- Fixed SUN Solaris compile issue with threads.
- Missing fxcheckTIF(), fxcheckPNG(), fxcheckJPG() declarations if TIF, PNG, and JPEG support
is stubbed out.
November 14 - FOX STABLE 1.4.24
 |
- Fixed small issue in FXVec4{d,f} distance() routine.
November 9 - FOX STABLE 1.4.23
 |
- Fixed compile issue with new GetOwnModuleHandle() function.
- Delete thread local storage key upon global destructor in FXThread.
Older News
 |
Older news...
Copyright © 1997-2009 Jeroen van der Zijp
|