Commit Graph

1177 Commits

Author SHA1 Message Date
Albrecht Schlosser
6f8ed5a85d Set window class name (xclass) in test/editor
... 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
ManoloFLTK
2f7d7adfcf Update bundled libpng to last upstream version 1.6.54 2026-01-20 18:01:12 +01:00
ManoloFLTK
4cc0c8f44a Update wayland documentation about function wayland_socket_callback(). 2026-01-11 21:03:23 +01:00
Albrecht Schlosser
7fae181d95 Documentation: replace HTML table with Doxygen table
... for better readability in the source code.

Note: the documentation output is identical.
2026-01-08 19:05:16 +01:00
ManoloFLTK
145d05c365 Documentation: add "Cursor shape" to table of used Wayland interfaces 2026-01-08 10:37:01 +01:00
ManoloFLTK
6c670e12c3 Document new use of the "Cursor shape" protocol for the Wayland platform. 2026-01-05 15:48:47 +01:00
Albrecht Schlosser
62c2497ff5 Speed up PDF generation and add timing debug output
... 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
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
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
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
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
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
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
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
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
7ff9b59825 Update Unicode doc page (#1338). 2025-12-09 20:19:22 +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
Greg Ercolano
9afe9400bd Fl_Terminal doc fix for 8-bit RGB color ANSI/XTERM codes 2025-11-14 11:26:25 -08:00
ManoloFLTK
0ced7991b4 Doxgen documentation: improve section "Buffer factory" 2025-10-20 15:09:52 +02:00
ManoloFLTK
afeaf12934 Update bundled libdecor to last upstream version (August 15, 2025) 2025-09-13 11:46:22 +02:00
ManoloFLTK
5387fec9d9 Various improvements and clarifications to "The Wayland backend for its developer" 2025-09-09 16:11:51 +02:00
ManoloFLTK
afc16b3331 Remove from Doxygen files information about removed configure-based build system. 2025-09-08 12:49:41 +02:00
ManoloFLTK
27e02a1541 Update bundled libpng to version 1.6.50 dated 2025-07-01 2025-09-07 18:06:39 +02:00
ManoloFLTK
8472df82d0 Remove use of deprecated member function Fl_Menu_Item::setonly() 2025-09-05 09:25:59 +02:00
ManoloFLTK
8bcf65fa66 Fix issue under Wayland when erasing overlay rectangle (#1285) 2025-08-05 07:38:57 +02:00
ManoloFLTK
dfe73d8ebc Document that the Wayland platform doesn't send FL_HIDE to minimized windows. 2025-08-03 09:47:58 +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
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
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
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
19684ae9d4 Update bundled libdecor to last upstream version (May 14, 2025) 2025-05-21 17:57:38 +02:00
Albrecht Schlosser
4d0c1a2a28 Add more documentation about ABI checking and a script to do it
misc/abi-check: This new script can be used (on Linux) to check ABI
  compatibility between patch releases. It does everything required
  in one execution (after installing the prerequisites once).
  Documentation is included in the script. It may be modified for
  other platforms, or ABI checking can be done manually.

README.abi-version.txt: add a chapter regarding ABI checks

misc/abi-compliance-checker.txt: update documentation on how to run
  misc/abi-check. In previous versions (1.4) building was done using
  configure/make. Thus this file was almost completely rewritten.

documentation/src/migration_1_4.dox: an unrelated but tiny correction.
2025-05-11 22:16:16 +02:00
Greg Ercolano
f8a7e299b0 Fl_Terminal doc fixes, private->protected for utf8_char_at_*() 2025-05-09 09:29:10 -07:00
Albrecht Schlosser
4d55983833 Remove hardcoded version numbers (part 2) and more documentation
The goal is to change the version number for a new release only in
CMakeLists.txt. This is the second step.

This commit also adds a chapter "Migrating Code from FLTK 1.4 to 1.5".

Details:

- documentation/CMakeLists.txt: configure 'version.dox'
- fluid/documentation/CMakeLists.txt: same as above
- documentation/Doxyfile.in: add "Migrating Code from FLTK 1.4 to 1.5"
- documentation/src/index.dox: include 'version.dox' and 'migrating...'
- fluid/documentation/src/index.dox: same as above
- documentation/src/preface.dox: include 'version.dox'
- documentation/version.dox.in: input to CMake configure 'version.dox'
- fluid/documentation/version.dox.in: same as above
- documentation/src/migration_1_4.dox: update links
- documentation/src/migration_1_5.dox: new documentation chapter
2025-05-07 21:21:35 +02:00
Albrecht Schlosser
53491f2ca0 Remove hardcoded version numbers: part 1
The goal is to change the version number for a new release only in
CMakeLists.txt. This is the first step.

Details:

- CMake/gen_config.cmake: this new file is included to generate the
  header files config.h (private, root directory), and FL/fl_config.h
  (public, can be installed). This file implements also ABI version
  checks (removed from FL/Enumerations.H and with more checks).
  Warnings are issued if the chosen ABI version is invalid.
- CMake/export.cmake: code to generate 'config.h' was moved to
  CMake/gen_config.cmake.
- CMake/options.cmake: set default of FLTK_BUILD_FORMS=OFF + comments
- CMakeLists.txt: move generation of FL/fl_config.h to gen_config.cmake,
  add API and ABI versions to CMake summary,
- FL/Enumerations.H: remove most of the version number details which
  are now included in FL/fl_config.h. This needed also some doxygen
  related changes.
- README.CMake.txt: improve docs of FL_ABI_VERSION and some more.
  Reflect the new default of CMake option FLTK_BUILD_FORMS (OFF).
- documentation/Doxyfile.in: add FL/fl_config.h to file list. This
  file is created in the build tree (and may be "installed").
- fl_config.h.in: add version number details that have been moved here
  from Enumerations.H (used to generate FL/fl_config.h).
2025-05-06 19:25:53 +02:00
Albrecht Schlosser
d7c705864e Documentation: clarify version numbers and fix minor issues
Remove references to "current" version numbers, use 1.2.3 as example
for clarity and to simplify version number updates.

Also: minor textual fixes (typos), unwrap lines, etc..

Todo: Documentation states:
  "This file is not actively maintained any more, but is left here
   as a reference, until the doxygen documentation is completed."

  Check if the documentation generated by doxygen from source files
  contains everything needed so this file can be removed.
2025-05-01 19:18:48 +02:00
Matthias Melcher
9af8abc080 Fix forgotten run_pdflatex call (1.5) 2025-04-23 15:47:31 +02:00
Matthias Melcher
76e76ba80a Revised version of the glpuzzle man page. 2025-04-07 00:29:41 +02:00
Albrecht Schlosser
eb1e0f423d Update man pages of games (demo programs), add glpuzzle.man
Prepare for installation of `games` demo programs. Fix inconsistencies
and typos in man pages. In the future the man pages can be installed
together with the executables. This will be done in a later commit.

documentation/src/glpuzzle.man: new file.
2025-04-04 15:50:36 +02:00
ManoloFLTK
3cd3537ef8 Update bundled libdecor to last upstream version (Apr 4, 2025) 2025-04-04 12:06:00 +02:00
ManoloFLTK
71caca84d9 Merge remote-tracking branch 'refs/remotes/origin/master' 2025-04-03 11:23:57 +02:00
Aaron M. Ucko
678c850272 Use CMake's built-in timestamp formatting.
It notably honors SOURCE_DATE_EPOCH if set, making for reproducible
output.  For even better reproducibility, use UTC.  (Unlike the date
command's output, the result is already always in English.)  Extend
this approach to the book, introducing appropriately formatted
PDF_DATE and TODAY variables for its PDF metadata and title page
respectively and making make_pdf configurable.
2025-04-02 20:25:07 +02:00
ManoloFLTK
07bb343de7 Update documentation of the Wayland platform implementation 2025-03-20 11:19:33 +01:00
ManoloFLTK
4b7cea676b Update bundled libdecor to last upstream version (9 mar 2025) 2025-03-19 15:20:48 +01:00