Commit Graph

70 Commits

Author SHA1 Message Date
ManoloFLTK b692cc55da Navigation in menubar: wrap around when using arrow past end or start of menubar.
Slight behavior change of Fl_Menu_Bar relatively to 1.3: left and right arrow keys
when pressed in the first (resp. last) (sub)menu of a menubar wrap to the menu
at the other end of the bar. Also, left and right arrow keys open the previous
(resp. next) menu of the bar when pressed in a submenu.
Rationale: macOS, gnome and Windows apps equipped with a menubar do that.
2024-06-27 07:45:45 +02:00
ManoloFLTK 7d98413d46 macOS 15.0 Sequoia: fix capture of window titlebars
The previous procedure using CGWindowListCreateImageFromArray()
is obsoleted in macOS 15.0 .
The new procedure requires an additional framework: ScreenCaptureKit;
FLTK uses it only for macOS ≥ 15.0
2024-06-14 11:55:53 +02:00
ManoloFLTK 79c3db48cf New member function Fl_Menu_Bar::play_menu(const char *title) 2024-05-14 17:46:25 +02:00
ManoloFLTK 9472ff546c Implement and document new class Fl_PDF_File_Surface 2024-04-30 10:22:47 +02:00
Albrecht Schlosser feec8f9fb1 Remove remaining references to xdbe on X11
This option has been removed in 1.4.0 because it was unreliable
and rarely used.
2024-04-11 14:15:38 +02:00
ManoloFLTK 478e724c5f CHANGES.txt: mention new Fl_terminal widget 2024-03-18 17:15:33 +01:00
Albrecht Schlosser fd5cd80935 Introduce "Modern CMake" in FLTK
This is a big commit and there are too many changes to list them all.
The main changes are:

- rename all CMake build options to 'FLTK_*'
- export library targets with namespace (prefix) 'fltk::'
- standardize shared library target names with suffix '-shared'
- set public build properties on libraries for consumers
- document library names and aliases in README.CMake.txt
- document changes in "Migrating Code from FLTK 1.3 to 1.4"
- partial backwards compatibility for old user projects

Included but not directly related changes:

- fix Windows (Visual Studio) DLL build
- add CMake function fl_debug_target() to show target properties
- don't build test programs if FLTK is a subproject
- internal: reformat CMake code: remove space before '('

