mirror of
https://github.com/fltk/fltk.git
synced 2026-03-24 16:05:15 +08:00
Reorganize content of CHANGES.txt & introduce Fl_Flex
This commit is contained in:
83
CHANGES.txt
83
CHANGES.txt
@@ -14,11 +14,39 @@ Changes in FLTK 1.4.0 Released: ??? ?? 2022
|
||||
- autoconf/configure is still supported by the FLTK team for backwards
|
||||
compatibility with older systems that lack CMake support.
|
||||
|
||||
- FLTK 1.4 introduces a new platform, Wayland, available for recent Linux
|
||||
distributions and FreeBSD. More information in README.Wayland.txt
|
||||
|
||||
New Features and Extensions
|
||||
|
||||
- FLTK 1.4 introduces a new platform, Wayland, available for recent Linux
|
||||
distributions. More information in README.Wayland.txt
|
||||
- X11 and Wayland platforms: Added support for HiDPI displays and for rescaling any window
|
||||
at run-time under user control. Under the gnome desktop, FLTK applications
|
||||
detect the current gnome scaling factor and use it to scale all FLTK windows.
|
||||
Under other desktops, the FLTK_SCALING_FACTOR environment variable can be
|
||||
used to set the starting scaling factor of all FLTK applications.
|
||||
In addition, it is possible to rescale all FLTK windows mapped to a screen
|
||||
by typing ctrl-'+' (enlarge), ctrl-'-' (shrink) or ctrl-'0' (back to starting
|
||||
factor value). Windows moved between screens adjust to the scaling factor of
|
||||
their screen. This supports desktops mixing screens with distinct resolutions.
|
||||
- MSWindows platform: Added support for rescaling the GUI of any app
|
||||
at run-time using the ctrl/+/-/0/ keystrokes. All applications
|
||||
detect the desktop scaling factor and automatically scale their GUI
|
||||
accordingly. This effectively renders WIN32 FLTK apps "per-monitor DPI-aware"
|
||||
whereas they were "DPI-unaware" with FLTK 1.3.x.
|
||||
- macOS platform: Added support for rescaling the GUI of any app at run-time
|
||||
using the command/+/-/0/ keystrokes.
|
||||
- New Fl_Flex class to layout one row or one column of widgets.
|
||||
- New Fl::keyboard_screen_scaling(0) call stops recognition of ctrl/+/-/0/
|
||||
keystrokes as scaling all windows of a screen.
|
||||
- New member function Fl_Image::scale(int width, int height) to set
|
||||
the drawing size of an image independently from its data size. The
|
||||
same function was previously available only for class Fl_Shared_Image
|
||||
and with FL_ABI_VERSION >= 10304. New member functions Fl_Image::data_w()
|
||||
and Fl_Image::data_h() give the width and height of the image data.
|
||||
- New Fl_SVG_Image class: gives support of scalable vector graphics images
|
||||
to FLTK using the nanosvg software.
|
||||
- New classes Fl_SVG_File_Surface and Fl_EPS_File_Surface to save any FLTK
|
||||
graphics to SVG or EPS files, respectively.
|
||||
- Windows platform: added support for using a manifest to set the
|
||||
application's level of DPI awareness (issue #309).
|
||||
- X11 platform: class Fl_Native_File_Chooser will run the KDE file dialog
|
||||
@@ -39,11 +67,7 @@ Changes in FLTK 1.4.0 Released: ??? ?? 2022
|
||||
- The border radius of "rounded" box types can be limited and
|
||||
the shadow width of "shadow" box types can be configured (issue #130).
|
||||
See Fl::box_border_radius_max() and Fl::box_shadow_width().
|
||||
- New classes Fl_SVG_File_Surface and Fl_EPS_File_Surface to save any FLTK
|
||||
graphics to SVG or EPS files, respectively.
|
||||
- New fl_putenv() is a cross-platform putenv() wrapper (see docs).
|
||||
- New Fl::keyboard_screen_scaling(0) call stops recognition of ctrl/+/-/0/
|
||||
keystrokes as scaling all windows of a screen.
|
||||
- New "Preview" switch added to the GTK native file chooser dialog
|
||||
available on the X11 platform. This requires function fl_register_images()
|
||||
to have been called.
|
||||
@@ -57,11 +81,6 @@ Changes in FLTK 1.4.0 Released: ??? ?? 2022
|
||||
- New member functions Fl_Paged_Device::begin_job() and begin_page()
|
||||
replace start_job() and start_page(). The start_... names are maintained
|
||||
for API compatibility.
|
||||
- New member function Fl_Image::scale(int width, int height) to set
|
||||
the drawing size of an image independently from its data size. The
|
||||
same function was previously available only for class Fl_Shared_Image
|
||||
and with FL_ABI_VERSION >= 10304. New member functions Fl_Image::data_w()
|
||||
and Fl_Image::data_h() give the width and height of the image data.
|
||||
- OpenGL draws text using textures on all platforms, when the necessary
|
||||
hardware support is present (a backup mechanism is available in absence
|
||||
of this support). Thus, all text drawable in Fl_Window's can be drawn
|
||||
@@ -73,13 +92,6 @@ Changes in FLTK 1.4.0 Released: ??? ?? 2022
|
||||
has been changed. With FLTK 1.3.x, the application terminated when all
|
||||
windows were closed even before Fl::run() or Fl::wait() could return.
|
||||
With FLTK 1.4, Fl::run() returns so the app follows its normal termination path.
|
||||
- MacOS platform: Added support for rescaling the GUI of any app at run-time
|
||||
using the command/+/-/0/ keystrokes.
|
||||
- MSWindows platform: Added support for rescaling the GUI of any app
|
||||
at run-time using the ctrl/+/-/0/ keystrokes. All applications
|
||||
detect the desktop scaling factor and automatically scale their GUI
|
||||
accordingly. This effectively renders WIN32 FLTK apps "per-monitor DPI-aware"
|
||||
whereas they were "DPI-unaware" with FLTK 1.3.x.
|
||||
- FLTK apps on the MacOS platform contain automatically a Window menu, which,
|
||||
under MacOS ≥ 10.12, allows to group/ungroup windows in tabbed form. The new
|
||||
Fl_Sys_Menu_Bar::window_menu_style() function allows to specify various
|
||||
@@ -87,26 +99,14 @@ Changes in FLTK 1.4.0 Released: ??? ?? 2022
|
||||
- New function: int fl_open_ext(const char* fname, int binary, int oflags, ...)
|
||||
to control the opening of files in binary/text mode in a cross-platform way.
|
||||
- Fix for issue #247 : loading SVG image with BOM.
|
||||
- New Fl_SVG_Image class: gives support of scalable vector graphics images
|
||||
to FLTK using the nanosvg software.
|
||||
- Fl_Text_Selection got a new method length() and returns 0 in length()
|
||||
and in all offsets (start(), end(), position()) if no text is selected
|
||||
(selected() == false). The behavior in FLTK 1.3 and earlier versions
|
||||
(returning undefined values if !selected()) was confusing.
|
||||
- Added support for MacOS 10.13 "High Sierra".
|
||||
- New method Fl_Group::bounds() replaces Fl_Group::sizes() which is now
|
||||
deprecated. Fl_Group::bounds() uses the new class Fl_Rect that contains
|
||||
widget coordinates and sizes x(), y(), w(), and h() (STR #3385).
|
||||
Documentation for bounds() and its internal structure was added.
|
||||
- X11 platform: Added support for HiDPI displays and for rescaling any window
|
||||
at run-time under user control. Under the gnome desktop, FLTK applications
|
||||
detect the current gnome scaling factor and use it to scale all FLTK windows.
|
||||
Under other desktops, the FLTK_SCALING_FACTOR environment variable can be
|
||||
used to set the starting scaling factor of all FLTK applications.
|
||||
In addition, it is possible to rescale all FLTK windows mapped to a screen
|
||||
by typing ctrl-'+' (enlarge), ctrl-'-' (shrink) or ctrl-'0' (back to starting
|
||||
factor value). Windows moved between screens adjust to the scaling factor of
|
||||
their screen. This supports desktops mixing screens with distinct resolutions.
|
||||
- New method shadow(int) allows to disable the shadows of the hands
|
||||
of Fl_Clock, Fl_Clock_Output, and derived widgets.
|
||||
- New method Fl_Tabs::tab_align() allows to set alignment of tab labels,
|
||||
@@ -114,18 +114,18 @@ Changes in FLTK 1.4.0 Released: ??? ?? 2022
|
||||
- Added Fl_Surface_Device::push_current(new_surface) and
|
||||
Fl_Surface_Device::pop_current() to set/unset the current surface
|
||||
receiving graphics commands.
|
||||
|
||||
New Configuration Options (ABI Version)
|
||||
|
||||
- X11 platform: Added support for drawing text with the pango library
|
||||
which allows to draw most scripts supported by Unicode, including CJK
|
||||
and right-to-left scripts. FLTK now outputs PostScript that draws
|
||||
those scripts in vectorial form. The corresponding CMake option is
|
||||
OPTION_USE_PANGO. The corresponding configure option is --enable-pango.
|
||||
This option is OFF by default.
|
||||
|
||||
New Configuration Options (ABI Version)
|
||||
|
||||
- Configure option --enable-wayland allows to build the FLTK library for
|
||||
the new Wayland platform while remaining compatible with X11. The
|
||||
corresponding CMake option is OPTION_USE_WAYLAND.
|
||||
corresponding CMake option is OPTION_USE_WAYLAND. This option is OFF by default.
|
||||
- Configure options --enable-wayland --disable-x11 used together allow to
|
||||
build FLTK for the Wayland backend only (no x11 backend). Under CMake, the
|
||||
equivalent is to set both OPTION_USE_WAYLAND and OPTION_WAYLAND_ONLY.
|
||||
@@ -156,13 +156,17 @@ Changes in FLTK 1.4.0 Released: ??? ?? 2022
|
||||
|
||||
- (add new items here)
|
||||
- Added support for macOS 13.0 "Ventura".
|
||||
- Fixed X11 Input Method window badly positioned with Fl_Text_Editor
|
||||
widget (issue #270).
|
||||
- Added support for macOS 12.0 "Monterey".
|
||||
- Fixed X11 copy-paste and drag-and-drop target selection (issue #182).
|
||||
This fix has been backported to 1.3.6 as well.
|
||||
- Added support for macOS 11.0 "Big Sur" and for building for
|
||||
the arm64 architecture.
|
||||
- Added support for macOS 10.15 "Catalina"
|
||||
- Added 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.
|
||||
- Added support for macOS 10.13 "High Sierra".
|
||||
- Fixed X11 Input Method window badly positioned with Fl_Text_Editor
|
||||
widget (issue #270).
|
||||
- Fixed X11 copy-paste and drag-and-drop target selection (issue #182).
|
||||
This fix has been backported to 1.3.6 as well.
|
||||
- Add optional argument to Fl_Printer::begin_job() to receive
|
||||
a string describing the error when an error occurs.
|
||||
- Fix Windows-specific bug when the program tries to enlarge a
|
||||
@@ -175,7 +179,6 @@ Changes in FLTK 1.4.0 Released: ??? ?? 2022
|
||||
of GTK version 3 when available on the running X11 platform, and falls back
|
||||
to version 2 when V3 is not available. In contrast, GTK version 2 was used
|
||||
in priority by FLTK 1.3.x
|
||||
- Added support for macOS 10.15 "Catalina"
|
||||
- Improved documentation for '@' symbols in labels (STR #2940).
|
||||
- Fl_Roller can now be controlled via the mouse wheel (STR #3120).
|
||||
- Tooltips hide by themselves after 12 seconds (STR #2584).
|
||||
@@ -184,8 +187,6 @@ Changes in FLTK 1.4.0 Released: ??? ?? 2022
|
||||
- Fix for STR#3473 (and its duplicate STR#3507) to restore configure-based
|
||||
builds on recent Linux/Unix distributions where the freetype-config
|
||||
command has been replaced by pkg-config.
|
||||
- Added 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 ≥ 10.10: Fl_Window::fullscreen() and fullscreen_off() no longer
|
||||
proceed by Fl_Window::hide() + Fl_Window::show() but essentially
|
||||
resize the window, as done on the X11+EWMH and Windows platforms.
|
||||
|
||||
Reference in New Issue
Block a user