Commit Graph
1418 Commits
Author SHA1 Message Date
Matthias Melcher 071b525170 Fix GTK3 file chooser driver
* better testing
* allow multiple selection
* fix BROWSE_MULTIPLE_DIRECTRY not selecting anything
2026-07-03 22:25:12 +02:00
Matthias Melcher 5d772c74a2 Penpal: fix graphics clipping 2026-06-29 16:48:51 +02:00
Matthias Melcher 2125c6590f attempted fix for penpal offscreen buffers (#1469) 2026-06-29 16:43:35 +02:00
Matthias Melcher cd63759534 Forgotten #include 2026-06-26 18:25:59 +02:00
Matthias Melcher 7922128f9f Fix use of fl_offscreen in penpal (#1469)
* uses Fl_Image_Surface now
* fix bad pen button behavior on macOS
2026-06-26 17:33:51 +02:00
Matthias Melcher ddd5d3fb6f Wayland Pen Support: concept for titlebar actions
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-wayland-arm64 (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Build and Test / build-windows-arm (push) Has been cancelled
2026-06-21 13:15:53 +02:00
Matthias Melcher a8171bfa27 Better menu window behaviour (Wayland Pen)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-wayland-arm64 (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Build and Test / build-windows-arm (push) Has been cancelled
2026-06-21 02:52:57 +02:00
Matthias Melcher 9be57bd14a Show Pen Buttons in penpal
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-wayland-arm64 (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Build and Test / build-windows-arm (push) Has been cancelled
2026-06-20 16:09:12 +02:00
MatthiasWM 7fcd548e02 Improve Pen interface on Windows
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-wayland-arm64 (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Build and Test / build-windows-arm (push) Has been cancelled
* remove ARM64 special case
* fix crash when deleting pen focus widget
* fix mouse event creatinon
* remove debugging message
2026-06-20 14:05:17 +02:00
Matthias Melcher 40276684a1 Fix minor PenPal issues
Layou, menubar links, pressure
drawing, eraser drawing
2026-06-15 20:14:42 +02:00
Gonzalo Garramuño 3101d54bd7 Add Tablet Driver for Windows and Wayland
* First implementation for Wayland and WinAPI (#1458)
* Both drivers should honor FLTK_HAVE_PEN_SUPPORT
* Improved PenPal test app
2026-06-15 19:34:34 +02:00
Greg Ercolano ee3ba84aef Address "long line switch" issue in test/tree (#1453)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-06-03 22:16:08 -07:00
Matthias Melcher 08b6c9e6c0 Typos 2026-05-19 16:44:01 +02:00
dannye 30d6231fd8 Fix test/browser.cxx when_items list (#1399) 2026-05-19 14:59:17 +02:00
Matthias Melcher 71d13f2fb9 Fix browser test (#1400)
Switching browser type when items were already selected
had unexpected side effects.
2026-05-19 14:51:37 +02:00
33c2248959 Modernize fl_symbol hashing to C++11 code (#1417) (#1418)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
* Replace hand rolles symbol hashing with C++11 code
* Update symbol drawing functions, add fl_remove_symbol()
* Refactored some of fl_draw_symbol.
* Using clang format for symbol code and test
* Circumvent Doxygen bug https://github.com/doxygen/doxygen/issues/11190

Co-authored-by: Copilot <copilot@github.com>
Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2026-05-17 21:40:22 +02:00
Matthias Melcher d2ed9a50cc Update test/cube layout 2026-04-26 15:00:03 +02:00
Matthias Melcher e75549f0f9 Remove dangerous code duplication.
Fl_File_Browser was duplicating a hidden
struct, warning that they need to be kept in
sync with Fl_Browser. Remove that limitation.
2026-04-24 23:13:22 +02:00
ManoloFLTK a004d6cb2c Add a macOS icon to the glpuzzle test program.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-04-24 11:52:44 +02:00
ManoloFLTK 3f1a524f5f utf8 test program: use example of emoji character encoded via an emoji sequence. 2026-04-24 07:37:05 +02:00
Matthias Melcher 15448c45b0 Add fl_write_jpeg function (STR 460) (#1405)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-04-12 23:49:20 +02:00
ManoloFLTK ad537eddce Fix Fl_Image::fail() that reported always failure for Fl_Bitmap's. 2026-04-03 15:27:00 +02:00
ManoloFLTK 1120eb96cd Fl_OpenGL_Graphics_Driver: improve partial image drawing. 2026-04-01 11:52:52 +02:00
ManoloFLTK 3d4be2470c Fl_OpenGL_Graphics_Driver: add support of Fl_Bitmap and a cache of textures. 2026-03-30 16:31:26 +02:00
ManoloFLTK a0d9a3aa22 Fl_OpenGL_Graphics_Driver: create file Fl_OpenGL_Graphics_Driver_image.cxx
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2026-03-28 10:21:21 +01:00
ManoloFLTK 3806717f6f Add gl_image example program to illustrate drawing images to an Fl_Gl_Window. 2026-03-28 08:20:31 +01:00
Albrecht Schlosser 7263bc7baa Wayland: Fix crash in test/sudoku if ALSA soundlib is not available
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
... and the /hybrid/ FLTK lib is running under the Wayland backend.
In this case X11 stuff must be disabled.

Currently playing sounds under Wayland is only supported with the
ALSA sound library.
2026-03-17 15:58:59 +01:00
Albrecht Schlosser 6f8ed5a85d Set window class name (xclass) in test/editor
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
... to avoid side effects under Windows where the default would
prevent entering emoji's with the emoji palette if the WNDCLASS
begins with "edit" (conflict with a system WNDCLASS).

This is also documented in the respective tutorial chapter.
2026-02-08 17:59:01 +01:00
Albrecht Schlosser 75df975c5e Fix compiler warning (remove debug output statement) 2026-02-07 20:28:27 +01:00
Albrecht Schlosser 75fc94d6c7 Improve test/utf8 demo by using Fl_Grid and more
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
- separate layout and contents of example text widgets
- use Fl_Grid for more flexibility in the layout of the main window
- reformat some parts but not all code to FLTK style
- add comments, fix font style calculation ("near fixed pitch")
- add tooltips with user instructions to some of the widgets
- add "rainbow" emoji as colored emoji example
- reformat contents of the "unichar drop box"
2026-02-04 16:49:48 +01:00
ManoloFLTK e0405d2135 macOS: remove code present only to support macOS versions 10.3 and 10.4.
This is a first step towards removing the code related to support of old macOS versions
that are not compatible with C++11 which FLTK 1.5 requires.
2026-02-01 16:32:21 +01:00
Albrecht Schlosser e9966b7e31 CMake: add try_compile() to figure out if Pen/Tablet is supported
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
This test is specifically intended to disable Pen/Tablet support on
classic MinGW (32-bit) platforms that lack required symbol definitions
although Pen/Tablet support might be supported by the Windows system.

This test can be extended for other platforms, but for now it's
performed only on Windows.
2026-01-29 17:43:21 +01:00
Albrecht Schlosser 38fbd41896 Remove usage of fl_utf8froma(), improve layout of test/utf8
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
- use demo strings in UTF-8 encoding rather than converting them
  which also simplifies the code
- replace some hard-coded width and pos. values with constants
- enlarge width of text widgets (left column) of the main window
- replace display of Unicode range U+D800 ... U+DFFF with a text
  explaining that this space is used by UTF-16 surrogate pairs to
  prevent warning messages about invalid Unicode text.
2026-01-26 18:46:29 +01:00
Albrecht Schlosser 4908dfd72a Add CMake option FLTK_OPTION_PEN_SUPPORT (default: ON)
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
This option can be used to disable pen/tablet support if there are
build problems on a particular platform or build system (e.g. MinGW)
so users can continue to build FLTK 1.5.

Users can also choose to disable pen support if they don't need it.
2026-01-08 21:22:03 +01:00
Matthias Melcher 0e570fb672 Add C++11 Fl_Valuator::format API.
This is helpful for writing language wrapper, in
this particular case for PyFLTK.
2026-01-04 15:50:56 +01:00
Albrecht Schlosser c17c2e3808 Clean up .gitignore files
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Since FLTK 1.5 building FLTK in the source tree is prohibited by our
CMake setup. Therefore all build artifacts are stored in the build
tree and don't need to be "ignored" in the source tree.
This simplifies the .gitignore files significantly.

There are some exceptions though, for instance .cxx and .h files
generated by fluid which might be created by a user/developer
executing fluid in the source tree.
2025-12-30 18:41:33 +01:00
Matthias Melcher 83fab8cb0f Fix Fl_Pack to support more box types.
Old code supported only frame styles, this code
can now handle box types with a background.
2025-12-29 16:21:17 +01:00
Albrecht Schlosser 22c1730261 Add Fl_Scheme::plastic_color_average() method [#464]
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
This method can be used to set a more appropriate color average to
prevent "graying out" the box colors of the 'plastic' scheme.
Alternatively environment variable 'FLTK_PLASTIC_AVERAGE' can be used
to set the color average value. See docs for details.

Set color average to 45% in test/unittests demo program.
2025-12-25 19:34:08 +01:00
Matthias Melcher 33199dab78 FLUID: Add support for lambda callbacks.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Starting the callback text with a '[' assumes that
the rest of the callback is a lambda and generates
inlined code for it.
2025-12-22 23:12:42 +01:00
ManoloFLTK 78908dfe7d Add "Copy" button to test/pixmap_browser
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
2025-12-11 18:40:14 +01:00
Matthias Melcher 70527b3bf0 Improve access to C++ symbols.
For events, fonts, and callback reasons
2025-11-29 21:01:53 +01:00
Albrecht Schlosser 6aa95584e0 Improve and simplify test/clipboard.cxx
- replace FL_OVERRIDE and NULL with 'override' and 'nullptr', resp.
- remove useless global variable (declare it locally in main)
- standardize callbacks using standard callback signatures
- rename some callbacks with more appropriate names
- fix layout of image display and image size info
- improve alignment of text display
- set window size_range (minimal window size)
2025-11-29 20:05:13 +01:00
Matthias Melcher 86b9df01ee Add initial log support for sliders (#1232).
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Works for all slider types.
Adds tick marks to "nice slider".
Defaults to linear if min or max is zero.
There is room for improvement for drawing the tick marks.
2025-11-26 14:08:58 +01:00
Matthias Melcher 56955a33a3 Additional menu code cleanup.
Build and Test / build-linux (push) Has been cancelled
Build and Test / build-wayland (push) Has been cancelled
Build and Test / build-macos (push) Has been cancelled
Build and Test / build-windows (push) Has been cancelled
Better variable names,
More descriptive integer types.
2025-11-21 19:57:50 +01:00
Matthias Melcher 910c7d18eb Fix a few more warnings by Clang.
- Apple Clang 17.0.0.
- png, z, jpeg lib integer cast warnings remain
- FLTK callback function cast warnings remain.
2025-11-21 13:37:54 +01:00
Matthias Melcher 8dcc99279e Adjust some pen driver comments.
Made global variables private.
2025-11-20 22:24:21 +01:00
Matthias Melcher 94008f57c3 Add headline menu item style (#1059)
A menu item can be designated as a headline.
Fully integrated and used in Fluid.
2025-11-19 16:58:08 +01:00
Matthias Melcher 2182bd60c0 Remove hidden vector font editor from test/font
Undiscovered for 10 years, this crude vector font generator
snuck into the font test ten years ago through a careless
commit by yours truly. It's time to go now.
2025-11-19 13:27:43 +01:00
Greg Ercolano 2b5d1e557f Add display_columns() controller
Also fixed 'c' shortcut described in the onscreen help to show "Color Bars".
2025-11-17 12:54:01 -08:00
Matthias Melcher fa65cd6321 Add pen/stylus/tablet API and driver for macOS (#1326)
* define the pen/tablet support API
* add pen event handler stub as a fallback
* add pen device test "penpal".
* Add macOS pen/stylus/tablet driver.
* Add Oxygen documentation.
2025-11-17 21:10:01 +01:00