Commit Graph

12111 Commits

Author SHA1 Message Date
MatthiasWM
890f538bb5 Generate better FL_LEAVE coordinates on Windows (#87)
Use the current mouse position to estimate the
position where the mouse left the window. Not
perfect, but much better than repeating the last
move coordinates.
2025-07-16 17:39:07 +02:00
ManoloFLTK
86f2904858 Remove warnings triggered by -Wredundant-decls (#1277) 2025-07-16 15:13:14 +02:00
ManoloFLTK
e444371b18 Fix: Redundant redeclaration of Fl_Shortcut fl_old_shortcut(const char*) (#1277) 2025-07-15 07:21:44 +02:00
Albrecht Schlosser
80e561c78e Improve test/threads demo program
- format "Max Prime" output as integer number
- use a fixed font for better readability
- close all windows when the user closes one of them
- use standard background and text colors
2025-07-14 16:53:23 +02:00
ManoloFLTK
e581f50e9a Wayland: account for new Wayfire compositor - cont'd 2025-07-10 08:18:35 +02:00
ManoloFLTK
83565dd880 Wayland: account for new Wayfire compositor 2025-07-09 16:51:17 +02:00
Matthias Melcher
5a574e8d9d Improve Fl_Button event handling documentation (#1267) 2025-07-09 11:42:33 +02:00
Matthias Melcher
16aa61efb5 Fluid: Fix include guard between 0 and 127
if the UCS is not a number or letter
2025-07-08 15:34:11 +02:00
Albrecht Schlosser
5d68428a00 Fix trailing whitespace and convert a few tabs to spaces
... according to CMP
2025-07-08 15:25:14 +02:00
Albrecht Schlosser
3cf5a302fd Replace 'FL_OVERRIDE' with 'override' in public headers
... except FL/fl_attr.h where FL_OVERRIDE is #define'd
2025-07-08 15:25:14 +02:00
Matthias Melcher
2803f70f58 #1114: Ensure minimum height of last block in Fl_Help_View 2025-07-08 15:19:21 +02:00
Matthias Melcher
d3dca07339 #146: Add access to scrollbars widget in Fl_Help_View
- new methods are Fl_Help_View::scrollbar()
and  Fl_Help_View::hscrollbar(), taking inspiration from
Fl_Browser.
2025-07-08 14:36:24 +02:00
Albrecht Schlosser
2b815a0335 Improve GitLab CI builds
- use Debian Trixie which has Doxygen 1.9.8 rather than 1.9.4
- install required packages to build with Wayland support
- log latest git commit
- keep artifacts for up to three weeks, i.e. three weekly builds
2025-07-08 13:44:27 +02:00
Matthias Melcher
66b73c8e76 #1276: New code to generate include guard
- generating macro identifier with unicode encoding
   if the filename has international character
- optional user defined include guard
2025-07-07 23:19:41 +02:00
Matthias Melcher
5c33d3051f Fl_Help_View: Subclassing minor comment chages 2025-07-07 15:47:00 +02:00
Albrecht Schlosser
bdde3e5d2b Fl_Table_Row: replace private class CharVector with std::vector
FL/Fl_Table_Row.H: use `std::vector<uint8_t> _rowselect;`,
  remove declaration of class `CharVector`

src/Fl_Table_Row.cxx: remove implementation of class `CharVector`,
  simplify loops (use range based for loops),
  use resize() to change vector size.

Unify copyright year of Fl_Table* headers and implementation.
2025-07-07 14:55:55 +02:00
Albrecht Schlosser
51cca24d04 Add missing and remove unnecessary #include statements
Note: if user code requires a header, then user code must #include it.
2025-07-07 11:58:49 +02:00
Matthias Melcher
2a1677802f Fl_Help_View: Restoring bad includes for back compatibility 2025-07-05 20:39:55 +02:00
Matthias Melcher
e12c42a0cd Fl_Help_View: Revert some changes 2025-07-05 19:47:03 +02:00
Matthias Melcher
ccc294f9f7 Fl_Help_View: Thin out header file
- remove unnecessary include.
2025-07-05 17:48:30 +02:00
Matthias Melcher
5fb38897b7 Fl_Help_View: Refactor to use PIMPL
- using a Pointer to Implementation instead of having
a huge Fl_Help_View class. This improves build speed
(smaller header fiel) and allows us to fix the
implementation while keeping the ABI unchanged.
2025-07-05 17:35:41 +02:00
Matthias Melcher
fa22585bbb Fl_Help_View: Fix writing into empty std::string 2025-07-05 17:28:45 +02:00
Matthias Melcher
3b32463dc9 Fl_Help_View: Improve comment 2025-07-05 16:03:14 +02:00
Matthias Melcher
b28afecb46 Fl_Help_View: C++ formatting fix. 2025-07-05 15:29:42 +02:00
Matthias Melcher
5d9961c1c3 Fl_Help_View: Finl formatting and documentation
- restructure header file
- sort source file reflecting header
- documentation of text selection
2025-07-05 15:25:11 +02:00
Matthias Melcher
d3c6135c08 Fl_Help_View: Improve selection
- users can now select text in multiple Help Views
- users can now select text that is also a link
- selections draws dimmed if not focused
2025-07-05 13:42:28 +02:00
Matthias Melcher
53665045d3 Fl_Help_View: Changes some more formatting
- streamlines callbacks
- removes unused function
- header file not finished yet!
2025-07-04 16:31:59 +02:00
Albrecht Schlosser
d5220370b1 Remove private class Fl_Int_Vector
This class was used in pre-C++11 versions (up to 1.4.x) and is no
longer needed.
2025-07-03 22:37:49 +02:00
Matthias Melcher
4e1450d750 Fl_Help_View: Refactoring static sizes
- replaced Fl_Int_Vector with std::vector<int>
- removed static buffers in path arrangement methods
- NULL to nullptr
2025-07-03 19:58:56 +02:00
Matthias Melcher
f0fa9fc8f8 Fl_Help_View: Improve formatting and Doxygen comments 2025-07-03 13:55:29 +02:00
Matthias Melcher
872e2b8fb6 Fl_Help_View: Refactor more strings and dynamic lists. 2025-07-03 00:39:53 +02:00
Matthias Melcher
5919dbb6af Fl_Help_View: Reformat and comments 2025-07-02 22:59:46 +02:00
Matthias Melcher
69431ef51f Fl_Help_View: Refactor Fl_Help_Link to C++11 2025-07-02 20:45:54 +02:00
Matthias Melcher
e4d43a3951 Help_View: Improve target line management 2025-07-02 17:54:43 +02:00
Albrecht Schlosser
a05ae33e20 Remove deprecated methods and functions
In FLTK 1.5 we remove most (but not all) methods and functions that
were deprecated in FLTK 1.3 or earlier.
2025-07-02 17:19:52 +02:00
Albrecht Schlosser
9a5bdf40a4 Enable building "extra tests" with a newer C++ standard
"extra tests" are defined in test/CMakeLists.txt for FLTK devs to allow
quickly building test programs with minimal edits. The new feature
can be used to set a higher C++ standard for these test programs.
See instructions in test/CMakeLists.txt.

Note: this is only intended to be used for quick tests and *must* not
  be committed and pushed to the main repository for obvious reasons.
2025-07-02 17:19:22 +02:00
Matthias Melcher
5bf1333f07 Set Fl_Menu_Item::setonly() to deprecated
for the version without the starting argument.
2025-07-02 15:42:46 +02:00
Matthias Melcher
5475f2dddd FLUID: Multiple fixes
- fixes new naming of i18n class
- fixes use of deprecated setonly()
- fixes false assumption that all children of a Window are Widgets
2025-07-02 12:45:00 +02:00
Matthias Melcher
66dde26469 Better handling of special case when scaling image
When scaling image down by 2, 4, 8, etc., there is no
sense in calling the bilinear scaling.
2025-07-01 13:22:14 +02:00
Albrecht Schlosser
a34711daeb Remove FLTK 1.4 ABI guards 2025-07-01 11:04:52 +02:00
Albrecht Schlosser
dbd54b8557 Add wrap mode to clipboard viewer
- use Fl_Flex to arrange multiple buttons
- switch buttons dynamically depending on tabs (text or image)
2025-07-01 11:03:41 +02:00
Matthias Melcher
42b2388610 Improve bilinear image scaling below 50%
The original code can not scale well below 50%. To improve
filtering in a fast way, huge images are scaled by powers of
two before fine scaling using the original bilinear scale.
2025-06-30 14:56:26 +02:00
Matthias Melcher
3459e43ca8 FLUID: Move i18n settings into its own class 2025-06-27 14:34:49 +02:00
Albrecht Schlosser
088d98389c Improve threads demo test/threads.cxx (#1263)
- Replace Fl_Browser with Fl_Terminal which uses a constant buffer size

- Don't lock the GUI for every single prime. Collect primes for at
  least 0.25 seconds before calling Fl::awake(handler, buffer)

- Use (two) alternate buffers for collecting prime data.

- Use Fl::lock() *only* to protect thread data at initialization time.

Observation on Debian 12, CPU: 12-core, 12th Gen Intel Core i7-1260P:
  speedup > factor 4, using multiple cores,
  GUI fully functional: scrolling the display, resizing, ...
  Tested natively (X11 + Wayland) and cross-compiled for Windows,
  using `wine`.
2025-06-22 16:46:44 +02:00
MatthiasWM
acd77fa8dc Fix Windows compile error from previous commit. 2025-06-19 17:54:31 +02:00
Matthias Melcher
2a7b3c81c1 Ensure that the 'awake' pipe does not overflow (#1263) 2025-06-19 16:04:56 +02:00
Matthias Melcher
eadea6a992 Update Fl::await() and friends API and documentation
This creates the base for #1263, but does not fix it yet.
2025-06-19 15:33:38 +02:00
ManoloFLTK
3d13dfefa9 Fix in window titlebar capture to support macOS 26 Tahoe 2025-06-11 18:43:03 +02:00
ManoloFLTK
ac294f7348 Fix "Selecting menus from the menubar under Wayland when in fullscreen" (#1264) 2025-06-10 17:03:29 +02:00
Albrecht Schlosser
340caa2dc3 Fix usage of 'volatile' in src/Fl_JPEG_Image.cxx (#1207)
- allocate a new struct 'load_stat' on the heap
- use struct load_stat to open image file (fp) and for error counters

The previous fix of #1207 unfortunately decremented volatile variables
which caused (plausible) compiler warnings by clang.
2025-06-06 16:10:35 +02:00