Based on patch from Tim Larson by PR#43061.
CHANGES IN FLTK 1.1.10
- Widgets now remove stale entries from the default callback
queue when they are deleted (STR #2302)
- Fixed selection bug in Fl_Int_Input (STR #2292)
- Fixed character set conversion functions (STR #2268)
- Fixed image lib configure and fltk-config issues by backporting
the image lib and zlib configure code from FLTK 1.3 (STR #2203)
- Updated the bundled libpng to v1.2.40 (released Sep. 10, 2009)
- Fixed Fl_Choice contrast with light-on-dark settings (STR #2219)
- Added Xft2 font lookup table (STR #2215)
- Fixed X server "lock", if a modal dialog window is opened
while a menu is active (STR #1986)
- Updated mirror sites in documentation (STR #2220)
- Setting a default font for Xft (STR #2216)
- Temporarily limited builds to 32-bit on OX S to stay
compatible to Snow Leopard
- Fixed Windows compile bug with "#define USE_COLORMAP 0"
(STR #2241)
- Fixed glibc 2.10 compiler problems (Fedora 11 and others)
with scandir() and strchr() (STR #2222)
- Fixed OpenGL shared context handling (STR #2135)
- Fixed gray-scale images with alpha channel (STR #2105)
- Fixed unexpected shortcut behavior for Win32 (STR #2199)
- Added cast to Fl_Color in all Fluid code (STR #2206)
- Fixed wrong identifier for special keys combined with
modifier (STR #2196)
- Fixed documentation for Fl_Progress (STR #2209)
- Fix for multiple popups, when dragging and calling fl_alert()
and friends from the callback (STR #2159)
- Avoiding crashes for recursive common dialogs (this does not
fix the issue at hand yet) (STR 2150)
- Fluid printing used wrong colors under Windows (STR #2195)
- Fixed bad system menu hadling in OS X (STR #2153)
- Fixed File Input mouse pointer dragging (STR #2181)
- Added Fl_Scroll::bbox() documentation (STR #1893)
- Fixed static linking of image libraries (STR #1962)
- Fixed callback would not be called when shortcut was used with
radio and toggle buttons in default FL_RELEASE mode.
- Fixed a problem with TrackMouseEvent() (Windows only) that would
generate wrong FL_LEAVE events with subwindows. TrackMouseEvent
is now enabled by default (it was disabled for GNU compilers).
It can be disabled by defining NO_TRACK_MOUSE.
Improved test/subwindow.cxx (STR #2079)
- Fixed RGB colors for round box (STR #2097)
- Fixed documentation (added missing COMCTRL32.LIB dependency)
- Fl_Group::clip_children() is now public (STR #2017)
- Fixed first modifier key event (STR #1952)
- Fixed wrong default value of Fl_Spinner in Fluid (STR #1991)
- Fixed Fluid textcolor output (STR #1992)
- Added clarification to Fl_GL_Window mode function (STR #1945)
- Fl_Group and Fl_Scroll now resize themselves before
resizing their children (STR #2032)
- Fixed adding an idle handler during a draw() call (STR #1950)
- Improved stability of fl_read_image (STR #2021)
- Fixed menu position close to screen border (STR #2057)
- Improved color contrast in secondary selection blocks of Fl_Text_Display
- Fixed regression in callback handling
- Fixed wrong relative path when absolute path has a
trailing slash in fl_filename_relative
- Fixed multiple selction of files and directories in Fl_File_Chooser
- Fixed MSWindows crash when selecting umlauts in Fl_Help_View
Changes 1.1.8:
- Documentation fixes
- Fixed library path in Makefile
- Fixed image read for partial regions on X11
- Fixed KDE/Gnome icon paths
- Fixed Tab key to wrap around menu bars
- Fixed possible timer leak in Scrollbar
- Added documentation about the potential limitations
of Fl::grab on newer operating systems
- Fixed lockout when mixing popups and alerts
- Fixed recursion crash in event handling
- Fixed missing return code in 'fltk-config'
- Fixed inconsistencies with CHANGED flags
- Fixed message sent to hidden widgets
- Fixed width calculation in Fl_Help_View
- Fixed offset bug in OS X pixmap code
- Fixed potential buffer overrun in Fl_Preferences
- More...
FLTK 1.1.7 fixes many bugs, adds some new example programs, and
adds many new improvements to the FLUID software including
multi-level undo, syntax highlighting in all code fields, widget
alignment and sizing guides, dialog templates, widget subclasses,
and printing and testing of user interfaces within FLUID.
the platform. I followed the documentation that is now in pkgsrc.txt
and put the default names in PLIST, and the NetBSD names in PLIST.NetBSD.
The PLIST handling does not actually work this way, and it will be
cleaner to use the same file names for man pages regardless of platform.
- Documentation updates (STR #186, STR #245, STR #250,
STR #277, STR #281, STR #328, STR #338)
- fl_scroll() did not handle scrolling from off-screen on
WIN32 (STR #315)
- Fl_File_Chooser did not allow manual entry of a drive
letter (STR #339)
- Fl_Menu now uses the boxtype to redraw the menu
background (STR #204)
- Fl_Scroll now shows the background image when a framed
box type is used and the Fl_Scroll is a direct
decendent of a window (STR #205)
- Added a new_directory_tooltip string pointer to allow
localization of the file chooser's new directory
button (STR #340)
- Added Fl_Menu_::find_item() method (STR #316)
- The Fl_Widget copy operator definitions were not
conditionally compiled properly (STR #329)
- FLUID's Layout functionality did not move child
widgets when laying out group widgets (STR #319)
- FLUID's Layout->Center In Group functionality did not
properly handle widgets that were children of a
Fl_Window widget (STR #318)
- The Fl_Text_Display destructor did not remove the
predelete callback associated with the current buffer
(STR #332)
- Fixed several bugs in the MacOS X Fl::add_fd()
handling (STR #333, STR #337)
directly into libfltk.{la,so} so that we don't need to guess at which
additional libraries will be needed to link into a program when linking
against libfltk. Suggested in private email by Dave Sainty <dave at
dtsp dot co dot nz>.
- Added new const const pointer versions of pixmap functions to eliminate
an annoying pointer warning message that was generated by the Sun and
other C++ compilers.
- Eliminated all "var hides class::var" warnings.
- Eliminated all "string literal converted to char *" warnings.
- The file chooser buttons use user_data() rather than the label to decide
what to do, allowing the label to be somewhat cleaner.
- Fl_has_idle only tested N-1 callbacks and missed one.
- Fl_Gl_Window has a new method to allow you to get and set the context:
void Fl_Gl_Window::context(void*, int destroy = 0)
void* Fl_Gl_Window::context() const;
Return or set a pointer to the GLContext that this window is using. This
is a system-dependent structure, but it is portable to copy the context
from one window to another. You can also set it to NULL, which will
force FLTK to recreate the context the next time make_current() is
called, this is useful for getting around bugs in OpenGL implementations.
If destroy_flag is true the context will be destroyed by fltk when the
window is destroyed, or when the mode() is changed, or the next time
context(x) is called.
- Added Fl::add_check(...), Fl::remove_check, and Fl::has_check. These are
similar to idle callbacks but are only called just before it waits for
new events. They can be used to watch for changes in global state and
respond to them.
- Added simple FLTK and FLUID manual pages.
during a normal build to reduce build times on slower platforms. Relevant
changes from version 1.0.9 include various bug fixes, less memory consumption
for colors, improvements to the code generation in fluid, and improvements to
the way scrollbars and buttons are handled. There is also the following GL
optimization for certain OpenGL implementations:
- Performance of Fl_Gl_Window may be improved on some
types of OpenGL implementations, in particular MESA
or other software emulators, by setting the
GL_SWAP_TYPE environment variable. This variable
declares what is in the back buffer after you do a
swapbuffers:
setenv GL_SWAP_TYPE COPY
This indicates that the back buffer is copied to
the front buffer, and still contains it's old
data. This is true of many hardware
implementations. Setting this will speed up
emulation of overlays, and widgets that can do
partial update can take advantage of this as
damage() will not be cleared to -1.
setenv GL_SWAP_TYPE NODAMAGE
This indicates that nothing changes the back
buffer except drawing into it. This is true of
MESA and Win32 software emulation and perhaps some
hardware emulation on systems with lots of memory.
All other values for GL_SWAP_TYPE, and not setting
the variable, cause fltk to assumme that the back
buffer must be completely redrawn after a swap.
This is easily tested by running the gl_overlay demo
program and seeing if the display is correct when
you drag another window over it or if you drag the
window off the screen and back on. You have to exit
and run the program again for it to see any changes
to the environment variable.
CHANGES SINCE FLTK 1.0.5
- Fl_win32.cxx defined WM_MOUSE_LEAVE instead of WM_MOUSELEAVE.
- Fl_get_key_win32.cxx needed to include <ctype.h>
- gl_draw_pixmap.cxx needed a pointer cast for ANSI C++.
- Fl_Repeat_Button didn't always delete its timeout.
- Now keep track of the current OpenGL context; this provides
significant performance improvements for OpenGL applications
with a single context.
CHANGES SINCE FLTK 1.0.4
- Fl_Roller didn't handle a width and height of 0.
- filename_list() fix for FreeBSD.
- Fixed RPM install docos - needed "--install" option...
- Fl_Browser_ wouldn't draw the vertical scrollbar right away if it
added a horizontal one which covered the last line.
- Fl_Tabs problems - single-character labels don't show up (problem in
measure_tabs() or measure_label() methods?), and doesn't clear top
tab area before drawing tabs.
- Fl_Browser needs a destructor.
- fl_draw_label() quoted characters between 0x80 and 0xa0, which
caused problems for some programs using the WinANSI character set.
- FLUID didn't handle declared class destructors.
- Fixed another WIN32 cut/paste bug.
- Fl_Tabs didn't work properly when there was only 1 tab.
- Fl_Menu::add() didn't delete the old array.
- Fl_Repeat_Button didn't delete its timeout when disabled.
- fl_draw() would crash if no font was set (now defaults to
a 14-pixel Helvetica font)
- Can't forward declare classes; need to check for "class ", "struct ",
"union ", etc. See Bill's message
- Added #pragma around xlib.h for IRIX
- FL_KEYBOARD events have the correct x/y when sent to child X
windows. Note that if you worked around this bug by adjusting the
x/y yourself you will have to change your code. In addition all
events have the correct x/y when sent to the grab() widget. And
the code to do all this was simplified a lot.
- The XPM code didn't handle named colors with spaces in the names.
- Pressing ESCape closed the window with pointer focus, even if there
was a modal window open (now closes the modal window).
- Fluid no longer produces trigraphs accidentally in the image data.
- Fluid uses string constant concatenation to produce shorter image
data.
- The Fl_Group deletion code crashed if there was exactly one child
widget.
- Simulated overlays in single-buffered Fl_Gl_Windows now draw
correctly (though very slowly as it requires the entire window to
be redrawn to erase the overlay). This fix ported our Digital
Domain programs better to systems with no overlay hardware.
- Added support for extern "C" declarations in FLUID.
- Added Fl_Pack support to FLUID.
- Fixed the order of #include's in FLUID generated header files.
- Fixed detection of vsnprintf and snprintf under HP-UX 10.20 once
and for all.
- The checkers demo did not compile with GCC 2.95
- FLUID didn't output virtual destructors properly.
- Added inline "make_visible()" method to Fl_Browser.
- Fl::wait() now returns immediately if any timeouts are
called.
- 16-bit XPM files are now properly handled.
- Fl_Window::resize() was missing FL_EXPORT (caused problems
with Windows DLLs)
- FLUID was writing extern declarations twice.
- New FLUID arrow key functionality: arrows move by one pixel, shift+arrow
resizes, ctrl+arrow steps by grid
CHANGES SINCE FLTK 1.0.3
- Documentation updates
- Fl_Browser::bottomline(size) didn't scroll to the bottom
if the second-to-last line was visible.
- fl_wait() didn't poll FDs properly for WIN32.
- Fixed DLL definitions for BC++.
- FLUID now handles nested classes properly.
- The "connect" demo now does a wait() for the PPP process
so that you aren't left with a lot of zombie processes.
- Fixed the FLTK colormap to use FF instead of F4 for full
intensity values.
- Minor change to scrollbar drawing code to match other
toolkits.
- New selections would cancel themselves out in WIN32.
- The header file links were broken in the IRIX
distributions.
- fl_elapsed() now always uses GetClockTick() for WIN32.
- fl_display is now initialized to GetModuleHandle(NULL) -
this fixes problems people had with Cygwin and MingW32.
- WinMain() is no longer compiled in with Cygwin and
MingW32; it wasn't being used for those compilers anyways.
- Added Solaris compiler options to configure script.
- Fl_Value_Input wouldn't update properly if you set the
value from a callback.
- Fl_Tile wouldn't resize if the resizeable widget was the
last child.
- Was missing #include <ctype.h> and #include <stdlib.h> in
several files, which caused problems on some platforms.
- Fixed another case where Fl_Browser_ could get in an
infinite resizing loop.
- Fl_win32.cxx now includes <FL/filename.H> to export missing
DLL symbols.
- Fluid didn't handle member functions that include the
scope operator.
- Fl_Chart was dividing by 0 if there were no data samples
or if they were all the same (min == max).