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.
- add Fl_Choice widget for layout comparison
- rewrite button callbacks
- improve layout and other details
This is a follow-up to issue #978, "merging" the existing input_choice
demo with "choicetest_v3" as mentioned.
This addresses some border case issues in Fl_Choice wrt erco's
recent Fl_Input_Choice modifications. As Albrecht writes in issue #978:
- The width of the (simulated) menu button in Fl_Choice is shrunk
if the height of the widget is lower than 20 for some schemes.
This (a) is inconsistent, (b) doesn't look good, and (c) doesn't
match the better layout of the Fl_Input_Choice widget after your patch.
- The constant height (+/- 8) of the divider line in some schemes
would overlap the border of the widget if the widget's height is
smaller than about 19. You fixed this in your patch and I "stole"
your [erco's] fix for Fl_Choice.
- The divider line and the box borders of Fl_Choice and Fl_Input_Choice
didn't align properly. I fixed this in my Fl_Choice patch as well
(IMHO this is the right place to fix it).
Differences in size of arrows and overall look varies
with different schemes applied for issue raised by Philip Rose
first on fltk.general:
Subject: Discrepancy between Fl_Choice and Fl_Input_Choice
This method also returns the data pointer of the removed timeout.
This new method is generally useful for user code and particularly
necessary to fix issue #991.
Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
This allows FLTK apps to use the recent frameworks when they run on recent
macOS versions even if the minimum supported macOS version of these apps is more
ancient than the framework.
Some applications insist on sending XDND protocol version 5 and
rejected (ignored) FLTK as DND receiver because we allowed only
protocol version 4. Known apps: Google Chrome and Chromium.
This commit enables XDND protocol version 5 in FLTK programs as
DND receiver.
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