FOX offers a wide, and growing, collection of Controls, and provides state of the art facilities such as drag and drop, selection, as well as OpenGL widgets for 3D graphical manipulation.
FOX also implements icons, images, and user-convenience features such as status line help, and tooltips. Tooltips may even be used for 3D objects!
Considerable importance has been placed on making FOX one of the fastest toolkits around, and to minimize memory use:- FOX uses a number of techniques to speed up drawing and spatial layout of the GUI. Memory is conserved by allowing programmers to create and destroy GUI elements on the fly.
Even though FOX offers a large collection of Controls already, FOX leverages C++ to allow programmers to easily build GUI elements and additional Controls, simply by taking existing controls, and creating a derived class which simply adds or redefines the
One of the prime design goals of FOX is the ease of programming; thus, most controls can be created using a single line of C++ code; most parameters have sensible default values, so that they may be omitted, and layout managers ensure that designers of GUI's do not have to worry about precise alignments.
Another nice feature of FOX which significantly reduces the number of lines of code which have to be written is FOX's ability to have widgets connect to each other, and passing certain commands between them; for example, a menu entry Hide Toolbar can be directly connected to the Toolbar, and cause it to hide.
Finally, FOX makes it easy to maintain the state of the GUI in an application by having the GUI elements automatically updating themselves by interrogating the application's state. This feature eliminates the large amount of effort that may go into sensitizing, graying out, checking/unchecking etc. depending on the application state.
Systems Which are Supported or Known to work:
· Mac OS X
· Linux (gcc, INTEL C++), x86, IA64 (Itanium), x86-64 (Opteron).
· Windows XP, 2K, NT, Windows 9x, (VC++, Cygwin, MinGW, Borland C++, Digital Mars C++, OpenWatcom C++, ... )
· Digital Unix/COMPAQ Tru64 OSF1 3.2, 4.0x, 5.0x (gcc and DEC cxx).
· SGI IRIX 5.3, 6.1, 6.2, 6.4, 6.5 (gcc and MIPS Pro C++)
· SUN Solaris, SunOS (gcc, SUN WorkShop Compiler, SUN Forte C++)
· HP-UX PA-RISC 9.x, 10.x and B.11.00, (gcc and aCC).
· HP-UX B.11.22 Intel Itanium (IA64) using aCC.
· AIX 4.2, 4.3
· FreeBSD
· Sequent DYNIX/ptx 4.4.7
· IBM VisualAge C++ 3.5 (Windows)
NOTE: FOX is licensed and distributed under the terms of the GNU Lesser General Public License.
Requirements:
· An X-Server, either Apple's or XFree
What's New in This Release: [ read full changelog ]
· 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() AP...