Commit Graph

7555 Commits

Author SHA1 Message Date
Matthias Melcher
6acda521cc Removes the remaining references to Fl_String.
Still to do: rename fl_filename... to fl_filename..._str
and introduce into core library.
2025-03-07 01:15:57 +01:00
Matthias Melcher
063ff67fcd Fixing a couple of warnings. 2025-03-07 00:59:25 +01:00
Matthias Melcher
e8060f2a61 One more FL_String::apend fix, 2025-03-07 00:51:20 +01:00
Matthias Melcher
9cfd932d3a Replce Fl_String in Fluid with std::string.
Also fix for Linux.
2025-03-07 00:48:18 +01:00
Matthias Melcher
3068c7a0af Fl_String is now just an alias for std::string.
All mentions of Fl_String will be replaced with std::string
and the Fl_String implementation will be removed.
2025-03-07 00:12:40 +01:00
Albrecht Schlosser
dc07f927f1 Fl_Group: convert array of children to std::vector
Note: this is only a hidden implementation detail: all concerned
variables are private, and the code is simplified (less error prone).

Size of Fl_Group on 64-bit Linux: 168 -> 176 Bytes (+8 Bytes).

test/group.cxx: test for Fl_Group::{add, insert, remove} etc.
2025-03-06 18:31:31 +01:00
Albrecht Schlosser
191b33e0de Update version numbers to 1.5.0 2025-03-06 18:16:03 +01:00
Albrecht Schlosser
e2ca1a39c8 Remove autotools (configure/make) support 2025-03-06 17:12:52 +01:00
ManoloFLTK
880636eb12 Fix "Windows: dotted lines may be drawn solid when GUI is rescaled" (#1214) 2025-03-04 16:04:10 +01:00
ManoloFLTK
257435dca0 Remove deprecated, commented-out code.
This code was used in the past to support a deprecated way to obtain the initial
value of the GUI scaling factor for the X11 platform.
2025-02-24 12:12:07 +01:00
ManoloFLTK
5b617a6cc1 Fix "Fl_RGB_Image::draw() seg faults when offset is too big" - cont'd (#1211) 2025-02-22 09:02:01 +01:00
ManoloFLTK
e27edad5f1 Fix "Fl_RGB_Image::draw() seg faults when offset is too big" (#1211) 2025-02-22 08:33:20 +01:00
ManoloFLTK
7ce2632bfc Fix "Wayland: resizing window may crash the program" (#1210) 2025-02-21 21:16:02 +01:00
Albrecht Schlosser
e932b94436 Update dependencies 2025-02-21 20:12:57 +01:00
Albrecht Schlosser
02af6a57eb Bump version numbers to 1.4.2 2025-02-21 16:25:39 +01:00
Albrecht Schlosser
97f2cdcc29 Fix copyright, a typo, and remaining casts (#1207)
make remaining casts consistent with other casts of the same
variables
2025-02-21 13:37:22 +01:00
ManoloFLTK
d5612afd61 Fix "Fl_JPEG_Image infinite longjmp loop on Mac release builds" (#1207) 2025-02-20 23:16:17 +01:00
ManoloFLTK
81a5736006 Make Fl_Cocoa_Gl_Window_Driver::capture_gl_rectangle() return a depth-4 image
This change allows to capture the rounded corners of a top-level GL window.

Also, rename Fl_Cocoa_Window_Driver::capture_decorated_window_10_5()
from capture_decorated_window_10_6() because this function uses
CGWindowListCreateImageFromArray() available from macOS 10.5.
2025-02-08 17:19:07 +01:00
ManoloFLTK
9afb35f3a6 fix macOS Sonoma/Sequoia not capturing OpenGL text on macOS - cont'd (#1197 2025-02-06 14:39:54 +01:00
ManoloFLTK
d60141bb71 fix "macOS Sonoma/Sequoia not capturing OpenGL 1 text on macOS" (#1197) 2025-02-06 12:25:39 +01:00
ManoloFLTK
c92bf829b4 macOS: restore building with SDK versions between 10.7 and 10.11 2025-02-05 18:53:55 +01:00
Albrecht Schlosser
904039c4c6 Fix typos and trailing whitespace
Also replace 'MSWindows' with 'Windows' where appropriate, leaving
only old documents like README files from 1.3 and older as-is.
2025-02-05 12:34:39 +01:00
ManoloFLTK
89d146ecee macOS: fix when fullscreen window looses and regains focus with SDK 10.6 (#1192) 2025-02-04 17:30:35 +01:00
ManoloFLTK
02f431bd88 macOS: Restore fullscreen window mode when using SDK < 10.7 (#1192) 2025-02-03 15:25:05 +01:00
ManoloFLTK
94f471b701 macOS: fix transition from single-screen fullscreen to "All Screens" fullscreen 2025-02-03 12:08:20 +01:00
ManoloFLTK
bc764dabc1 Avoid code repetitions among Fl_{X11_}Window_Driver::{un_}maximize() functions 2025-02-03 09:34:19 +01:00
Albrecht Schlosser
77a7752123 Fix potential buffer overflow in Fl_Help_View (#1196) 2025-02-01 19:40:24 +01:00
ManoloFLTK
ab9fd0f503 macOS: add support of showing window to multi-screen fullscreen state 2025-01-30 16:47:57 +01:00
ManoloFLTK
6e922b8005 macOS: Fix "Full screen broken on macOS in FLTK 1.3.10 (regression)" (#1192)
FLTK now supports 2 types of fullscreen modes under macOS:
1) normal macOS fullscreen mode where the menubar and titlebar appear when mouse is moved to top of screen
and the window covers one screen only;
2) multiple-screen mode that requires calling Fl_Window::fullscreen_screens() before.

This commit fixes all possible transitions between these fullscreen modes and normal window mode.
2025-01-30 11:14:17 +01:00
Albrecht Schlosser
5a0551df0a CMake: fix include directories of bundled image libs
If FLTK has been built with bundled image libs the include directory
of the *installed* library headers is 'FL/images' relative to the
normal 'include' directory.

The CMake property "include_directories" is now added to the installed
fltk_images library so it is used when building user programs with
bundled image libs.
2025-01-27 15:51:34 +01:00
ManoloFLTK
6b87b01b65 Refrain static function capture_decorated_window_SCK() from capturing the cursor 2025-01-26 22:45:02 +01:00
ManoloFLTK
00a02fbda9 Same effect as a49b5ea with less lines of code 2025-01-24 15:47:53 +01:00
ManoloFLTK
a49b5ea029 Fix "Wayland: redrawing of a surface may fail if a subsurface is being moved" (#1191)
This commit adds support of scenarios where a child window is moved while its parent is simultaneously modified.
2025-01-24 14:10:18 +01:00
Albrecht Schlosser
0c2aa40bbc Fix Fl_Table_Row inconsistencies, final part (#1187)
Adjust internal vector sizes before and after changing the rows() in
the base class to avoid inconsisten sizes.

Note that the crash reported by the OP of PR #1187 was caused by
more than one issue, not only the one fixed here. Thanks for the
original patch to the author, GitHub user 'basiliscos'.
2025-01-22 21:11:06 +01:00
ManoloFLTK
915ea80f45 Windows: replace "Arial" by "Microsoft Sans Serif" for the FL_HELVETICA font family
Users who need the old behavior for strict backwards compatibility under Windows can load the previous (Arial) font at program startup with only a few lines of code:

#ifdef _WIN32
  // reset Windows fonts to pre-1.4.2 state
  Fl::set_font(FL_HELVETICA,     " Arial");
  Fl::set_font(FL_HELVETICA + 1, "BArial");
  Fl::set_font(FL_HELVETICA + 2, "IArial");
  Fl::set_font(FL_HELVETICA + 3, "PArial");
#endif
2025-01-22 18:44:13 +01:00
ManoloFLTK
2bcfcc332d Remove incorrect use of Fl_Window::current() in Fl_Quartz_Image_Surface_Driver c'tor
Fl_Window::current() can refer to a deleted window is some scenarios
2025-01-22 18:23:39 +01:00
Albrecht Schlosser
6c3a71181b CMake: check INTERFACE_LINK_LIBRARIES for empty value
This is a safety for consistency. It doesn't really change the result
but avoids "adding" an empty argument to a CMake list.
2025-01-21 14:23:27 +01:00
Albrecht Schlosser
2dd4bdeef7 CMake: make "optional" dependencies 'PUBLIC' (#1173)
On FreeBSD some of the required header files (and libraries) are not
in standard (known) locations, hence they wouldn't be found under
certain circumstances. Making all dependencies 'PUBLIC' adds the
needed include directories and link libraries to all builds.

For details see GitHub Issue #1173 with title
  "FLUID compilation error on FreeBSD when FLTK_BACKEND_X11=ON"
2025-01-20 17:25:11 +01:00
ManoloFLTK
02d416b0b6 Attempt to improve member function Fl_Wayland_Screen_Driver::insertion_point_location()
This makes the IM aware of the cursor movement to the right after having committed text.
2025-01-20 11:25:46 +01:00
ManoloFLTK
407567b70e Make Fl_SVG_Graphics_Driver use the C locale when writing float values - cont'd 2025-01-18 17:25:34 +01:00
Albrecht Schlosser
546a3168f6 Fix typos in documentation of Fl_Tabs 2025-01-15 16:05:01 +01:00
Albrecht Schlosser
a48ebc5db0 Fix return value of Fl_Table_Row::row_selected(int) (PR #1187)
As discussed in the context of PR #1187 the previous return value '-1'
was misleading and undocumented. The docs mentioned only '1' and '0'.

User code that used the return value as documented (like a `bool`)
would make the wrong decision if the return value was '-1': true
(selected) instead false (out of range).

This commit fixes the code by doing what the docs define and clarifies
the documentation.

Further documentation improvements of Fl_Table (example code used a
method that is not defined in Fl_Table) and of Fl_Table_Row are
included as well.

Doxygen docs of two methods of Fl_Table_Row moved to the .cxx file
where they belong according to the CMP.
2025-01-14 15:21:42 +01:00
ManoloFLTK
06418e4b21 Repair incorrect path in #include directive 2025-01-11 17:49:44 +01:00
ManoloFLTK
45239af178 Make Fl_SVG_Graphics_Driver use the C locale when writing float values 2025-01-11 17:45:36 +01:00
ManoloFLTK
be72c49296 Remove unnecessary #include directive 2025-01-11 17:39:07 +01:00
ManoloFLTK
0f71d63834 Fl_Text_Editor::wrap_mode(Fl_Text_Display::WRAP_AT_BOUNDS, 0) hurts scrolling (#1186) 2025-01-11 15:38:20 +01:00
ManoloFLTK
70fff72e2d Wayland platform: fix handling of key repeats 2025-01-10 16:38:48 +01:00
ManoloFLTK
7bb8bdb1fa Fix Fl_{Wayland|Xlib}_{Copy|Image}_Surface_Driver::set_current()
Member function Fl_Cairo_Graphics_Driver::set_cairo() needs be called only to initialize the driver.
Doing it also later undoes the effect of Fl_Widget_Surface::translate() if used
when Fl_Surface_Device::pop_current() calls the overridden Fl_Surface_Device::set_current().
2025-01-10 08:20:01 +01:00
ManoloFLTK
c0c2cf7d40 Make draw to image and draw to clipboard behave equally in X11 and Wayland 2025-01-08 14:37:57 +01:00
ManoloFLTK
70729e6fdb Document in detail how screen work areas are computed across platforms (#1180) 2024-12-31 17:30:44 +01:00
Matthias Melcher
2100655a1b Fix integer overflow in image interpolation. (#73)
Force casting int to long whenever a pixel offset is calculated
as offsets can cross the 2GB border for very large images.
2024-12-26 15:01:58 -05:00
ManoloFLTK
95c66a0488 Wayland: fix a border case in member function Fl_Wayland_Window_Driver::resize() 2024-12-26 16:10:50 +01:00
MatthiasWM
4d8a0df312 FLUID: Improve path handling on Windows. 2024-12-21 12:14:31 -06:00
Albrecht Schlosser
9f66df51b0 Fix compiler warning [-Wsign-compare] 2024-12-19 17:26:42 +01:00
Matthias Melcher
809dae489d Fix Help View find method (#1119)
The search function now skips '<...>' blocks
more reliably and also finds Unicode HTML entities and
UTF-8 encoded characters.
2024-12-16 23:32:20 +01:00
Matthias Melcher
3293a68c1d Fix possibly uncleared damage flag of Fl_Pack (#1172).
Damage flag `FL_DAMAGE_ALL` is set during Fl_Pack::draw if child
is repositioned. If the child is outside the clipping area, if will not redraw
and the flag will remain set even after Fl_Pack::draw which is not allowed.
2024-12-16 20:30:46 +01:00
ManoloFLTK
c083e5c5fb Fix: Crash on macOS if Escape is pressed while Help submenu is open (#1170) 2024-12-15 16:00:06 +01:00
ManoloFLTK
86eaf0f905 Fix: Window can be moved while menu is open - cont'd (#1166) 2024-12-12 16:09:06 +01:00
ManoloFLTK
4571af24ab Fix: Window can be moved while menu is open (#1166) 2024-12-12 12:09:53 +01:00
Matthias Melcher
34b5fe9e92 Fix drawing issue for checkbox buttons with bad box type (#1130) 2024-12-11 13:53:33 +01:00
Albrecht Schlosser
6784ae807c Fix compiler warnings (VS 2019)
Found with warning level: /W3
2024-12-10 23:12:22 +01:00
Matthias Melcher
0b320b1297 Fix Fl_Menu_Item::measure width calculation (#1164)
Fl_Menu_Item::measure did not take the gap between a possible
checkbox and the label text into consideration.
2024-12-10 21:04:53 +01:00
dannye
4a017e8a2a
Fix inconsistencies with Tab/Backspace handling in menus (#1157) 2024-12-09 22:18:37 +01:00
Albrecht Schlosser
fe8177ea2c Update Fluid (.fl) files for release 1.4.1 2024-12-09 20:46:01 +01:00
Matthias Melcher
05ee86fe57 Fixes triggering callback for inactive menu items (#1159)
The old code would trigger a callback when hovering the
mouse of an inactive item and pressing Return.
2024-12-09 19:57:23 +01:00
ManoloFLTK
5af4108169 Fix: Hang/Infinite loop on submenu with all inactive/invisible items (#1158) 2024-12-09 10:52:55 +01:00
ManoloFLTK
80c94ebfdf Fix: Mouse hover+Enter key selects inactive menu items (#1159) 2024-12-09 09:42:57 +01:00
ManoloFLTK
56756b41c2 Remove unnecessary friend declaration 2024-12-06 10:03:14 +01:00
dannye
85f5887625
Fix button down state when triggered by shortcut (#1145)
The visual feedback is really important. I was not aware that my patch suppressed that. And for the state values, I find it best to get back to what 1.3 did at this point. `value` is essential for check boxes and radio and toggle buttons. On push buttons, it has really not much of a meaning.
2024-12-05 23:49:49 +01:00
ManoloFLTK
edd680395f Documentation only: add details about fl_override_scale() and clip. 2024-12-03 15:38:46 +01:00
ManoloFLTK
e9ea17736b Fix Drawing bugs on Windows at very large scales (#1144) - cont'd 2024-12-03 15:38:46 +01:00
Matthias Melcher
a234453443 Clarify use of Fl_Tabs::clieant_area() 2024-12-03 11:59:13 +01:00
ManoloFLTK
8f8533c9e8 Add comment linking source code to related information in issue #1149 2024-12-02 19:10:20 +01:00
ManoloFLTK
981aa8c2e7 Fix: Drawing bugs on Windows at very large scales (#1144) 2024-12-02 17:46:49 +01:00
ManoloFLTK
9a7f4bdfce Document that function fl_scroll() doesn't work OK with non integral scaling factors
and explain how to get correct results.
2024-12-02 12:04:24 +01:00
ManoloFLTK
557a5e4fd0 Fix Fl_Scroll with real *_BOX draws over scrollbars at non-default scales (#1149) 2024-12-02 08:48:05 +01:00
dannye
404411ea68
Fix changed flag for radio buttons (#1146) 2024-11-28 23:14:07 +01:00
ManoloFLTK
3633b342fd Restore pixmap drawing under X11-noCairo broken by 0952d59 2024-11-27 08:23:35 +01:00
ManoloFLTK
95fc60bd8c Restore building with configure --disable-print (#1147) 2024-11-27 00:08:06 +01:00
ManoloFLTK
2430cb1f42 Fix: Graphical glitches on 101 DPI screen (#1138) 2024-11-25 13:34:14 +01:00
dannye
edcf49c63a Windows: Fix rescale bug while window is fullscreen
Possible via the Win+Shift+Left/Right keyboard shortcuts
2024-11-25 11:05:06 +01:00
dannye
f60af127de Windows: Fix rescale bug while window is maximized 2024-11-25 11:05:06 +01:00
Albrecht Schlosser
403981a293 Fix compiler warning (g++ 14) [-Wstringop-overflow]
New compiler warning detected by g++ 14.2.0 building with CMake
  in Release mode. This *temporary* fix suppresses the warning but uses
  even larger fixed size buffers.

Todo: these nasty warnings caused by using fixed buffer sizes should
  be removed by using std::string in FLTK 1.5.0.
2024-11-24 19:53:23 +01:00
ManoloFLTK
4258aca717 Fix: Can't control scale of Fl_Copy_Surface dimensions on Linux (#1135) 2024-11-20 15:36:49 +01:00
ManoloFLTK
0952d594f8 Fix fl_draw_image sometimes crashes when window is scaled - cont'd (#1134) 2024-11-20 10:18:26 +01:00
ManoloFLTK
1f05a0df44 Fix fl_draw_image sometimes crashes when window is scaled - cont'd (#1134) 2024-11-20 08:01:40 +01:00
ManoloFLTK
619677b75c Fix fl_draw_image sometimes crashes when window is scaled (#1134) 2024-11-19 15:26:47 +01:00
ManoloFLTK
180b4bad2e Fix: Fullscreen regression between release-1.4.0rc2 and release-1.4.0rc3 on macOS( #1129) 2024-11-18 18:01:57 +01:00
ManoloFLTK
2cd0ec7e33 Fix: Rounding issues with Fl_RGB_Image::draw() + window scaling (#1128) 2024-11-18 17:20:36 +01:00
Albrecht Schlosser
6c6f6b7dd9 Finish release 1.4.0
1) Improve and clarify documentation:
 - update, reformat, and reorder parts of CREDITS.txt
 - make sure that documentation appears in doxygen docs
 - add '\since 1.4.0' to documentation of new methods and functions
 - remove doxygen's '\brief' where not required (we're using
   JAVADOC_AUTOBRIEF = YES)
 - clarify screen scaling, scaling factor, and related stuff
- add more info about backwards compatibility for X11 specific code

2) Update dependencies
2024-11-17 20:01:46 +01:00
Matthias Melcher
114fb66cd3 Fixes Alt-modifier handling in Fl_Shorcut_Button on macOS 2024-11-15 20:27:07 +01:00
ManoloFLTK
53bedf1d34 Fix Cairo: Rounding issues with Fl_RGB_Image::draw() + Fl_Copy_Surface (#1124) 2024-11-13 09:16:41 +01:00
dannye
29531fa421 Windows: Fix flicker/animation when transitioning from fullscreen to maximized 2024-11-12 11:14:26 +01:00
ManoloFLTK
2337214e4e Fix for Windows and X11: Rounding issues with Fl_RGB_Image::draw() (#1120) 2024-11-12 10:56:19 +01:00
ManoloFLTK
0d4c8c8534 Fix Keyboard shortcut (alt + letter) does not work in input widget-Windows (#1122) 2024-11-12 09:09:10 +01:00
Albrecht Schlosser
dc2c53333c Revert gtk+ specific "chevron style" arrow drawing (#1117)
After comparison with older versions I realized that the gtk+ specific
"chevron style" was previously used *exclusively* in Fl_Scrollbar.
Unfortunately I had picked this style as template for all arrows.

GitHub Issue #1117 requested to add an option for users to change the
arrow style but after my investigation I decided to use the "old style"
(triangles) for all schemes (except "oxy" that has its own drawing
methods).

**IF** it turned out that we need the gtk specific drawing for scrollbars
we could easily reactivate the "chevron style" by adding yet another
arrow type - but I hope this is not necessary.
2024-11-09 21:57:27 +01:00
ManoloFLTK
018c3b19f5 Fix Windows: fullscreen_off does not correctly preserve window size (#1116) 2024-11-09 15:35:06 +01:00
ManoloFLTK
85c23539fd Wayland: protect against rounding errors in copy_region() 2024-11-09 13:01:45 +01:00
ManoloFLTK
55db651a96 Fix: X11: test/gl_overlay stale overlay rendering (#1111) 2024-11-08 12:25:49 +01:00
ManoloFLTK
c46a92809e Fix macOS Very minor high DPI rounding issue with fl_rect (#1113) 2024-11-08 11:07:32 +01:00
ManoloFLTK
e15cd9d5bb Fix: fl_draw_image() with horizontal flip reads out of bounds (#1112) 2024-11-08 10:28:27 +01:00
ManoloFLTK
3fbbce0654 Slightly improve member function Fl_Wayland_Graphics_Driver::copy_offscreen() 2024-11-08 09:46:35 +01:00
ManoloFLTK
82e0e859ee Fix X11: test/checkers drawing artifacts when window is scaled (#1109) 2024-11-08 09:14:29 +01:00
ManoloFLTK
8f987ce8bd Fix X11: test/curve "points" mode not drawn correctly (#1110) 2024-11-07 19:33:43 +01:00
ManoloFLTK
5e91ecfd58 Fix Mac: Fl_Window::fullscreen() doesn't work for unfocused tabbed window (#1101) 2024-11-04 06:28:02 +01:00
Matthias Melcher
5ac570c338 Fixes Fl_Tile resizing for "sudden" size changes: #1102
Enlarging and reducing wdth and height needed to be treated
seprately when the bottom right corner of the resizable would
overshoot the final size of the tile.
2024-11-03 18:53:18 +01:00
ManoloFLTK
6f6a375fca Recent macOS SDKs badly define MAC_OS_X_VERSION_MAX_ALLOWED
and the correct information is in __MAC_OS_X_VERSION_MAX_ALLOWED
2024-11-03 14:27:28 +01:00
ManoloFLTK
b8bf13ec65 Recent Xcode versions badly define MAC_OS_X_VERSION_MAX_ALLOWED
and the correct information is in __MAC_OS_X_VERSION_MAX_ALLOWED
2024-11-03 13:06:51 +01:00
Albrecht Schlosser
e138814257 Fix confusing alignment
note: no "real" code changes
2024-11-02 17:11:32 +01:00
ManoloFLTK
b3a6838128 Fix Mac: "Merge All Windows" fails if focused window is borderless (#1100) 2024-11-02 07:37:43 +01:00
ManoloFLTK
7ce5b74e12 New member function Fl_Cocoa_Window_Driver::capture_decorated_window_10_6(NSWindow*)
This function hides the code to capture an image of a window that varies a lot with macOS versions
2024-11-01 18:26:52 +01:00
Albrecht Schlosser
abf28f0b70 Improve and clarify documentation 2024-11-01 18:24:06 +01:00
ManoloFLTK
818e2b77d1 Wayland: Fix issue in maximization of a borderless window (#1099)
Also fixes scenarios mixing fullscreen and maximization:
- maximize
- set fullscreen
- unset fullscreen
- un-maximize
with and without window border.
2024-11-01 15:43:18 +01:00
Albrecht Schlosser
34f465add2 Windows: fix compiler warning [-Wstrict-aliasing]
In function ‘void innards(...)’:
src/drivers/GDI/Fl_GDI_Graphics_Driver_image.cxx:132:23:
dereferencing type-punned pointer will break strict-aliasing rules
  BITMAPINFO &bmi = *((BITMAPINFO*)bmibuffer);
                     ~^~~~~~~~~~~~~~~~~~~~~~~

Found with gcc 12 (MinGW cross compiler)

Also: use correct sizes (sizeof) rather than hardcoded values.
2024-10-31 18:38:55 +01:00
ManoloFLTK
bdb5972504 macOS: prevent changing window border while window is maximized 2024-10-31 15:35:52 +01:00
ManoloFLTK
0ac1379985 macOS: prevent changing window border while window is fullscreen 2024-10-31 15:15:33 +01:00
ManoloFLTK
0cab095b3c Fix "Mac: Mixing native fullscreen button with Fl_Window::fullscreen() has side effects" (#1098) 2024-10-31 12:19:22 +01:00
ManoloFLTK
7237e0d308 Restore Fl_Widget_Surface::draw_decorated_window() under XQuartz 2024-10-31 09:17:55 +01:00
ManoloFLTK
3c03aecc3c Fix Windows: fullscreen doesn't always pick the correct display (#1097) 2024-10-30 17:32:57 +01:00
ManoloFLTK
ae55a42c71 Quick fix for Windows Ctrl character handling - cont'd 2024-10-27 00:14:09 +02:00
ManoloFLTK
94a50ecd6b Windows: fix for using AltGr key after kludge for Ctrl+ (#1093) 2024-10-26 18:33:26 +02:00
Matthias Melcher
737137cf78 Fixes Fl_Text_Display line number calculation. (#1088) 2024-10-19 15:53:29 +02:00
ManoloFLTK
6ea450407b Windows: process the +-containing key used with Ctrl in cross-platform way 2024-10-19 09:14:45 +02:00
Albrecht Schlosser
d589c05b17 Fix documentation typos and trailing whitespace 2024-10-15 18:59:28 +02:00
ManoloFLTK
957fa1fe37 Improve method to draw boxes of type FL_BORDER_BOX and FL_SHADOW_BOX (#1089)
These types of boxes frame a background with a rectangular frame of another color.
The previous procedure to draw them was not robust to GUI rescaling creating cases
where space between the border and the background was not drawn.
The new drawing procedure for these boxes first paints the whole area (frame included)
with the background color and next draws the frame over the just painted rectangle.
No uncolored space is possible.
It was also necessary to very slightly modify Fl_Scalable_Graphics_Driver::rect()
used by the Windows and X11 (no Cairo) backends to make sure fl_rect(x,y,w,h)
exactly frames fl_rectf(x,y,w,h) without drawing outside the filled area.
2024-10-15 18:02:48 +02:00
Albrecht Schlosser
a5f28b3984 Fix compiler warning [-Wstringop-overflow=] 2024-10-12 15:27:25 +02:00
ManoloFLTK
013e939c93 Make Pango-handled text accept legacy CP1252-encoded text - continued 2024-10-10 18:18:52 +02:00
Matthias Melcher
f87d7a71c0 Missing *not* in Fl_Preferences docs. 2024-10-10 15:12:04 +02:00
Matthias Melcher
a0f1d5bc5e Fl_Preferences documentation update. 2024-10-10 11:46:31 +02:00
ManoloFLTK
99c36b44ac Restore building without Cairo developer files (#1087) 2024-10-08 23:52:03 +02:00
Albrecht Schlosser
475bfa9230 Define missing macro on Windows/MinGW platform
... as reported today by Ian on fltk.general in thread
"Mingw-32 compile issue with new 4/5 mousebutton hooks (fltk-1.4)"
2024-10-07 18:14:19 +02:00
ManoloFLTK
6e5f3f7ecb Make Pango-handled text accept legacy CP1252-encoded text 2024-10-07 16:20:59 +02:00
Albrecht Schlosser
0b4bea1eea Fix shortcut FL_CTRL+'=' on Windows (#1086)
Strictly spoken, commit 3fbd4f944f introduced a regression on Windows.

The additional table entry VK_OEM_PLUS overrode the old behavior
because the value of VK_OEM_PLUS is 0xbb (see comment in code).
2024-10-07 14:33:44 +02:00
dannye
5c6ec56b33
Submenus with no callback enter their submenu instead of closing the whole menu (#1043)
Thanks for those nice changes.
2024-10-06 19:19:54 +02:00
Albrecht Schlosser
4f4a9be15b Support mouse buttons 4 + 5 (aka "side buttons") (#1076, #1068)
This work is based on PR 1068 (patch by @CendioHalim) and
extended to store button status (4,5) in Fl::event_state() like
it's done for other mouse buttons (1-3).

Changes:
- new symbol: FL_BUTTON4 = side button 1 = "back"
- new symbol: FL_BUTTON5 = side button 2 = "forward"
- modified  : FL_BUTTONS now includes bits for two side buttons

Note: the status of these new buttons is not maintained by X11,
  therefore we need to maintain them in internal variables for
  this platform.
2024-10-06 18:53:03 +02:00
Albrecht Schlosser
3fbd4f944f Apply scaling-shortcut-kludge.patch for Windows
... as proposed by Manolo in a private mail.

This patch allows to detect "ctrl+'-' on keyboards with digits in
uppercase positions (e.g. French)" but this is only preliminary for
FLTK 1.4.0.

Windows keyboard handling should be revised in FLTK 1.5.0 or higher.
2024-10-06 18:44:31 +02:00
Albrecht Schlosser
133d8fb96d Update comment, sorry for the noise 2024-10-06 17:44:20 +02:00
Albrecht Schlosser
cd0f5aec24 Add comments regarding X11 keyboard layout handling
This commit doesn't change the code flow although the code has been
slightly refactored.
2024-10-06 17:42:22 +02:00
Andrew Fuller
3431c9d21a
Fl_Text_Display: Fix text selection off-by-one bug (#1080)
This seems to have been left over from when mouse text selection would start a text selection on the left side of the character and always extend the selection to include the character under the cursor.

We now perform text selection based on whether the selection spans across the horizontal center of a character and so this next_char() causes the endpoint of the selection to be incorrectly shifted to the right.
2024-10-06 16:18:37 +02:00
ManoloFLTK
9d194ac960 Add necessary dirty indicator 2024-10-04 17:39:36 +02:00
ManoloFLTK
ea80a31266 macOS fix for "Fl_Window::cursor(...) does not work reliably on some platforms" (#1082) 2024-10-04 17:33:50 +02:00
Andrew Fuller
f348e2bdb9 Fix bug in Fl_Text_Display when tab is followed by multibyte char
When the user clicks the right half of a tab, we add 1 (the byte len of the tab) to obtain the starting index of the following character.
2024-09-28 11:05:05 +02:00
ManoloFLTK
84eeac5892 Fix issue about Fl_Tabs and maximizing window under Windows (#1075) 2024-09-25 10:23:47 +02:00
ManoloFLTK
382d6b2fbd Bypass Mutter bug for menubar in fullscreen window (see #1061) 2024-09-14 15:08:03 +02:00
ManoloFLTK
bb917628ff Fix "Wayland crash on mapping windows at startup" (#1072) 2024-09-13 11:47:08 +02:00
ManoloFLTK
6aa5b70307 Fix problems introduced at commits 9b777cc and d70c79b 2024-09-13 11:39:08 +02:00
ManoloFLTK
31f4a44054 Fix typo in Doxygen text: unod --> undo 2024-09-12 14:14:18 +02:00
ManoloFLTK
5cc9845f2f Fix "fl_read_image() missing right and bottom pixel line" (#1066) 2024-09-11 22:17:07 +02:00
ManoloFLTK
9b777cc011 Wayland + Mutter: fix issue with menubar on fullscreen window (#1061) 2024-09-10 07:50:40 +02:00
ManoloFLTK
d70c79b8bc Wayland: one more fix yet for interactive move of subwindow inside parent 2024-09-09 10:27:04 +02:00
ManoloFLTK
2a87244ae3 Add support of GL with Wayland for Linux on Apple hardware 2024-09-07 16:50:14 +02:00
ManoloFLTK
17cebc851b Add pointer to Fl_Image::scale() to documentation of Fl_Image::copy(int, int) 2024-09-07 11:49:05 +02:00
Matthias Melcher
d8eb45531e Fixes menu scrolling for secondary screens (#1060)
- huge menus would scroll down when the mouse pointer hit
position 0, but for some secondary screens, the top edge is
not at y==0, so now we check for a range a the top border of
the working space of the screen showing the menu.
2024-09-04 16:06:29 +02:00
Matthias Melcher
2b1f15084d Fixes menubar glitch when mouse is at y==0 (#1060) 2024-09-04 15:23:22 +02:00
Matthias Melcher
2834213815 Reverting false Ctrl Key fix on Windows
- 1ae43956e2
2024-09-02 11:59:36 +02:00
Matthias Melcher
aa6ce6b9f1 Cairo image drawing improvements 2024-09-01 16:11:31 +02:00
Matthias Melcher
634ce805e5 Fixing set_font and image overflow for Cairo. 2024-08-31 23:20:27 +02:00
Matthias Melcher
885dbc4198 Removing wrongfully commited code. 2024-08-28 18:43:34 +02:00
ManoloFLTK
b124ac9066 Fix return values of Fl_Printer::begin_job() with GTK dialogs 2024-08-28 17:56:54 +02:00
ManoloFLTK
b95a7eccd9 Fix Doxygen problems with fl_draw() functions. 2024-08-28 10:05:17 +02:00
ManoloFLTK
c7417f793f Restore building with option FLTK_USE_POLL 2024-08-27 18:32:47 +02:00
ManoloFLTK
5fae7b36bb Fix Fl_GDI_Graphics_Driver::rect_unscaled() (#1052) 2024-08-27 16:52:20 +02:00
Matthias Melcher
ec05f78d98 Adding horiizonatl and vertical label margin
- sizeof(Fl_Widget) not increased
- label positions can be adjusted
- try it out in test/label app
- full support in FLUD
2024-08-27 15:13:32 +02:00
Matthias Melcher
5879e7fae7 Update comment. 2024-08-27 13:20:04 +02:00
ManoloFLTK
008d71f5b7 Fix for artefact in X11 1-pixel thick rect drawing with some drivers (#156, #1052) 2024-08-26 22:56:27 +02:00
ManoloFLTK
13f1911624 Implement and document Fl::add_system_handler() for Wayland 2024-08-26 09:38:57 +02:00
ManoloFLTK
6d04ef2caa Fix Fl_GDI_Graphics_Driver::rect_unscaled() (#1052) 2024-08-26 09:22:04 +02:00
ManoloFLTK
01f687e26a Document that Fl::add_system_handler() is not implemented under Wayland 2024-08-25 23:36:48 +02:00
ManoloFLTK
fc57a51836 Fix Fl_Wayland_Screen_Driver::compose() to handle the FL_Alt_Gr key 2024-08-25 12:06:59 +02:00
Matthias Melcher
1ae43956e2 Quick fix for Window Ctrl charcter handling.
This is needed to allow platform compatibel e_text and e_length, but a lot more work ist needed to unify keyboard
handling
2024-08-23 12:43:21 +02:00
Matthias Melcher
47bf422e42 Ducumentation fix for previous commit 2024-08-18 14:42:21 +02:00
Matthias Melcher
5ad07b7b4b Fix fl_overlay_rect smearing on macOS (#735)
If fl_overlay_rect crosses window bounds, reading the
window contents would fail and restoring the contents
would fail, generating a smear effect.
2024-08-18 14:42:21 +02:00
ManoloFLTK
afc2072878 Fix Doxygen typos in fl_draw() documentation 2024-08-14 18:27:35 +02:00
Matthias Melcher
a9e989cc2d Adding image support for angraved and shadow label types 2024-08-14 01:52:37 +02:00
Matthias Melcher
cfc54a3b19 Adding Fl_Widget::label_image_spacing() (#1039)
- May need a better method name.
- This makes the gap between the image in a label and
the label text user settable.
- Can be tested using test/label app
2024-08-14 01:52:37 +02:00
Matthias Melcher
325ac336c7 Adding gap parameter to fl_draw(...)
This allows the user to define the spacing between a
possible imge and the text.
2024-08-14 00:35:55 +02:00
Matthias Melcher
9f04497d6e Improved documentation for fl_draw()
There are no code changes in this commit, only added
documentation and improved formatting.
2024-08-13 20:58:35 +02:00
Greg Ercolano
85d1d904ec Small doc fixes (\See -> \see) 2024-08-12 18:31:05 -07:00
Greg Ercolano
f825fca43c Improve handling of malformed ANSI. (#950) 2024-08-12 18:00:54 -07:00
Matthias Melcher
3922ef67c1 Further accelerating Fl_Text_Display (#596)
This commit adds lazy evaluation for the wrapped line calculation,
making scrolling much more interactive.
2024-08-12 12:22:25 +02:00
Matthias Melcher
2013c4fd67 Adding Fl_Input comments. 2024-08-11 12:11:35 +02:00
ManoloFLTK
419ec5269c Remove "struct Fl_XColor" from list of documented classes 2024-08-10 23:14:56 +02:00
Albrecht Schlosser
666bbda70e Fix tabs, trailing spaces, and update dependencies 2024-08-10 20:32:19 +02:00
mid-kid
b83a6abe01 Configure/make: Quote variables that may contain spaces
This allows installing FLTK to directories that contain spaces.
2024-08-10 16:28:37 +02:00
Albrecht Schlosser
e65681c9ac CMake: fix usage of OPENGL_GLU_INCLUDE_DIR (#1001)
This commit consists of two parts:

1. CMake/resources.cmake: remove the old variable OPENGL_GLU_INCLUDE_DIR
   from the CMake cache if possible, otherwise enforce a clean build.

2. src/CMakeLists.txt, CMake/options.cmake: use the new variable name
   FLTK_OPENGL_GLU_INCLUDE_DIR.

For details please see GitHub Issue #1001.
2024-08-08 14:49:34 +02:00
Matthias Melcher
72ee34d1cb Fixes Fl_Text_Editor Home and End keys in line wrap mode
Pressing Home would go to hard newline character, even in
line wrap mode. It now stops  at the soft newline, as expected.
Same for End which now findes the wrapped line break
instaead of the next '\n' character.
2024-08-04 15:59:44 +02:00
dannye
46dd1b33cc
Fix testing of multi-label alt shortcuts (#974)
* find_shortcut(): fix testing of multi-label alt shortcuts
* Use static function instead of macro
2024-08-04 11:53:35 +02:00
Matthias Melcher
9bb9cb3f96 Optimize Fl_Text_Display scrolling speed (#596). 2024-08-04 00:32:11 +02:00
Matthias Melcher
bc73580366 Pulldown button size in Fl_Tag configurable with OV_BORDER now. 2024-08-03 21:39:22 +02:00
Albrecht Schlosser
7d90a3b373 Fix indenting, add comments for clarity
no operative code changes in this commit
2024-08-03 18:09:58 +02:00
Albrecht Schlosser
fd691b6173 Remove obsolete statement (#1033)
Thanks to @xuyun018 for finding this.
2024-08-03 18:07:05 +02:00
Matthias Melcher
68f437b63e Improve visibility of selected tab in Fl_Tabs (#1032). 2024-08-03 15:26:03 +02:00
Matthias Melcher
0654da9d4a Fixes Fl_Tags close button and pulldown button color. 2024-08-03 14:18:04 +02:00
Matthias Melcher
97b1df805e Better Fl_Tabs callback handling. 2024-08-03 13:05:31 +02:00
Matthias Melcher
abb2971654 Fix Fl_Tabs callback in Overflow mode (#1031). 2024-08-02 21:15:18 +02:00
Matthias Melcher
089f31018b Add RMB pulldown menu to Fl_Help_View, #75
- append underscores to private varaibles per CMP
- add public Fl_Help_View::copy() and Fl_Help_View::text_selected()
- add public Fl_Help_View::copy_menu_text
- fixes some of the focus handling
- add pulldown menu to copy selected text
2024-07-29 14:03:16 +02:00
Cyprinus Carpio
471aca03bc GDI: fix StretchBlt mode setting 2024-07-28 22:30:55 +02:00
ManoloFLTK
9c7a473778 Crash in macOS when switching fullscreen window between displays (#1022) 2024-07-28 18:27:37 +02:00
ManoloFLTK
80b496cfe2 Remove useless #include directive from Fl_Window_Driver.H 2024-07-28 18:27:37 +02:00
Matthias Melcher
5cafae4a3a Remove FL_AUTO_DELETE_EVENT feature
It's not ripe for release yet and possibly not even needed
according to pyFLTK maintainers.
Added: 8cffbd6941
2024-07-28 16:32:36 +02:00
ManoloFLTK
c0dba15e4b Wayland: restore support of Fl_Tile with subwindow widget - cont'd 2024-07-28 14:21:51 +02:00
Matthias Melcher
8cffbd6941 Adds the FL_AUTO_DELETE_EVENT to suppress auto delete.
Language wrappers can have major issues with FLTK auto deleting
all children of a group if a group is deleted. This event gives individual
widget the opportunity to override auto delete.
2024-07-26 18:00:25 +02:00
ManoloFLTK
b740c48ee8 Wayland: restore support of Fl_Tile with subwindow widget 2024-07-26 16:01:16 +02:00
ManoloFLTK
3cc12d203f Fix Fl_Scalable_Graphics_Driver::rect(x,y,w,h) (#1017) 2024-07-24 17:09:30 +02:00
ManoloFLTK
467866b829 Comment only: add Fl_GDIplus_Graphics_Driver to Fl_Graphics_Driver hierarchy 2024-07-24 17:09:30 +02:00
ManoloFLTK
f6a508291a Fix "line_style_doc program under X11: join type wrong" - cont'd (#1017) 2024-07-23 10:23:57 +02:00
ManoloFLTK
5e6c47f446 Fix "line_style_doc program under X11: join type wrong" (#1017) 2024-07-23 10:13:27 +02:00
Greg Ercolano
0291b48a73 Fix slowness due to not clipping (#1014) 2024-07-21 10:20:13 -07:00
ManoloFLTK
ffe39737e5 Remove unused function after commit 325004f 2024-07-19 14:04:59 +02:00
ManoloFLTK
56f0671b32 Fix border case of use of fl_end_loop under Windows with USE_GDIPLUS=1 2024-07-19 13:48:18 +02:00
Greg Ercolano
49a161e68d Fix warnings during 'make html'
This fix solves these warnings:

    $ make html
    [100%] Generating HTML documentation
    /usr/local/src/fltk-1.4.x.git/src/Fl.cxx:2275: warning: explicit link request to 'include' could not be resolved
    /usr/local/src/fltk-1.4.x.git/src/Fl.cxx:2263: warning: explicit link request to 'include' could not be resolved
2024-07-19 00:39:42 -07:00
ManoloFLTK
4fb4f395a3 Remove duplicated comment
The remaining instance is in Fl_Gl_Window_Driver.cxx
2024-07-18 18:43:46 +02:00
Greg Ercolano
3e9c77b62a Fix Fl_Tree related -Wall warnings 2024-07-17 10:29:49 -07:00
Greg Ercolano
f950b93e9c Added is_visible_r() for consistency w/is_visible() 2024-07-17 10:20:39 -07:00
Greg Ercolano
741d58757b Fix last_visible_item() to check parents (#1012) 2024-07-17 10:19:29 -07:00
ManoloFLTK
325004fb33 Simplify creation of OpenGL contexts under X11 platform (#1005)
The previous approach FLTK used to create OpenGL contexts under the X11 platform
followed a different code path to create contexts for OpenGL version 3 and above
than to create contexts for OpenGL versions 1 or 2.
The FLTK code followed exactly "Tutorial: OpenGL 3.0 Context Creation (GLX)"
of the official OpenGL wiki, see:
https://www.khronos.org/opengl/wiki/Tutorial:_OpenGL_3.0_Context_Creation_(GLX)
That code worked OK with Debian 11 and with any tested Linux configurations
in a VM running on Apple hardware. However, it failed with Debian 12 and later
on native Linux boxes to create GL3 contexts with the FL_DOUBLE flag.
That's what issue #1005 reports.

A first attempt to fix #1005 followed instructions given at:
https://registry.khronos.org/OpenGL-Refpages/gl2.1/xhtml/glXIntro.xml
which supposedly describe how to create OpenGL contexts with GLX.
That had no effect on issue #1005.

This commit erases all attempts to use OpenGL3-specific calls or even
the more modern glXCreateNewContext() function that appears with
GLX version 1.3. The committed code uses only OpenGL 1-age
functions to create OpenGL contexts for X11 windows.
Created contexts follow the "Compatibility Profile" which means they
are compatible with both modern OpenGL3-style and legacy OpenGL1/2-style.

This appears to fix issue #1005.
2024-07-17 17:12:23 +02:00
ManoloFLTK
fd257a7bf3 Wayland: support move/resize of subwindow independently from parent (#1003) 2024-07-14 13:24:28 +02:00
ManoloFLTK
ee05d4bd3a Fix typo in comment referring to github issue 2024-07-12 17:50:29 +02:00
Cyprinus Carpio
dac5f0ab39 gl_draw: fix drawing of text outside of viewport 2024-07-12 17:42:32 +02:00
Greg Ercolano
6ed7b56c79 Fix warning (#1008) 2024-07-09 11:00:52 -07:00
Greg Ercolano
6776f89872 Fix horiz connection lines (#1008) 2024-07-08 12:13:44 -07:00
Albrecht Schlosser
317e06e5a3 X11: fix extraneous (undefined) event state bits
- Restrict FL_BUTTONS mask to only three valic mouse buttons.
  Pseudo mouse buttons 4-7 are used for FL_MOUSEWHEEL events and
  are no longer reflected in Fl::event_buttons().
- Return only state of mouse buttons 1-3 in Fl::event_buttons().
  Buttons 4-7 are not "sticky" (used for FL_MOUSEWHEEL).
- Keep undefined keyboard related bits in Fl::event_state() for
  backwards compatibility and transparency. These bits may be masked
  out in a later release.
- Document Fl::event_state() bits for X11 in src/Fl_x.cxx.

Note: this is a bug fix for X11 only, Wayland and other platforms are
not affected.
2024-07-07 20:25:12 +02:00
Albrecht Schlosser
2252ba9839 X11: don't send FL_RELEASE event after FL_MOUSEWHEEL
Horizontal mousewheel events use pseudo button numbers 6 and 7, resp.,
similar to vertical mousewheel events which use buttons 4 and 5.

The old code erroneously sent FL_RELEASE events for buttons 6 and 7
although it was prevented for buttons 4 and 5 explicitly.
2024-07-07 20:00:43 +02:00
Albrecht Schlosser
ecb3c9c6fc Fl_File_Chooser: set insert position to end of string (#1004)
... after filename "expansion" with current directory.

This is done when the entered filename is relative. The old behavior
was confusing and error prone.

Also: improve documentation of Fl_File_Chooser::value(const char *).
Clarify behavior and side effects of this method.
2024-07-04 16:03:01 +02:00
ManoloFLTK
31b386930e New Wayland-specific function: int fl_wl_buffer_scale(Fl_Window *) 2024-07-04 08:56:16 +02:00
ManoloFLTK
fc910ae892 Wayland: fix interactive moving and resizing of a subwindow - cont'd (#1003) 2024-07-03 17:57:55 +02:00
ManoloFLTK
b5516449a6 Wayland: fix interactive moving and resizing of a subwindow - cont'd (#987)
This commit removes changes in class Fl_Group introduced in 1c6a0c1.
2024-07-01 17:02:27 +02:00
Cyprinus Carpio
a69c5c5c92
Fl_Tree +/- buttons are no longer drawn using bitmaps, different default line color (#995)
Fl_Tree changed to support system color themes (PR #995)

merging CyprinusCarpio's mods carried over from from issue #972.

* Fl_Tree: use named (colormap) colors to support system color themes (see issue #972). changed connectorcolor() default from gray ramp color to FL_INACTIVE_COLOR (Fl_Color(8)), and similar named colormap colors for icon drawing.

* Fl_Tree ⊞ / ⊟ icons (and on macs, ▶ / ▼icons) are now drawn w/fl_draw() functions instead of with xpm bitmaps for colormap control

---------
Co-authored-by: Greg Ercolano <erco@seriss.com>
2024-06-30 09:08:00 -07:00
ManoloFLTK
1c6a0c1a8f Wayland: fix interactive moving and resizing of a subwindow - cont'd (#987)
This fix requires to be able to recognize whether Fl_Wayland_Window_Driver::resize() is called
by a resize operation of an encompassing widget or not.
To do that, private static int variable group_resize_depth_ is added to class Fl_Group
and an accessor to this variable is added to class Fl_Window_Driver.
2024-06-29 14:57:54 +02:00
ManoloFLTK
55daede41d Wayland: improve mapping of subwindows on display 2024-06-29 14:32:45 +02:00
ManoloFLTK
26ea55d5a4 Wayland: fix interactive moving and resizing of a subwindow - cont'd (#987) 2024-06-27 09:37:50 +02:00
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
Greg Ercolano
6f5ef5bb43 Update copyright date (#978) 2024-06-26 16:00:30 -07:00
Greg Ercolano
438a8af9da Fixes to Fl_Choice provided by Albrecht (#978)
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).
2024-06-26 15:46:36 -07:00
Greg Ercolano
5c7ba51be3 Fix Fl_Input_Choice vs Fl_Choice drawing issues (#978)
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
2024-06-26 15:40:41 -07:00
ManoloFLTK
fe4c94b4dc Navigation in menubar: wrap around when using arrow past end or start of menubar.
Fix some border cases.
2024-06-25 13:23:49 +02:00
ManoloFLTK
c1a950e25f Navigation in menubar: wrap around when using arrow past end or start of menubar.
See "Menu navigation in FLTK is different from Ubuntu X11 navigation" in fltk.general.
Menubar wrapping is what macOS and gnome applications do.
2024-06-24 16:18:56 +02:00
ManoloFLTK
0bb559c803 Wayland: account for old versions of the GTK shell protocol - cont'd
Not easy to get it right in absence of any documentation for "GTK Shell" protocol.
2024-06-24 14:52:08 +02:00
ManoloFLTK
8250cc7f7b Wayland: account for old versions of the GTK shell protocol - cont'd 2024-06-24 09:30:07 +02:00
ManoloFLTK
1c482b5dbf Wayland: account for old versions of the GTK shell protocol 2024-06-23 18:37:21 +02:00
ManoloFLTK
9c2d38fe3c Derive Fl_File_Chooser.cxx from Fl_File_Chooser.fl 2024-06-23 18:07:32 +02:00
ManoloFLTK
d5f7a3a68b Remove in Fl_File_Chooser.fl max size values from Fl_Window::size_range() call
Such max values must be checked to be larger than min values, else error may occur.
2024-06-23 18:03:39 +02:00
ManoloFLTK
7a35e256bc Wayland: stop key repeats when focus leaves a window 2024-06-23 08:05:53 +02:00
ManoloFLTK
115ae94de0 Wayland: use serial rather than time argument of wl_keyboard_key() to support key repeats 2024-06-22 15:57:34 +02:00
Albrecht Schlosser
f7dbaba3ef Fix typo reported in fltk.general
... by Brian Larsen
2024-06-22 11:49:09 +02:00
Albrecht Schlosser
b8cba7c41e Update dependencies 2024-06-21 18:16:44 +02:00
Albrecht Schlosser
d9c8cebfbe Remove trailing whitespace
no code changes
2024-06-21 18:10:33 +02:00
Albrecht Schlosser
97bab9abbd Fix compiler warning on macOS: remove unused variable 2024-06-21 18:08:49 +02:00
Albrecht Schlosser
a053b42445 Fix Wayland memory leak (#991) 2024-06-21 17:59:50 +02:00
Albrecht Schlosser
456d53c403
Add Fl::remove_next_timeout(...) to remove only one timeout (#992)
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>
2024-06-21 17:35:01 +02:00