f1517d5df9
CHANGES: update list of changes. KNOWN_BUGS.html: prepare list of open bugs (currently empty). Todo: add actual bug list to KNOWN_BUGS.html before release.
747 lines
36 KiB
Plaintext
747 lines
36 KiB
Plaintext
|
|
CHANGES IN FLTK 1.3.5rc1 RELEASED: Jan ?? 2019
|
|
|
|
|
|
New features and enhancements (summary)
|
|
|
|
- Add support for macOS 10.13 "High Sierra" and 10.14 "Mojave".
|
|
- Add FL/platform.H for compatibility with FLTK 1.4 and higher.
|
|
- Improve OpenGL(3+) support.
|
|
- Improve Cairo support and (CMake) Cairo detection.
|
|
- Improve desktop scaling support for HiDPI screens.
|
|
Note: FLTK application scaling is available in FLTK 1.4.0.
|
|
|
|
Bug fixes and other improvements
|
|
|
|
- Make sure not to access Fl_Menu_ widgets if the widget gets
|
|
deleted while the menu (pulldown) is open (STR #3503).
|
|
- Fix CMake build (fluid) on case sensitive macOS file systems.
|
|
- Windows/OpenGL: improve pixel format detection (STR #3119).
|
|
- Add support for macOS 10.14 "Mojave": all drawing to windows is done
|
|
through "layer-backed views" when the app is linked to SDK 10.14.
|
|
- MacOS platform: fix regression in macOS 10.13 where an unbundled app
|
|
had its system menu bar unresponsive.
|
|
- MacOS 10.10 platform: Fl_Window::fullscreen() and fullscreen_off()
|
|
no longer call Fl_Window::hide() + Fl_Window::show().
|
|
The new procedure essentially resizes the window, as done on
|
|
the X11+EWMH and Windows platforms. This improves in particular
|
|
the possibility to turn an Fl_Gl_Window fullscreen on and off.
|
|
- MacOS platform: Support \r\n as end of line used by recent
|
|
MS Office apps in clipboard.
|
|
- Fix Fl_Text_Editor overstrike mode (STR #3463).
|
|
- More consistent and optimized "gleam" scheme box drawing.
|
|
- Fix a MinGW build error with new MinGW versions as of Feb 2018
|
|
(undefined S_OK and __FD_ISSET), see STR #3454.
|
|
- Windows/CMake: Add missing definition of WIN32 for Windows builds.
|
|
This seems to be necessary for VS2017 and other compilers that
|
|
don't #define WIN32, but FLTK relies on this preprocessor macro.
|
|
Autoconf/configure and bundled IDE files #define WIN32 as well.
|
|
- Fix illegal memory access after free when closing fluid (valgrind
|
|
reports "Invalid read of size 4"), see also STR #3427.
|
|
- Fix crash when closing fluid with Fl_Table (STR #3427).
|
|
- Fix ignored buffer pre-allocation (requestedSize) in Fl_Text_Buffer.
|
|
See fltk.general "Fl_Text_Buffer constructor bug" on Dec 5, 2016.
|
|
- Fix Fl_Browser background and text color parsing (STR #3376).
|
|
- Fix Windows CreateDC/DeleteDC mismatch (STR #3373).
|
|
- Update bundled configure scripts config.guess and config.sub.
|
|
- Fix configure --enable-cairo --enable-cairoext,
|
|
see report in fltk.general:
|
|
https://groups.google.com/forum/#!topic/fltkgeneral/x80qQ6wt0s4
|
|
- Fix macOS timer implementation (STR #3387).
|
|
- Fix drop-to-FLTK-widget under MSWindows when the desktop is
|
|
rescaled (STR #3390).
|
|
- Add support for macOS 10.13 "High Sierra". Subwindows don't
|
|
move correctly under 10.13 without this fix.
|
|
|
|
|
|
CHANGES IN FLTK 1.3.4-1 RELEASED: Nov 15 2016
|
|
|
|
Bug fixes and other improvements
|
|
|
|
- Fix Windows IDE solutions VisualC2008 and VisualC2010 to
|
|
build properly if the FLTK source directory is located
|
|
in a path that contains spaces.
|
|
|
|
Note: this is a source tar file update that is only necessary
|
|
if you build one of the above mentioned Visual Studio IDE
|
|
solutions in a path with spaces. Nothing else changed, no
|
|
documentation updates.
|
|
|
|
|
|
CHANGES IN FLTK 1.3.4 RELEASED: Nov 11 2016
|
|
|
|
Bug fixes and other improvements
|
|
|
|
- Fix test/native-filechooser help display artifact (STR #3349).
|
|
- MacOS: fix a crash when closing a fullscreen window.
|
|
- Accept empty Fl_Pixmap in Fl_RGB_Image c'tor (STR #3348).
|
|
- MacOS: fix drawing error when a window containing a hidden subwindow
|
|
is changed to fullscreen (error visible with the tabs test program).
|
|
- MacOS: fix possible crash when enabling fullscreen in test/scroll.
|
|
- Add a snapshot of known STR's and RFE's (KNOWN_BUGS.html).
|
|
|
|
CHANGES IN FLTK 1.3.4rc3 RELEASED: Oct 31 2016
|
|
|
|
Bug fixes and other improvements
|
|
|
|
- Fix string truncation in fluid (STR #2722 continued).
|
|
- MacOS: fix a small problem where the Command-Quit menu hotkey
|
|
may not work if Fl_Native_File_Chooser is used before any
|
|
window is shown.
|
|
|
|
|
|
CHANGES IN FLTK 1.3.4rc2 RELEASED: Oct 24 2016
|
|
|
|
Bug fixes and other improvements
|
|
|
|
- Make sure the "File Systems" menu item of Fl_File_Chooser
|
|
lists "/" as the first mounted file system (Linux/Unix platform).
|
|
- Added line numbers to fluid Edit -> Show Source Code viewer.
|
|
- Improved fluid's template handling (STR #3335).
|
|
|
|
|
|
CHANGES IN FLTK 1.3.4rc1 RELEASED: Oct 17 2016
|
|
|
|
New features and extensions
|
|
|
|
- Added support for Mac OS 10.11 "El Capitan" and 10.12 "Sierra".
|
|
- Added full support of true subwindows to the Mac OS X platform.
|
|
Window nesting to any depth is possible. An Fl_Gl_Window window or
|
|
subwindow can contain Fl_Window's as subwindows.
|
|
- Fluid now supports external editors (STR #3213)
|
|
See: Edit -> GUI Settings -> Use external editor
|
|
- Added method Fl_Widget::is_label_copied().
|
|
- Added methods Fl_Copy_Surface::w(), Fl_Copy_Surface::h(),
|
|
and Fl_Copy_Surface::draw_decorated_window().
|
|
- Added method Fl_Image_Surface::draw_decorated_window().
|
|
- Added method Fl_Shared_Image *Fl_Image_Surface::highres_image()
|
|
to draw into a high-resolution bitmap image (Mac OS X only).
|
|
- Added support for OpenGL version 3 and later.
|
|
- Added method Fl_Mac_App_Menu::custom_application_menu_items()
|
|
allowing customization of the application menu (Mac OS X only).
|
|
- Added 'fluid -u' command-line switch to upgrade fluid files in
|
|
batch mode. This option opens a fluid ('.fl') file and saves it
|
|
overwriting the old file with the current syntax and library version
|
|
number. Use with care (input file is overwritten unconditionally).
|
|
- Added FL_ZOOM_GESTURE gesture for OS X (only). Needs implementation
|
|
on other platforms.
|
|
- Added FL_ABI_VERSION, FL_API_VERSION, Fl::abi_version(), and
|
|
Fl::api_version(). Constants can be used to determine the compiled
|
|
FLTK version. Functions can be used to find the linked library version.
|
|
- Added Fl::abi_check() method to test if the runtime (linked)
|
|
ABI version is correct.
|
|
- Added Fl_Image::fail() to test if an image was loaded successfully
|
|
to allow for easier error detection when loading images (STR #2873).
|
|
- Added line numbers to fluid's source code viewer for New -> Code
|
|
|
|
New configuration options (ABI version)
|
|
|
|
- FLTK's ABI version can now be configured with 'configure', CMake, or
|
|
by editing a supplied file when using the bundled IDE projects.
|
|
See documentation in README.abi-version.txt.
|
|
|
|
1.3.4 ABI FEATURES
|
|
|
|
- Added deactivated user icon to Fl_Tree.
|
|
- Added Fl_Shared_Image::scale(width, height) which gives a shared
|
|
image its own drawing size, independently of the size of the
|
|
underlying image. This improves image drawing on high resolution
|
|
surfaces such as Laser printers, PDF files, and Apple retina displays.
|
|
|
|
Other improvements
|
|
|
|
- Configure now correctly sets HAVE_* variables only if both the
|
|
library and the header files were found. The configuration process
|
|
is aborted if Xft was requested explicitly with --enable-xft and
|
|
Xft was not found. The configuration summary now shows _found_
|
|
options as opposed to requested options.
|
|
- Improved drawing of rounded box (STR #2943).
|
|
- Full support of Apple 'retina' displays for which one drawing unit
|
|
corresponds to two pixels.
|
|
- The Mac OS X platform no longer uses the deprecated AGL
|
|
(Apple GL library) to draw OpenGL data. Instead, it uses standard
|
|
Cocoa APIs. This allows FLTK to support drawing GL scenes at high
|
|
resolution when an Fl_Gl_Window is mapped to a 'retina' display.
|
|
- Added Fl_Gl_Window::pixel_w(), Fl_Gl_Window::pixel_h(), and
|
|
Fl_Gl_Window::pixels_per_unit() useful for high resolution OpenGL windows.
|
|
- fl_read_image() now captures all pixels within the rectangle
|
|
described by its arguments, whether they belong to a GL scene
|
|
or not (STR #3142). It also captures subwindows of GL windows.
|
|
- Fl::delete_widget() now hides the widget or window immediately
|
|
(i.e. when called) - only destruction is delayed as before.
|
|
- FLTK header files don't expose X11 definitions in user code any more
|
|
unless requested by including FL/x.H explicitly or implicitly.
|
|
- The PostScript code output when printing images under Linux/Unix
|
|
is now much smaller by using lossless compression techniques.
|
|
- The Linux/Unix printer dialog now uses BSD-style printing commands
|
|
(lpr/lpq) when SystemV-style commands (lp/lpstat) are not available.
|
|
- Drawing alpha-blended images under X11 is now accelerated with
|
|
Xrender.
|
|
- The font used for the FL_COURIER font family was changed on the Mac OS X
|
|
platform from 'Courier New' to 'Courier' because it was too thin.
|
|
- Text drawing on the Mac platform supports Unicode 'variation selectors'
|
|
in the range [0xFE00-0xFE0F].
|
|
- Added a Mac OS implementation of Fl_Window::wait_for_expose() that
|
|
became necessary with Mac OS 10.10 "Yosemite".
|
|
- Added the libfltk target to the Xcode project producing a static
|
|
version of the FLTK library (Mac OS X).
|
|
- Restored the possibility to call Fl::set_font() before main() starts.
|
|
- Allow using the --enable-x11 configure option on the Mac OS platform
|
|
which produces an X11 version of the FLTK library (don't use unless
|
|
you know what you're doing).
|
|
- FLTK code and fluid-generated code can be used in static initializers.
|
|
- Added light gray separator line to fluid's widget browser (STR #2997).
|
|
- Improved tooltip behavior for huge tooltips: remove flicker, support
|
|
key/mouse dismiss (STR #2650).
|
|
- Modifier key names displayed in shortcut labels can now be localized.
|
|
See documentation of fl_shortcut_label(). You can set modifier key
|
|
names for Ctrl, Alt, Shift, and Meta by assigning global string
|
|
pointers to your translated modifier key names.
|
|
- Many documentation improvements and fixes.
|
|
- Fixed many compiler warnings (STR #2988).
|
|
- Fluid now generates code with less compiler warnings (STR #2813).
|
|
- Many CMake improvements and fixes. Note: CMake is mostly operating
|
|
now, but not yet recommended for production use. Please test and
|
|
report issues.
|
|
- Updated bundled zlib from 1.2.5 to 1.2.8.
|
|
- Updated bundled libjpeg from jpeg-8c to jpeg-9a.
|
|
|
|
|
|
Bug fixes
|
|
|
|
- Fix potential crash when using keyboard navigation on Fl_Tabs
|
|
widget without children (STR #3333).
|
|
- Fix potential crash if Fl_Window::icon(NULL) was called to clear
|
|
(reset) a window icon. This is now legal and documented behavior.
|
|
The same applies to Fl_Window::default_icon().
|
|
- Allow widget callback to be NULL, i.e. no callback (STR #2835).
|
|
- Fixed Fl_Help_View buffer overflow (STR #3275).
|
|
- Fl_Browser now correctly adjusts its scrollbars when the default
|
|
text size is changed with textsize(int) (STR #3057).
|
|
- Fixed Fl_Text_Display/Fl_Text_Editor slow scrolling, line number
|
|
display, wrap mode "hiding" text behind scrollbars, and more
|
|
scrollbar handling (alignment) (STR #3272).
|
|
- Fixed valgrind warning (uninitialized variable) in Fl_Window.
|
|
Visible only with FLTK_ABI_VERSION >= 10303, since FLTK 1.3.3.
|
|
- Fixed Windows drag'n'drop not showing insert position if the drop
|
|
target is inside the same window or process (STR #3209).
|
|
- Fixed undefined reference building shared cairo library (STR #3276).
|
|
- Fixed Fl_Browser if text argument to some methods is NULL (STR #3269).
|
|
- Fixed missing image release in fluid (STR #2840).
|
|
- Fixed out-of-bounds memory access in fluid (STR #3263).
|
|
- Fixed trailing white space in fluid .fl files (STR #3239).
|
|
- Several box types were not drawn correctly when deactivated.
|
|
The background color for deactivated widgets is now correct:
|
|
fl_inactive(color()) (STR #2907).
|
|
- Fix inconsistent interpretation of ld() in image handling
|
|
(STR #3308). This is a minor issue since ld() is usually 0 or
|
|
w()*d(). Documentation has been fixed, and ld() handling is now
|
|
consistent in Fl_(RGB_)Image and fl_draw_image() and friends. See
|
|
documentation of Fl_Image and Fl_RGB_Image for more information.
|
|
- Fixed Fl_Pixmap (background) drawing to respect the clip region
|
|
(STR #3206).
|
|
- Fixed reading .pbm image files: 1 is now interpreted as black,
|
|
and images whose width are a multiple of 8 are correctly read.
|
|
Note: if you relied on the faulty behavior you may need to fix
|
|
your image files.
|
|
- Restored window background drawing, particularly the 'plastic'
|
|
scheme's background (STR #3059). This was a regression since
|
|
FLTK 1.3.0.
|
|
- Prevent sending (FL_SHORTCUT) events to inactive widgets (STR #3216).
|
|
- Fixed button label clipping (STR #3237).
|
|
- Fixed Fl_Menu_::item_pathname() handling of descending submenu
|
|
pointers (STR #3177).
|
|
- Fl_Text_Display: style buffer colors are no longer manipulated by
|
|
fl_contrast() for normal text drawing (fltk.coredev thread started
|
|
04/08/15, Subject: "RFC: Fl_Text_Display style buffer color weirdness")
|
|
- Fl_Tree::deactivate() now affects draw color of items (must have
|
|
ABI 1.3.3 or higher enabled). For icons to draw deactivated,
|
|
enable ABI 1.3.4. (test/tree has a 'deactivate tree' button)
|
|
- Fl_Tree::find_item() did not find items if the pathname contained
|
|
identical strings (STR #3234).
|
|
- Fixed possible bad border effect when a set of radio menu items
|
|
is located first in its menu (STR #3176): Fl_Menu_Item::set_only()
|
|
is deprecated and replaced by Fl_Menu_::set_only(Fl_Menu_item*).
|
|
- Restore the correct state of mouse buttons and keyboard modifier keys
|
|
after closing a file or printer dialog (STR #3221).
|
|
- Fix for deactivate colors issue with Fl_Text_Display/Editor (STR #3219).
|
|
- Fixed issue with MSWindows platform where the program kept running
|
|
after closing all its windows (STR #3165).
|
|
- Fix potential buffer overflow (MSWindows: BEX64 error) and problem with
|
|
MSWindows environment variables "HOME"(MinGW) vs. "UserProfile"(DOS)
|
|
- Fix issue with MSWindows platform where a window would decrease
|
|
in size after each close/open (STR #3167).
|
|
- Fix undefined reference XGetUtf8FontAndGlyph (STR #3191).
|
|
- Fix potential keyboard hangup (STR #3192).
|
|
- Fix for: .xbm images were not previewed (STR #3131).
|
|
- Fixed crash on Mac platform when resizing a not yet shown() Fl_Gl_Window.
|
|
- Fixed potential Windows GDI leak (STR #3254).
|
|
- Fixed Linux/Unix potential program hang when dialog pops up while
|
|
a menu is open (STR #3179).
|
|
- Fixed a crash when a Unix/Linux program calls take_focus() before any
|
|
window has been show()n.
|
|
- Fixed an error on the Mac platform when drawing to an Fl_Image_Surface
|
|
object without using the Fl_Image_Surface::draw() method.
|
|
- Fixed STR #3268 where a fullscreen window could become relocated
|
|
behind the menu bar and dock (Mac OS only).
|
|
- Fixed STR #3207: ^C not working when numlock or capslock is on.
|
|
- Fixed code editor in Fluid (STR #3184).
|
|
- Fixed a potential hangup of the Fl::awake() queue under Windows if
|
|
a window is resized or moved while the Fl::awake() message is sent
|
|
(STR #3143).
|
|
- Fixed a regression: restore the possibility to call
|
|
fl_draw_image(buf,X,Y,W,H,D,L) with negative D and/or L arguments.
|
|
- Fixed overflow in Fl_Valuator::precision(int) to 0...9 (STR #3280).
|
|
|
|
|
|
CHANGES IN FLTK 1.3.3 RELEASED: Nov 03 2014
|
|
|
|
New features and extensions
|
|
|
|
- New class Fl_Copy_Surface allows copying graphical data to the
|
|
clipboard in a cross-platform way (STR #3058).
|
|
- Support for pasting graphical data from the clipboard to a widget.
|
|
- New class Fl_Image_Surface allows drawing into an Fl_Image object.
|
|
- Methods Fl::add_clipboard_notify() and Fl::remove_clipboard_notify()
|
|
to get notifications whenever the clipboard changes (STR #2636).
|
|
- New method Fl_Window::wait_for_expose() (STR #3124, STR #3129).
|
|
- New bilinear scaling method for RGB images (STR #2869, STR #3062).
|
|
- New method Fl_Widget::top_window() (STR #2948).
|
|
- New method Fl_Widget::top_window_offset() (part of STR #2944).
|
|
- New Fl_Tree_Item methods label_x(), label_y(), label_w(), label_h().
|
|
- New methods Fl::enable_im() and Fl::disable_im() to enable/disable
|
|
system Input Methods (IM).
|
|
- New methods Fl::add_system_handler() and Fl::remove_system_handler()
|
|
to intercept low level system events.
|
|
- New FLTK scheme "gleam" (STR #2672).
|
|
- New method Fl::is_scheme() to compare the current scheme name.
|
|
- New method to set custom icons for windows (STR #2816),
|
|
see Fl_Window::icon() for more info.
|
|
- New method to set any custom cursor, based on a Fl_RGB_Image object.
|
|
Also changed fallback cursors to use this method, so that fallback
|
|
cursors are handled in a platform independent manner (STR #2660).
|
|
- New ability to convert Fl_Pixmap to Fl_RGB_Image (STR #2659).
|
|
- Support for full screen windows over multiple monitors.
|
|
- New optional line numbers in Fl_Text_Display and options to control
|
|
line numbers and word wrapping (on/off) in example test/editor.cxx.
|
|
- On Linux/Unix, class Fl_Native_File_Chooser uses file dialogs from
|
|
the Gnome environment (provided by the libgtk dynamic library) if
|
|
available, and falls back to Fl_File_Chooser if not (STR #3088).
|
|
Use option Fl::OPTION_FNFC_USES_GTK to enable/disable this feature.
|
|
- New support for the Mac OS text input system that deals with character
|
|
composition and input of languages with large character sets (e.g.
|
|
Chinese and Japanese). This implementation has been reported to work
|
|
well for Chinese. Superficial testing suggests it's also operational
|
|
for Japanese. In-depth testing remains needed though.
|
|
|
|
Other improvements
|
|
|
|
- Many CMake improvements (e.g. STR #2962, 2977, 2994, 3045, 3055).
|
|
- Some autoconf, configure improvements.
|
|
- Removed 1024 bytes constraint in labels and browser lines (STR #2990).
|
|
- Mac OS version of Fl_Native_File_Chooser: when using filters in a
|
|
save file dialog, the output file extension gets changed when the
|
|
user modifies the output file type.
|
|
- Many Mac OS X improvements related to Fl_Sys_Menu_Bar.
|
|
- Improved Mac OS X keyboard handling of special keys or combinations.
|
|
- General Mac OS X improvements, incl. high resolution (Retina)
|
|
displays, and support up to Mac OS X 10.10.
|
|
- Documentation improvements and clarifications.
|
|
- Printing support improvements, including GL windows.
|
|
- Many improvements related to Fl_Tree (some of them only as ABI
|
|
breaking features, see below).
|
|
- Some static data has been made 'const' to improve memory usage
|
|
with shared libraries.
|
|
- Don't grab navkeys with modifiers (CTRL, ALT), as the application
|
|
may want them (STR #3104).
|
|
- Check compiler support of -fvisibility, -fvisibility-inlines-hidden,
|
|
and use it, if available. Reduces shared library size.
|
|
- Drag'n'drop behaves better now: if text is dropped in the widget it
|
|
comes from, then it works like cut and paste.
|
|
- Other improvements of DND handling when dragging text from other
|
|
applications, e.g. Firefox and Thunderbird.
|
|
- Windows message WM_QUIT is processed like SIGTERM, i.e. as a
|
|
request to terminate the program.
|
|
- Fluid no longer closes the code window when hitting ESC (STR #2997).
|
|
- Improved Fl_Widget::when() handling in Fl_Tabs (STR #2939).
|
|
- Improved support for more recent compilers (clang and gcc) that
|
|
issue more warnings, and fixed some 32-/64-bit compilation issues.
|
|
- Added method Fl_Window::clear_modal_states() to make it possible
|
|
to remove the modal or non-modal state from a window (STR #3123).
|
|
|
|
Bug fixes
|
|
|
|
- Fixed word selection dragging in text input (STR #3014).
|
|
- Fixed border padding for special cases (STR #3061, Windows only).
|
|
- Fixed crash if Fl_Window::flush() called while window not shown()
|
|
(STR #3028).
|
|
- Fixed segfault in fl_set_fonts_xft.cxx when loading fonts not named
|
|
as expected (STR #2976).
|
|
- Fixed a memory leak in font loading/allocation (STR #3069).
|
|
- Fixed minor memory leaks in handling/freeing of X11 objects.
|
|
- Fixed OS X fl_read_image() and Fl_Paged_Device::print_window_part()
|
|
when using a Retina display.
|
|
- Fixed MinGW build if configure didn't find strcasecmp() (STR #2994).
|
|
- Fixed access of protected member under Linux/Unix (STR #2903).
|
|
- Fixed various Mac specific OpenGL issues (STR #2944)
|
|
- Fixed PostScript printing with non-english locale (STR #3130).
|
|
- Fixed a regression in Fl_File_Chooser since FLTK 1.1.8: the
|
|
Enter key now selects the file again.
|
|
- Fixed a bug in Fl_Native_File_Chooser (Windows) for some file name
|
|
input filters (STR #3101).
|
|
- Fixed out-of-bounds memory access in Fl_Text_Display (STR #2730).
|
|
|
|
1.3.3 ABI FEATURES
|
|
|
|
To enable the following ABI features, put:
|
|
#define FLTK_ABI_VERSION 10303
|
|
..at the top of your FL/Enumerations.H and rebuild FLTK and your app.
|
|
|
|
- Added Fl_Window::shape(const Fl_Image*) to create arbitrarily-shaped
|
|
windows
|
|
- Made Fl_Help_View::handle() public and Fl_Help_View::draw() protected
|
|
to enable inheritance and for consistency (STR #2834).
|
|
Note: both methods were private.
|
|
- Made Fl_Scroll::recalc_scrollbars() protected so that it can be used
|
|
in derived widgets to calculate scrollbar visibility and positions.
|
|
- Added Fl_Table::tab_cell_nav() for controlling Tab key navigation of table
|
|
- Added Fl_Tree::get_selected_items(), returns the selected items as an array
|
|
- Added Fl_Tree::item_draw_callback(), letting one define a custom draw
|
|
function for Fl_Tree_Item's.
|
|
- Fl_Tree: various related changes:
|
|
o Added horizontal scrollbar
|
|
o Separated draw() and tree size calculation
|
|
o Added new public methods:
|
|
> resize() -- uses optimized dim calc, avoids tree recalc
|
|
> next_item() -- added parameters: direction, visibility
|
|
> extend_selection() -- added parameters, improved algorithm
|
|
> calc_dimensions() -- calc tix/y/w/h, tox/y/w/h and scrollbars
|
|
> calc_tree() -- calc tree_w/tree_h
|
|
> recalc_tree() -- schedules calc_tree()
|
|
> first_visible_item(), last_visible_item(), next_visible_item()
|
|
> first_selected_item(), last_selected_item(), next_selected_item()
|
|
o Added protected variables:
|
|
> _tix/y/w/h -- tree widget 'inner' dimension
|
|
> _tox/y/w/h -- tree widget 'outer' dimension
|
|
> _tree_w,_tree_h -- entire tree hierarchy width/height
|
|
o Deprecated:
|
|
> item_clicked() -- use callback_item() instead
|
|
> first_visible() -- use first_visible_item() instead
|
|
> last_visible() -- use last_visible_item() instead
|
|
|
|
- Fl_Tree_Item: various related changes:
|
|
o Added Fl_Tree ptr: needed for auto-recalc when item modified directly
|
|
o Added new methods tree(), recalc_tree()
|
|
o Added new ctor that accepts Fl_Tree*
|
|
o draw() parameters changed to include tree size calculations
|
|
o Deprecated:
|
|
> ctor using Fl_Tree_Prefs parameter (Fl_Tree* version better,
|
|
and must be used for 1.3.3 ABI features to work correctly)
|
|
> next_displayed() -- use next_visible() instead
|
|
> prev_displayed() -- use prev_visible() instead
|
|
- test/tree: added tests for newly added features
|
|
|
|
CHANGES IN FLTK 1.3.2 RELEASED: Dec 12 2012
|
|
|
|
- Removed unnecessary drawing calls (STR #2898)
|
|
- Fixed regression in FLTK 1.3.1 for unbundled Mac OS FLTK applications
|
|
that did not appear in dock nor have a menu bar (STR #2890).
|
|
- Fl_Table::clear() now calls table->clear() for consistency. (STR #2889)
|
|
- Fixed Fl_Scroll widget that fails under Mac OS X 10.8 and Retina
|
|
display (STR #2887).
|
|
- Prevents scrollbars from drawing when widget is sized too small
|
|
to be visible (STR #2886).
|
|
- Documented how to make a Mac OS X FLTK application launchable
|
|
by dropping files on its icon.
|
|
- Fixed a Mac-specific issue that appeared with OS 10.8 (Mountain Lion):
|
|
long delay before opening when the application is started by dragging
|
|
a file on the application icon.
|
|
- Fixed use of PNG image from in-memory data (STR #2884).
|
|
- Added static Fl_RGB_Image::max_size(size_t) to limit the maximum
|
|
memory size allowed to RGB images (STR #2881).
|
|
|
|
CHANGES IN FLTK 1.3.1 RELEASED: Nov 06 2012
|
|
|
|
- Fixed utf_strncasecmp and utf_strcasecmp
|
|
- Moved all inline constructors into source file to avoid bad DLLs
|
|
- Fixed Fl_Widget::copy_label() and Fl_Window::copy_label() when
|
|
called with the old label() (STR #2836)
|
|
- Fixed Fl_Input_::maximum_size() documentation and replace() method
|
|
to honor maximum_size() as number of allowed characters (STR #2747).
|
|
- Fixed a potential crash if Fl_Double_Window::flush() was called
|
|
before show()
|
|
- Fixed regression (in FLTK 1.3.0) that could clear a radio
|
|
button by using the keyboard (space or shortcut) (STR #2748)
|
|
- Fixed fl_pie() drawing too small on X11 (STR #2703)
|
|
- Fixed Fl_Menu issue with unusual menu flags (STR #2680)
|
|
- Fixed Windows DLL import of fl_xid() (STR #2670)
|
|
- Added Fl::screen_work_area() functions that compute the work area
|
|
of a screen. These functions improve the positioning of menus.
|
|
Changed Fl::x(), Fl::y(), Fl::w(), Fl::h() functions
|
|
to return the origin and size of the work area of the main screen
|
|
(STR #2695 + 2697)
|
|
- Created the FL_SCREEN_CONFIGURATION_CHANGED event that is triggered
|
|
when a screen is added, removed, moved or when resolution is changed
|
|
(STR #2600)
|
|
- Improved the description of page size and orientation by
|
|
Fl_PostScript_File_Device.
|
|
- Added support for horizontal wheel movement under X11 and Windows
|
|
Vista and above (STR #2644).
|
|
|
|
1.3.1 ABI FEATURES
|
|
(To enable the following ABI features, put: #define FLTK_ABI_VERSION 10301
|
|
at the top of your FL/Enumerations.H and rebuild FLTK and your app)
|
|
- Fl_Tree optimized to support large trees (eg. 100k items):
|
|
Added _next_sibling and _prev_sibling to Fl_Tree_Item class,
|
|
and support methods.
|
|
|
|
|
|
CHANGES IN FLTK 1.3.0 RELEASED: Jun 16 2011
|
|
|
|
New Features
|
|
|
|
- Added UTF-8 Unicode support throughout FLTK and Fluid
|
|
- Added Fl_Tree widget for hierarchical views
|
|
- Added Fl_Table widget for widget layout
|
|
- Added Fl_Native_Filechooser as a widget and global options
|
|
- Added printing support (Fl_Printer class and friends) for native
|
|
printing on Windows and Mac OS X, PostScript printing on X11
|
|
with CUPS or lp, and PostScript file output on all platforms
|
|
- Added basic Fl_Device abstraction layer for all drawing functions
|
|
- Moved OS X code base to the more modern Cocoa toolkit thanks
|
|
to the awesome work of Manolo Gouy (STR #2221)
|
|
|
|
API and ABI Compatibility to FLTK 1.1.x
|
|
|
|
- All strings are expected to be in UTF-8 Unicode encoding
|
|
- Replaced Fl_Scroll::position(int,int) with scroll_to(int,int)
|
|
to avoid overriding Fl_Widget::position(int,int) (STR #1303)
|
|
- Although FLTK 1.3 maintains source code compatibility as good
|
|
as possible, the binary interface changed considerably.
|
|
- Updated the bundled libpng to v1.5.1 (released Feb 3, 2011)
|
|
- Updated the bundled libjpeg to v8c (released Jan 16, 2011)
|
|
- Updated the bundled zlib to v1.2.5 (released Apr 19, 2010)
|
|
|
|
API Enhancements and Changes
|
|
|
|
- Changed font index to 32 bit
|
|
- Changed font size to 32 bit
|
|
- Changed widget coordinates to 32 bit
|
|
- Corrected const methods of Fl_Text_{Buffer|Display|Selection}
|
|
to be declared const, corrected an Fl_Text_Buffer attrib. typo
|
|
- All draw() methods of widgets are now protected (STR #2142).
|
|
- Changed Fl_Group::clip_children() to public (STR #2017)
|
|
- Changed socket library to winsock2 (ws2_32.dll) instead of
|
|
wsock32.dll for Windows. The dll is now loaded dynamically only
|
|
if/when needed.
|
|
- Changed hide() and show() methods. They are now virtual from
|
|
Fl_Widget.
|
|
- Added new label and image alignments (STR #2269)
|
|
- Added global UI options (STR #2471)
|
|
- Added class Fl_Widget_Tracker to simplify safe handling of widget
|
|
deletion in callbacks. This is used in Fl_Widget::do_callback()
|
|
to prevent accessing widgets after deletion in the callback.
|
|
- Added sorting to Fl_Browser_ (STR #2113)
|
|
- Added new method client_area() for easier positioning of children
|
|
in Fl_Tabs (STR #2480)
|
|
- Added interface to set color chooser mode (STR #2407)
|
|
- Added Fl_Menu_::find_item by callback
|
|
- Added loading jpeg images from memory
|
|
- Added support for shortcuts for Fl_Input_, Fl_Value_Input, and
|
|
Fl_Text_Display derived widgets (STR #1770)
|
|
- Added Fl_Menu_ methods: insert(), find_index(), clear_submenu()
|
|
- Hotspot behavior of fl_message() and other common dialogs is now
|
|
optional (STR #2561).
|
|
- Common dialogs like fl_message() and fl_ask() can now have a window
|
|
title (STR #2562).
|
|
|
|
IDE Support and Command Line Build Options
|
|
|
|
- FLTK now supports Apple Xcode 3, MS VisualC 2008, and
|
|
MS VisualC 2010. MS VisualC 6 support is maintained as a
|
|
compatibility base for VisualC.net, etc. . FLTK continues
|
|
to support configure/make and improved CMake build files.
|
|
- Added step by step README's for MSWindows, OS X, and four
|
|
Linux distros.
|
|
- Added "ide" subdirectory for all IDE support files
|
|
- Added template to generate new projects with Xcode.
|
|
- Added --enable-cairo and --enable-cairoext configure options.
|
|
- redesigned CMake files (STR #2317).
|
|
- The new configure option --enable-x11 (lowercase 'x') enables
|
|
Cygwin builds under Windows (with --enable-cygwin) to use X11
|
|
instead of GDI drawing (STR #2147, #2183) and is ignored otherwise.
|
|
- Changed "fltk-config --post foo" to create an application
|
|
bundle rather than attaching a resource fork.
|
|
- Changed default for configure option --with-links for common
|
|
misspellings on case sensitive file systems like Unix/Linux.
|
|
The new default is --without-links; use --with-links on
|
|
Unix/Linux only if you need the links (e.g. lowercase '.h')
|
|
|
|
Fluid
|
|
|
|
- Added argument-less constructor in Fluid Widget Class
|
|
- Added jpeg support to Fluid image() element
|
|
- Added binary data type to Fluid
|
|
- Empty functions in Fluid no longer create an
|
|
implementation (STR #2259)
|
|
- Fixed internationalisation of menus using Fluid (STR #2246)
|
|
- Fixed menu item counting issue in Fluid (STR #2322)
|
|
- Fixed lost top item in Fluid's tree browser (STR #2233)
|
|
- Fixed Fluid dependency on X11 (STR #2261)
|
|
- Fixed Fluid textcolor output (STR #1992)
|
|
- Fixed wrong default value of Fl_Spinner in Fluid (STR #1991)
|
|
|
|
Documentation
|
|
|
|
- Added documentation for event delivery (STR #1983)
|
|
- Added Fl_Scroll::bbox() documentation (STR #1893)
|
|
- Updated documentation for Fl_Input_
|
|
- Updated Copyright dates to 2010 (STR #2036)
|
|
- Updated mirror sites in documentation (STR #2220)
|
|
- Fixed documentation for Fl_Progress (STR #2209)
|
|
- Fixed documentation (added missing COMCTL32.LIB dependency)
|
|
|
|
Other Improvements
|
|
|
|
- Added drag'n'drop support for Fl_Text_*
|
|
- Added visual feedback for button shortcuts (STR #2372)
|
|
- Added callback when double-clicking file in a file chooser
|
|
(STR #2346)
|
|
- Added alternative Xft font names (STR #2215)
|
|
- Added mouse!=0 check in Fl_Glut_Window::handle (STR #2381)
|
|
- Added indexing to Fl_Preferences
|
|
- Added OS X cursor control to Fl_Input (STR #2169)
|
|
- Added menu shortcut alignment for OS X
|
|
- Added drop box to UTF-8 test that will show the UTF-8 encoding
|
|
for the first dropped character
|
|
- Added flexible gap size for text buffer (STR #2046)
|
|
- Added clarification to Fl_GL_Window mode function (STR #1945)
|
|
- Added alternative text input awareness on OS X
|
|
- Improved handling of composed keys in OS X 10.5 and up
|
|
- Improved stability of fl_read_image (STR #2021)
|
|
- Much faster fl_read_image() for Windows (STR #2387).
|
|
- Improved support for faulty X11 clients (STR #2385)
|
|
- Integrated default menu into Demo test app
|
|
- Replaced _WIN32 symbols that had come with UTF-8 and the
|
|
new Fl_Table widget with WIN32
|
|
- Widgets now remove stale entries from the default callback
|
|
queue when they are deleted (STR #2302)
|
|
- Managing all Widget flags in a single location now (STR #2161)
|
|
- File chooser preview now recognizes UTF-8 encoded
|
|
text files (STR #2218)
|
|
- Setting a default font for Xft (STR #2216)
|
|
- Restructured the unittest application
|
|
- Fl_Preferences.H now doesn't include windows.h any more
|
|
(Windows only, STR #2173).
|
|
- Fl_Window::draw() now doesn't reset its x/y-coordinates to 0
|
|
anymore before drawing itself and its children.
|
|
- Fl_Help_View handles HTML2 font color specification (STR #890)
|
|
- Widgets now remove themselves from their parent group (if any),
|
|
when destroyed (STR #1894)
|
|
- Changed Fl_Group and Fl_Scroll to resize themselves before
|
|
resizing their children (STR #2032)
|
|
|
|
Bug Fixes
|
|
|
|
- Fixed potential crash in fl_xid() on Linux (STR #2635)
|
|
- Fixed keyboard navigation in fl_choice() (STR #2591)
|
|
- Fixed alpha blending under X11 when line data size != 0 (STR #2606)
|
|
- Fixed Fl_Tabs selection border drawing, if tabs are at the bottom
|
|
of the widget (STR #2480)
|
|
- Fixed Compiling with mingw-w64 (STR #2308).
|
|
- Fixed crashes when detecting illegal UTF-8 sequences
|
|
in Fl_Text_* widgets (STR #2348)
|
|
- Fixed Fl_Text_Display Tabulator calculations (STR #2450)
|
|
- Fixed file access code to use UTF-8 strings (STR #2440)
|
|
- Fixed ARM Unicode cross compilation issue (STR #2432)
|
|
- Fixed xclass support for Fl_Window (STR #2053)
|
|
- Fixed Caps Lock handling in X11/XIM (STR #2366)
|
|
- Fixed handling of missing fonts in Xft (STR #2355)
|
|
- Fixed OpenGL hide/show issue in OS X (STR #2260)
|
|
- Fixed File Chooser preview hang if a device was choosen
|
|
- Fixed blinking of selection when the mouse was dragged
|
|
outside of the Fl_Text_* widget
|
|
- Fixed Unicode support for Fl_Text_* widgets
|
|
- Fixed menu and shortcut handling (STR #2243)
|
|
- Fixed fltk-config to give --libs on one line (STR #2408)
|
|
- Fixed outside label redraw damage areas (STR #2436)
|
|
- Fixed compile errors when HAVE_LIBJPEG was not defined
|
|
(STR #2382)
|
|
- Fixed special handling for ISO back-tab keycode (STR #2369)
|
|
- Fixed static allocation in Fl_Tabs (STR #2370)
|
|
- Fixed Fl_Widget::measure_label() to const (STR #2406)
|
|
- Fixed unbalanced Windows OleInitialize/OleUnitialize calls
|
|
when loading/unloading the FLTK dll (STR #2417)
|
|
- Fixed X11/XDBE double buffering (STR #2152, #2197)
|
|
- Fixed menu and tooltip window animation bug under X11 (compiz)
|
|
by setting an appropriate window type (STR #2082)
|
|
- Fixed max. fd calculation, if USE_POLL is enabled (STR #2324)
|
|
- Fixed clipping for offscreen rendering (OSX, STR #2330)
|
|
- Fixed possibility of wrong flags() in Fl_Window::iconlabel()
|
|
(STR #2161)
|
|
- Fixed Scrollbar events when max is less than min (STR #2283)
|
|
- Fixed crash in test/Editor when freeing buffer
|
|
too soon (STR #2294)
|
|
- Fixed Fl_Preferences Cygwin wide character bug (STR #2164)
|
|
- Fixed sorting in Fl_Browser - last item would not
|
|
be sorted (STR #2300)
|
|
- Fixed window levels in OS X Cocoa (STR #2316)
|
|
- Fixed a buffer overflow in fl_utf8from_mb() (STR #2279)
|
|
- Fixed a Windows GDI leak when testing alpha blending capabilities
|
|
- Fixed crashes for recursive common dialogs (STR #1986, #2150)
|
|
- Fixed a name conflict with new (VS 2008 Express) winsock2.h
|
|
versions and another conflict that produced compile errors
|
|
with VS 2008 Express (STR #2301)
|
|
- Fixed all color related calls to Fl_Color type (STR #2208)
|
|
- Fixed Fl_Choice contrast with light-on-dark settings (STR #2219)
|
|
- Fixed X server "lock", if a modal dialog window is opened
|
|
while a menu is active (STR #1986)
|
|
- 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)
|
|
- Fixed fl_draw_image to obey the alpha channel (OS X only)
|
|
- Fix for multiple popups, when dragging and calling fl_alert()
|
|
and friends from the callback (STR #2159)
|
|
- Fixed control key keycodes with modifiers on OS X
|
|
- Fixed bad system menu handling in OS X (STR #2153)
|
|
- Fixed File Input mouse pointer dragging (STR #2181)
|
|
- Fixed 'del' keycode on OS X
|
|
- Fixed OS X support for sending and receiving dnd data as UTF-8
|
|
- Fixed Copy/Paste operations with UTF-8, UTF-16 support and
|
|
fltk1.1 compatibility. (STR #2104, 2121).
|
|
- Fixed fl_set_spot() for Windows (STR #2101)
|
|
- Fixed callback that 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 menu position close to screen border (STR #2057)
|
|
- Fixed adding an idle handler during a draw() call (STR #1950)
|
|
- Fixed first modifier key event (STR #1952)
|
|
- Fixed Fl_Scroll inside Fl_Scroll (STR #265)
|
|
|
|
Removed Features
|
|
|
|
- Removed Watcom compiler support because it was introduced in
|
|
1.1.6 as a partial solution and never completed.
|
|
- Removed an XForms compatibility "feature" that prevented the
|
|
down array of Fl_Menu_Button from drawing (STR #2141).
|
|
- Removed support for gcc 2.x (or older)
|
|
- Removed redundant Fl_Group casts
|
|
|
|
|
|
CHANGES IN FLTK 1.1
|
|
|
|
See CHANGES_1.1
|
|
|
|
|
|
CHANGES IN FLTK 1.0
|
|
|
|
See CHANGES_1.0
|