Commit Graph

12269 Commits

Author SHA1 Message Date
Albrecht Schlosser
775239c2fc Fix compilation error on Windows (MinGW)
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
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 2025-12-30 07:53:08 +01:00
Albrecht Schlosser
a057e13fb4 Improve code snapshot generation for PDF docs (#1353)
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 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]
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 2025-12-23 12:26:31 +01:00
Matthias Melcher
33199dab78 FLUID: Add support for lambda callbacks.
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 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. 2025-12-19 16:23:46 +01:00
ManoloFLTK
63c0ef5681 Remove typo in variable name 2025-12-16 12:04:45 +01:00
ManoloFLTK
e33130d204 Windows: Fix "If app appears on non-active screen …, window resizes"- cont'd (#259) 2025-12-15 08:17:50 +01:00
Matthias Melcher
e5b8b6e2fe Same change for all other platforms. 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. 2025-12-13 00:11:57 +01:00
Albrecht Schlosser
771b63217e Update CMP documentation (still work in progress)
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.
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 2025-12-11 18:40:14 +01:00
ManoloFLTK
8427f1d330 Document new use of Wayland protocol "XDG dialog windows" 2025-12-11 12:20:01 +01:00
Albrecht Schlosser
c75e299dbf Improve CMP documentation and README.CMake.txt (#1346)
- 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). 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 2025-12-08 23:28:18 +01:00
ManoloFLTK
8454135d0c Wayland: add support of the "XDG dialog windows" protocol 2025-12-08 18:27:51 +01:00
Albrecht Schlosser
1f6fda64a8 Improve documentation generation for older Doxygen versions
Currently supported Doxygen versions: 1.9.1 and higher.
Tested up to Doxygen 1.13.2 as of today.

Older doxygen versions may generate bogus warnings or even fail to
interpret correct C++ syntax.
2025-12-08 14:45:31 +01:00
Greg Ercolano
1dbca3db2f Small cmp formatting, section moves, etc 2025-12-07 10:05:39 -08:00
Greg Ercolano
8862db2bb4 More CMP conversion.. complete but not yet checked. (#1346) 2025-12-07 09:28:51 -08:00
Greg Ercolano
3d851181c1 Move CMP to doxygen - WIP. (#1346) 2025-12-06 22:13:05 -08:00
Albrecht Schlosser
9fa438df68 Fix doxygen warnings 2025-12-06 21:53:32 +01:00
ManoloFLTK
a4ebd8564d Wayland: remove memory access error while computing screen work area 2025-12-06 10:02:11 +01:00