Discussion:
[Foxgui-users] New Development release FOX 1.77.55
JVZ
2016-05-20 18:40:32 UTC
Permalink
New in this release:


Added XML Parser capability. This is a SAX parser, which generates callbacks for each XML element
encountered. There are two new classes, FXXML which is the core parser class, and FXXMLFile which
parses files or inputs from devices. The FXXML class may also be used to parse from memory buffers.

FXWSQueue implements a work-stealing queue. A Work-Stealing queue supports a single thread adding
or removing jobs from the front end, and multiple threads removing jobs from the backend.

PathFinder now has new ways to select files quickly: by means of wild-card patterns. The new selection
method is based on the list of file-patterns available from the normal filter drop-down box (which may
be configured from the Settings Panel). It can be invoked from Edit/Select Files menu.

New fxmath function fclamp() added; usually, this is implemented in terms of fmax() and fmin() which
are branch-free on many machines.

Using new Math functions in most places inside library itself.

Added line to box (2D) functions to FXExtent.

FXText shows block-cursor when in overstrike mode.

Fix in case clearElms() is used with volatile pointers.

More work done on FXDispatcher.

Dont add accelerators for strings on Bookmarks menu in Adie editor.

Escape & in FXRecentFiles to avoid accidentally installing accelerator.

Fix index type in FXGLObject.

Added new classes for generic callback infrastructure, FXCallback. To support older compilers, the
current implementation does not yet use varyadic templates (maybe at some future time, it will).
The new FXCallback mechanisms are already in use in FXXML and will soon be used in FXDispacher as well.

Some bug fixes in FXJSON.

Missing va_end() fixed in fxprintf() and fxcanf(). Not serious on most compilers, however.

Updated syntax patterns for Adie editor.

In fxscanf(), a %n does NOT increase return count.

Thousands grouping in fxprintf().

FXVariant (and other collection classes) indexed with FXival instead of FXint. Allowing for 64-bit very
large data structures.

More convenience APIs added to FXVariant.

FXVec4d and FXVec4f: lerp in two fma's when compiled with AVX2 and FMA (nice trick!).

Rare out-of-bounds memory read fixed in FXText.

Renamed clashing math functions in fxmath.h; isnan(), etc. renamed to fpNan(), etc. Problem was these
functions were sometimes macros on some operating systems; new ones are good C++ inside Math namespace.
No other clashes have been reported so far.

When going up one directory-level in PathFinder, select recent directory. Thus, keyboard directory
navigation is greatly improved.

File Dialog widgets also improved as above. This is a major keyboard navigation improvement.

Added memory fence APIs to FXAtomic. Needed for lock-free programming paradigms.

Byte swap stuff in fxendian.h.


Enjoy!

And please give feedback on any problems you may encounter in this code;


Cheers,

-- JVZ



+----------------------------------------------------------------------------+
| Copyright (C) 13:30 05/20/2016 Jeroen van der Zijp. All Rights Reserved. |
+----------------------------------------------------------------------------+
Loading...