Albrecht Schlosser
811a188bbf
Add FLTK_BUILD_SCREENSHOTS option info to CMake build summary
...
+ build screenshot programs if option FLTK_BUILD_SCREENSHOTS=ON:
don't `EXCLUDE_FROM_ALL` because the option must be set anyway.
2026-01-04 19:34:14 +01:00
Albrecht Schlosser
68d2c48514
Add an option and the first program to create screenshots
...
This is the first step in creating additional programs for saving
screenshots for documentation purposes. These screenshots must be
saved in the documentation/images directory and checked into the
Git repository.
These programs allow developers to create new screenshots or change
existing ones. More screenshots may be created by programs in the
/test/ folder.
To-do: add more *new* screenshot programs, and if useful, move some
existing programs from the `/test/` folder to `/screenshots/`,
such as `test/resize-example*.cxx` and maybe more.
2026-01-04 19:16:53 +01:00
ManoloFLTK
46e6815612
Windows: improve moving window across screens having distinct scale factors.
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-01-04 16:45:11 +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
ManoloFLTK
357336bd40
Fix "Wayland's wl_display_dispatch() can block a Vulkan application" ( #1354 )
...
This rewriting of the FLTK callback function that runs when there are data available
for reading in the socket connecting the app and the Wayland compositor is meant to
facilitate the integration of Vulkan.
This rewriting reproduces the recommended code to read from the socket
documented in Wayland function wl_display_prepare_read_queue() when several threads
potentially read from the socket.
2026-01-04 09:38:16 +01:00
Albrecht Schlosser
62c2497ff5
Speed up PDF generation and add timing debug output
...
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 the Doxygen generation log file `documentation/pdfall.log`.
The additions to the log file are intended to find out which parts
take how much time.
Note: use `grep "make_pdf" documentation/pdfall.log` to see the
log output with timestamps.
- documentation/Doxyfile.in: exclude undocumented source files in
src/xutf8/* which reduces parsing by a small amount of time,
estimated about 5 percent of build time. YMMV.
2026-01-03 16:35:53 +01:00
Albrecht Schlosser
869df69ff2
Update FLTK colormap (src/fl_cmap.h) w/o changing colors
...
- update comments, including filenames
- update build instructions for developers in util/cmap.cxx
- update CMakeLists.txt (comments only)
2026-01-03 16:28:02 +01:00
Albrecht Schlosser
775239c2fc
Fix compilation error on Windows (MinGW)
...
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
error: ‘fabs’ was not declared in this scope
2026-01-03 13:55:12 +01:00
Albrecht Schlosser
4a9a417860
Clarify that a font must be loaded before measuring text ( #1356 )
...
Documentation only: users must load a font with fl_font(face, size)
before measuring text with methods like fl_measure(), fl_height(),
fl_width(), fl_text_extents() etc.
2026-01-03 13:54:44 +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
Albrecht Schlosser
30a3054202
Update GitLab CI build for screenshot generation
...
Use Xvfb to create an X11 display (server).
Thanks to Matthias: copied from GitHub CI build
2025-12-30 17:41:51 +01:00
Albrecht Schlosser
d5ed136642
Reorganize documentation source directories
...
- move all images (screenshots) to new folder documentation/images/
- move documentation/src/fltk-title.tex.in to documentation/
- fix .gitignore files (remove obsolete entries etc.)
- FL/Fl_Tooltip.H: fix '\image latex' reference
- documentation/CMakeLists.txt: update ref. to fltk-title.tex.in
- documentation/Doxyfile.in: adjust image path (IMAGE_PATH)
2025-12-30 15:49:02 +01:00
ManoloFLTK
eb8047ddc5
Add that FLTK 1.3 supports also Windows 11
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-30 07:53:08 +01:00
Albrecht Schlosser
a057e13fb4
Improve code snapshot generation for PDF docs ( #1353 )
...
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
CMake: execute `code_snapshot` separately for each file we want to
scan so we can create timestamps and generate PNG images only if
the source file (e.g. unicode.dox) was modified.
documentation/src/unicode.dox: remove output folder `generated`, use
only the filename. CMake sets the current working directory as needed.
util/code_snapshot.cxx: format and improve comments, reset code buffer
so we can generate multiple images per input file.
2025-12-29 20:02:06 +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
Matthias Melcher
2fb67053a1
Fixes Code Viewer widget height calculation
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-28 23:15:30 +01:00
Matthias Melcher
17eaeeda92
Update filename case and LaTeX details
2025-12-28 22:18:07 +01:00
Matthias Melcher
f5e7d62f90
Generate code block documentation using FLTK ( #1353 )
...
The Doxygen-to-pdf toolchain can not easily generate
pdf's with Japanese and Chinese characters. This patch
generates code blocks by rendering them in FLTK.
2025-12-28 21:37:30 +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
Albrecht Schlosser
ec61d4ff4a
Remove dead code from 'plastic' scheme implementation
...
- The removed code had been disabled in the year 2003 or earlier for
reasons mentioned in those old commits and has never been officially
used again. Use `git blame` to find these commits.
- Update comments and copyright.
- Remove empty lines.
2025-12-25 18:29:11 +01:00
Albrecht Schlosser
426dadb0d7
Fix doxygen warning (missing end quote)
2025-12-25 18:18:52 +01:00
ManoloFLTK
0105b593b6
Fix typos in documentation of FL_APP_ACTIVATE
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-23 12:26:31 +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
Matthias Melcher
d0d2e104e9
X11: Add documentation: FL_APP_ACTIVATE not 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
2025-12-22 00:29:20 +01:00
Matthias Melcher
b715850d08
Wayland: Fix FL_APP_ACTIVATE with timer.
...
Deferred handling of FL_APP_DEACTIVATE works very well.
2025-12-22 00:26:37 +01:00
Matthias Melcher
525db6ddca
Wayland: fixes syntax errors
...
This code generates a lot of
extra events
2025-12-22 00:12:48 +01:00
Matthias Melcher
e4fbf3e6ee
Wayland: FL_APP_ACTIVATE and FL_APP_DEACTIVATE
...
This is an attempt. Will verify on another machine now.
2025-12-21 23:48:03 +01:00
MatthiasWM
e55eabf69f
Win32: Add FL_APP_ACTIVATE and DEACTIVATE
2025-12-21 23:02:35 +01:00
Matthias Melcher
8ec5d86fe1
MacOS: Add FL_APP_ACTIVATE and DEACTIVATE.
...
This event is sent on application level. Add a handler
with Fl::add_handler to receive the event.
2025-12-21 22:49:42 +01:00
MatthiasWM
31760a98ac
Win32: removed debugger messages
2025-12-21 20:58:48 +01:00
MatthiasWM
453f4311ea
Win32: first commit for Pen driver ( #1330 )
2025-12-21 20:52:27 +01:00
MatthiasWM
7d4d163660
Win32: merge
2025-12-21 15:38:35 +01:00
MatthiasWM
7bbf3a1bc3
Win32: Basic Pen driver setup
2025-12-21 15:36:12 +01:00
Matthias Melcher
bad956cdd6
Add Fl_Gl_Window 32 bit depth buffer option.
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-19 16:23:46 +01:00
ManoloFLTK
63c0ef5681
Remove typo in variable name
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-16 12:04:45 +01:00
ManoloFLTK
e33130d204
Windows: Fix "If app appears on non-active screen …, window resizes"- cont'd ( #259 )
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-15 08:17:50 +01:00
Matthias Melcher
e5b8b6e2fe
Same change for all other platforms.
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-13 23:19:17 +01:00
Matthias Melcher
06b2cf2761
Fix overzealous C++11ification in Pen driver.
2025-12-13 23:17:02 +01:00
ManoloFLTK
6bd4f3f9d7
Windows: Fix "If app appears on non-active screen …, window resizes" ( #259 )
...
The fix puts the first window an app creates on the screen containing the mouse,
because the present window creation code needs to know on what screen a created
window is going to appear before creating it.
2025-12-13 16:58:06 +01:00
Matthias Melcher
73556ca5fb
Fluid: Increase setting panel fonts.
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-13 00:11:57 +01:00
Albrecht Schlosser
771b63217e
Update CMP documentation (still work in progress)
...
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
Fix more PDF generation issues, shorten (wrap) lines, improve text,
fix typos.
To-do: remove old and/or FLTK 2 stuff, prepare for 1.4 and 1.5.
2025-12-12 15:01:23 +01:00
ManoloFLTK
a9cb653222
class Fl_Wayland_Screen_Driver: add initialisation of member variable xdg_wm_dialog
2025-12-12 08:25:23 +01:00
Matthias Melcher
7a3c61d710
Update Unicode doc page.
...
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
Removed texts that don;t translate well from
Doxygen to pdf. Improvement based on RokerHRO's
comments. Trying to better distinguish characters,
codepoints, glyphs, and octets.
2025-12-12 00:37:37 +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
ManoloFLTK
8427f1d330
Document new use of Wayland protocol "XDG dialog windows"
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 12:20:01 +01:00
Albrecht Schlosser
c75e299dbf
Improve CMP documentation and README.CMake.txt ( #1346 )
...
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
- fix PDF generation
- update some tables, particularly Visual Studio and macOS macros
To-do: more details, updates for 1.4 and 1.5, respectively
2025-12-10 22:01:34 +01:00
Matthias Melcher
fe6838e843
Add access to a list of registered plugin klasses.
2025-12-10 21:09:13 +01:00
Matthias Melcher
7ff9b59825
Update Unicode doc page ( #1338 ).
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-09 20:19:22 +01:00
Albrecht Schlosser
68ff3d0697
Silence macOS (clang) compiler warning
...
warning: anonymous non-C-compatible type given name for linkage
purposes by typedef declaration;
add a tag name here [-Wnon-c-typedef-for-linkage]
399 | typedef struct {
| ^
Weird. This file is compiled as C++ but clang warns about a
"non-C-compatible type".
Anyway, this commit fixes the warning.
2025-12-09 18:58:12 +01:00
ManoloFLTK
d95ea68ee2
Remove typo in comment
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-08 23:28:18 +01:00