Thanks to Matthias and Manolo for their help, testing, and feeback.
2024-02-07 18:37:34 +01:00
ManoloFLTK acc96cdf56 CHANGES.txt: add Fl_Grid, Fl_Window::maximize()
Also, remove stray virtual keyword.
2023-11-06 07:44:55 +01:00
Matthias Melcher ca7844cf94 FLUID now recognizes `override` and `FL_OVERRIDE` keywords (#801) 2023-10-19 12:13:46 +02:00
Albrecht Schlosser 01038e832a Fix trailing whitespace and dependencies 2023-10-13 19:08:30 +02:00
Matthias Melcher c073c1fca7 Fix for CLEAR flag in Fl_Preferences
Fixed warning in new Fl_Preferences constructor
2023-09-27 12:26:35 +02:00
Matthias Melcher 5e8adebac2 Adds compact buttons feature to create keypads.
See test/buttons for an example.
2023-09-03 00:09:40 +02:00
ManoloFLTK 0c1e6e8254 CHANGES.txt: report support of macOS 14.x Sonoma 2023-08-30 14:41:49 +02:00
Matthias Melcher 10d9010ed9
Improved, yet compatible, widget callback system using macros (#729)
* adds FL/fl_callback.macros.H
* adds FL_FUNCTION_CALLBACK_n(widget, function, [type, data])
* adds FL_METHOD_CALLBACK_n(widget, class, instance, method, [type, data])
* adds FL_INLINE_CALLBACK_n(widget, [type, name, data], callback_body)
* adds `examples/callback`
* full documentation
2023-08-15 11:36:58 +02:00
Matthias Melcher 8826dca106
Add close buttons for individual tabs in Fl_Tabs (#628)
Add close buttons for Fl_Tabs
Introducing callback reasons
FLUID shows all FL_WHEN_... options
Adding Fl_Tabs overflow types
Improved test/tabs to show new features
2023-01-05 13:51:30 +01:00
ManoloFLTK 8207d73cf2 CHANGES.txt: correct typo. 2022-12-17 18:18:00 +01:00
ManoloFLTK 07041ea06e CHANGES.txt: Reorganize text about HighDPI support and GUI scaling 2022-12-17 08:34:58 +01:00
ManoloFLTK 3a55545dc0 Complete and consolidate Fl_Native_File_Chooser-related changes 2022-12-17 08:34:58 +01:00
ManoloFLTK 3834a23248 Add new members Fl_Widget::bind_{de}image(Fl_Image*) to CHANGES.txt 2022-12-11 11:05:55 +01:00
ManoloFLTK 36cd0a397c New Fl_ICO_Image class to read Windows .ico icon files
Many thanks to @darealshinji for contributing all the code
for this new FLTK image class (see branch Fl_ICO_Image of https://github.com/darealshinji/fltk).
2022-12-09 10:43:20 +01:00
ManoloFLTK 0ba051994a Have OPTION_USE_WAYLAND / --enable-wayland set to ON by default 2022-11-23 06:17:31 +01:00
ManoloFLTK e133d3af2b Reorganize content of CHANGES.txt & introduce Fl_Flex 2022-11-05 05:19:58 +01:00
ManoloFLTK b37576aa55 New configure setting "--enable-wayland --disable-x11" to build pure Wayland platform. 2022-09-10 07:44:23 +02:00
ManoloFLTK de8e6de25b Mention support of macOS 13.0 "Ventura". 2022-07-31 13:55:24 +02:00
ManoloFLTK c2185f31b9 Remove unused code controlled by the FLTK_CONSOLIDATE_MOTION preprocessor variable. 2022-06-27 14:55:40 +02:00
ManoloFLTK bf5b902180 Rename member Fl_Graphics_Driver::p to xpoint to avoid shadowing. 2022-03-21 14:39:00 +01:00
ManoloFLTK 3718effc43 Add the Wayland platform to FLTK 1.4 2022-03-04 15:41:00 +01:00
ManoloFLTK ba3041be6c Add bunch of changes in 1.4 2021-12-17 16:51:25 +01:00
Albrecht Schlosser a0654b59ac Fix X11 build with FLTK_CONSOLIDATE_MOTION turned off 2021-11-05 13:12:52 +01:00
ManoloFLTK b027d2ba57 Windows platform: use GDI+ to antialias oblique lines and curves. 2021-05-31 08:28:06 +02:00
Albrecht Schlosser ff0543524b Fix X11 copy-paste and drag-and-drop target selection (#182)
Select the "best" target rather than a random one out of a list of
suitable targets. The old target selection algorithm would sometimes
select the wrong target and hence retrieve unexpected data.

This could happen in both copy-paste and drag-and-drop operations.

Note: backported to 1.3.6 (git current) as well
      (commit 7ce6d2cf5d).

Closes #182.
2021-02-11 15:51:37 +01:00
Albrecht Schlosser d7af409f42 Remove "Figure x.y: " from html image captions
... as discussed in fltk.coredev for easier maintenance.

Also edit some minor issues.
2021-01-13 22:52:33 +01:00
ManoloFLTK 572d9cadc0 Mention in CHANGES.txt the new PostScript for non-Latin scripts (X11+Pango platform). 2020-10-28 17:34:05 +01:00
Albrecht Schlosser b65d3a249d Customize corner radius for rounded box/frame (#130)
Make maximum box corner radius and shadow width configurable.
See Fl::box_border_radius_max() and Fl::box_shadow_width().

Documentation: update image of box types.

Fixes #130
2020-09-01 12:35:48 +02:00
ManoloFLTK e5b5189870 Add support of macOS 11.0 "Big Sur". 2020-08-10 07:31:50 +02:00
Albrecht Schlosser f09e17c3c5 Remove $Id$ tags, update URL's, and more
- remove obsolete svn '$Id$' tags from all source files
- update .fl files and generated files accordingly
- replace 'http://www.fltk.org' URL's with 'https://...'
- replace bug report URL 'str.php' with 'bugs.php'
- remove trailing whitespace
- fix other whitespace errors flagged by Git
- add and/or fix missing or wrong standard headers
- convert tabs to spaces in all source files

The only relevant code changes are in the fluid/ folder where
some .fl files and other source files were used to generate
the '$Id' headers and footers.
2020-07-06 20:28:20 +02:00
ManoloFLTK 26e6c3f930 Add classes Fl_SVG_File_Surface and Fl_EPS_File_Surface to draw to SVG and EPS.
Test programs device and pixmap_browser use these new classes.
Class Fl_SVG_File_Surface can be optionally made non functional using the
--disable-svg configure option or turning off OPTION_USE_SVG in CMake.
Class Fl_EPS_File_Surface can be optionally made non functional using the
--disable-print configure option or turning off OPTION_PRINT_SUPPORT in CMake.
2020-06-27 09:56:00 +02:00
ManoloFLTK 2878fa95ab Add optional argument to Fl_Printer::begin_job() to inform caller when an error occurs.
This solves an issue raised in fltk.general :  Fl_Printer errors - how can I interpret them?
    https://www.fltk.org/newsgroups.php?s38419+gfltk.general+v38427
2020-04-22 16:01:33 +02:00
ManoloFLTK abe1c4f7c0 Mention fix for git issue #65.
The description of commit 24f9e7e7c4
to fix that issue contains a typo. It should rather read:

Under Windows, resize requests OF MAXIMIZED WINDOWS sent by the program are now ignored,
which is what happens under X11 and macOS.
Previously, the window would become frozen when the request would try to enlarge the window.
2020-03-25 12:44:00 +01:00
Albrecht Schlosser 4c1b92eb52 Implement fl_putenv() as cross-platform putenv() 2020-02-10 12:10:40 +01:00
ManoloFLTK 4ba6cef0b9 Add Fl::keyboard_screen_scaling(int) to control recognition of ctrl/+/-/0/ 2020-01-31 09:42:36 +01:00
ManoloFLTK 9d4d5ffdeb Mention the new "Preview" switch of the GTK native file dialog. 2020-01-31 08:10:37 +01:00
ManoloFLTK b9ea732d02 Mention new public variable Fl_Image::register_images_done. 2020-01-30 19:14:02 +01:00
Albrecht Schlosser 2df013931b Improve X11 coordinate clipping for text (STR 2798)
Text outside the 16-bit X11 coordinate space must be clipped before
calling X11 draw functions, otherwise text might appear anywhere
in the window because X11 would "truncate" the coordinates instead
of proper clipping (X11 handles only 16-bit coordinates).
2020-01-08 19:50:35 +01:00
Albrecht Schlosser 3f1f871585 Drop 1.0 compatibility; document 1.4 migration
The FLTK 1.0 compatibility support by defining macro 'FLTK_1_0_COMPAT'
did no longer work since FLTK 1.3.x and nobody complained. Hence we
can safely remove this "feature".

Documentation changes:

 - Drop chapter 'Migrating Code from FLTK 1.0 to 1.1'
 - Drop chapter 'Migrating Code from FLTK 1.1 to 1.3'
 - Add  chapter 'Migrating Code from FLTK 1.3 to 1.4'

The removed chapters are still available in FLTK 1.3 docs.
2020-01-08 18:41:50 +01:00
Albrecht Schlosser 62cdfbcfa2 Upgrade bundled zlib from 1.2.8 to 1.2.11
Release: 1.2.11 - January 15, 2017

For further details see README.bundled-libs.txt.
2020-01-04 01:38:10 +01:00
Albrecht Schlosser 3701950a90 Fix rare early timeouts in Fl_Clock (STR 3516).
This is the main patch for Fl_Clock discussed in STR 3516. Although
the root cause under Linux (in Fl::add_timeout()) has been fixed
in a previous commit (35a3e7cc1) early timeouts may still occur,
e.g. under Windows in a Virtualbox environment.

This commit reverts bab61a93d and replaces it with the patch proposed
by Manolo and further discussed in STR 3516.
2019-12-26 18:13:03 +01:00
Albrecht Schlosser 0a124ac7e1 Fix Fl::add_timeout() in draw() under Linux (STR 3188)
Timeouts queued during Fl_Widget::draw() - called by Fl::flush() -
would not be serviced unless other events were processed. For
Details see STR 3188.
2019-12-09 17:53:58 +01:00
ManoloFLTK e063852d29 Mention change in Fl_Printer::begin_job() for the X11 platform. 2019-09-15 16:08:20 +02:00
ManoloFLTK 71faa15432 Add support for macOS 10.15 "Catalina"
This is relatively to Catalina public beta for now.
2019-07-06 09:16:39 +02:00