Commit Graph

1177 Commits

Author SHA1 Message Date
Albrecht Schlosser
1ccafa83b2 Remove obsolete build option 'FLTK_OPTION_STD'
This option is no longer needed since FLTK 1.5 always requires C++11.
2025-03-19 14:44:16 +01:00
Albrecht Schlosser
b252e5e45c Remove libfltk_cairo (fltk::cairo)
This library is no longer needed and was "empty" for backwards
compatibility since FLTK 1.4.0.
2025-03-16 00:10:53 +01:00
Albrecht Schlosser
8838e976a0 More (mostly) documentation updates for FLTK 1.5.0
All files: remove autoconf/configure related stuff, update links.

- README.txt: describe prerequisites, provide generic instructions
  on how to use CMake to build FLTK
- test/demo.cxx: remove code used for configure/make build
- test/CMakeLists.txt: remove obsolete 'target_compile_definitions()'
2025-03-10 15:43:12 +01:00
ManoloFLTK
b09d09e3c5 Update bundled libdecor to last upstream version (6 mar 2025) 2025-03-09 13:28:08 +01:00
Albrecht Schlosser
347d35a8c0 Update README and configure related stuff for 1.5.0
- remove configure stuff from more README files
- move documentation/README.txt to README.documentation.txt
2025-03-08 17:10:32 +01:00
Matthias Melcher
9cfd932d3a Replce Fl_String in Fluid with std::string.
Also fix for Linux.
2025-03-07 00:48:18 +01:00
Albrecht Schlosser
191b33e0de Update version numbers to 1.5.0 2025-03-06 18:16:03 +01:00
Albrecht Schlosser
e2ca1a39c8 Remove autotools (configure/make) support 2025-03-06 17:12:52 +01:00
Albrecht Schlosser
02af6a57eb Bump version numbers to 1.4.2 2025-02-21 16:25:39 +01:00
Albrecht Schlosser
45476d093c test/editor: ensure buffer termination
... in source file and documentation
2025-02-19 17:14:25 +01:00
ManoloFLTK
27d991f046 Update bundled libdecor to last upstream version (21 jan 2025) 2025-02-14 17:12:39 +01:00
Albrecht Schlosser
0c7ed2b44f Document "New FL_HELVETICA Font on Windows" (#478)
This commit adds only documentation.
2025-02-01 20:39:28 +01:00
Albrecht Schlosser
99a6286288 Bump version numbers for release 1.4.1
To do: update CHANGES.txt with real info.
2024-12-09 20:46:01 +01:00
ManoloFLTK
4317f6a15f Update bundled libpng to version 1.6.44 2024-12-05 17:35:57 +01:00
Albrecht Schlosser
9bac964f85 Fix Makefile example in chapter "FLTK Basics"
- move linker rule from 'all' to '$(TARGET)'
- remove '$(TARGET) $(OBJS)' from rule 'clean'

The 'clean' rule required to build everything before it was deleted
which was obviously not intended.
2024-11-26 16:12:07 +01:00
Albrecht Schlosser
6c6f6b7dd9 Finish release 1.4.0
1) Improve and clarify documentation:
 - update, reformat, and reorder parts of CREDITS.txt
 - make sure that documentation appears in doxygen docs
 - add '\since 1.4.0' to documentation of new methods and functions
 - remove doxygen's '\brief' where not required (we're using
   JAVADOC_AUTOBRIEF = YES)
 - clarify screen scaling, scaling factor, and related stuff
- add more info about backwards compatibility for X11 specific code

2) Update dependencies
2024-11-17 20:01:46 +01:00
Albrecht Schlosser
abf28f0b70 Improve and clarify documentation 2024-11-01 18:24:06 +01:00
Albrecht Schlosser
f9f89be7d7 Improve docs about subclassing
- fix syntax errors in example code, e.g.: children_ is private
- use FLTK coding style
- improve alignment
2024-10-24 18:01:40 +02:00
Albrecht Schlosser
cb6ee39852 Update documentation
- fix missing doxygen version in PDF docs created by CMake
- remove unnecessary quotes ('...') from version numbers and
  Git revisions (previously added for debugging purposes)
- fix navigation links at the bottom of tutorial pages (HTML only)
- remove 'D. Gibson' from documentation headers on his request
2024-10-17 16:01:32 +02:00
Albrecht Schlosser
a6a0a65edf Update or remove version numbers, update copyright years
Note: one goal is to have to edit fewer version numbers in source
files for each release.

We may be able to generate some files by the build procedure (CMake)
to avoid editing them in the future (1.5.0 or later).
2024-10-15 20:42:26 +02:00
Albrecht Schlosser
9dd8bf4b60 Document Fl_Flex and Fl_Grid in the list of group widgets 2024-10-07 17:15:20 +02:00
Albrecht Schlosser
05d78e8ebd Improve documentation on mouse and keyboard events 2024-10-07 16:13:11 +02:00
ManoloFLTK
b95a7eccd9 Fix Doxygen problems with fl_draw() functions. 2024-08-28 10:05:17 +02:00
Albrecht Schlosser
9568d5bb73 Display Git revision in docs generated from releases (#499)
- makesrcdist: store Git revision in a file in the tarball
 - CMake/resources.cmake: get git revision either from Git or file and
   store it as CMake cache variable 'FLTK_GIT_REVISION' for reference
 - documentation/*: get git revision from git or file
 - fluid/documentation/*: get git revision from git or file
2024-08-26 20:02:42 +02:00
Matthias Melcher
f151ecb87b Changing test/editor Shortcut Key Ctrl-i.
The original choice for split screen editing, Ctrl-2, did not
work well on some platforms.
2024-08-19 12:27:18 +02:00
mid-kid
b83a6abe01 Configure/make: Quote variables that may contain spaces
This allows installing FLTK to directories that contain spaces.
2024-08-10 16:28:37 +02:00
Albrecht Schlosser
a7d00ae558 Resize line sizes and widths dynamically in test/line_style_docs
Resize the window to see the effect: line sizes increase with the box
size and become wider depending on the box size. Minimal line width
of the "wide" lines has been changed from 4 to 5, maximal width is
now 9. Distinct widths are { 5, 7, 8, 9 }.

Note: the default (thin) line width is now 1 rather than 0 since the
  default 0 may render badly.

Screenshot in documentation has been updated.
2024-07-23 17:18:40 +02:00
Greg Ercolano
dc95cd55c0 Further removal of fl_line_style() asciiart (#1016) 2024-07-21 19:54:50 -07:00
Albrecht Schlosser
7f24a0d6d8 Update docs and screenshot for fl_line_style() (#1016)
As a follow-up to the discussion I used the posted screenshot demo
(thanks to Greg), redesigned it using Fl_Grid, and added it as a
new test program, including Makefiles and CMakeLists.txt.

New file: test/line_style_docs.cxx to create screenshot. Note that the
old test/line_style.cxx is not obsolete, it can be used to test the
line styles interactively.

Docs have been updated in both chapter "Drawing Things" and the
function description.

Also added the new demo to test/demo.menu under "Images for Manual...".
2024-07-21 22:34:02 +02:00
Greg Ercolano
7f998bac60 fl_line_style() diagrams replace ascii art (#1016) 2024-07-20 12:55:27 -07:00
Greg Ercolano
0dec8cdc18 Improve line style docs (#1016) 2024-07-18 23:52:16 -07:00
ManoloFLTK
3fbb1c4af2 Remove obsolete content in documentation of Fl_Gl_Window
see "About the documentation of OpenGL usage in FLTK" in fltk.coredev
2024-07-19 07:33:03 +02:00
Albrecht Schlosser
216ddd09c9 Update documentation 2024-06-28 13:47:33 +02:00
Albrecht Schlosser
bdd658ee35 Add "Color Contrast" section to "Drawing Things" docs
This section describes fl_contrast() and the related new methods.
2024-06-27 19:49:15 +02:00
ManoloFLTK
be5c82b5e5 Reflect libdecor date in bundled-libs.dox 2024-06-01 10:52:23 +02:00
ManoloFLTK
c1333a2dec Wayland documentation: more about opening display connection 2024-05-27 10:40:24 +02:00
ManoloFLTK
614d551d05 Wayland documentation: further details about throttling window redraws 2024-05-22 13:13:29 +02:00
ManoloFLTK
df3c875453 Beef up documentation about throttling window redraws under Wayland 2024-05-21 15:28:18 +02:00
Albrecht Schlosser
ea96237525 Update bundled libpng from 1.6.42 to 1.6.43 2024-05-13 19:18:54 +02:00
ManoloFLTK
a28a7c381d Documentation: add details about handling of FL_DND_RELEASE event
see also STR #3399.
2024-05-13 14:58:14 +02:00
ManoloFLTK
ef33f3e0e2 Wayland: call gtk_surface1_set_modal() of GTK Shell protocol for modal wins
This has the Mutter compositor open modal windows at the center of their parent window
rather than at an unpredictable display position before this commit.
2024-05-11 19:52:00 +02:00
ManoloFLTK
a9a800fe3d Wayland documentation: improve layout 2024-05-10 07:42:50 +02:00
ManoloFLTK
9fa66ecc8a Wayland documentation: improve "Input Methods" and various details
also fix typo mentionned -> mentioned
2024-05-09 11:00:27 +02:00
ManoloFLTK
ef313cf9fc Wayland documentation: beef up description of registry_handle_global() 2024-05-08 13:06:57 +02:00
ManoloFLTK
7430ebff97 Extend some elements of the Wayland backend documentation file 2024-05-07 18:17:36 +02:00
Albrecht Schlosser
8664fde1d9 Documentation: minor formatting update 2024-04-27 19:54:22 +02:00
Albrecht Schlosser
05d37f9e4e Improve documentation (preface + intro)
Update particularly Windows (but also other) build instructions.
2024-04-27 19:46:25 +02:00
ManoloFLTK
e4f18c6e3c Documentation: bundled libdecor symbols are pefixed by "fl_" 2024-04-27 07:27:57 +02:00
ManoloFLTK
85315ee598 Prevent "The GTK protocol" from being included in the FLTK documentation 2024-04-25 18:16:12 +02:00
ManoloFLTK
e6957fc2f5 Allow libdecor package version ≥ 0.2.0 with FLTK_USE_SYSTEM_LIBDECOR 2024-04-18 19:32:47 +02:00
Matthias Melcher
240d8d21df Fix dangling reference to FLUID docs. 2024-04-17 20:25:19 +02:00
Matthias Melcher
fd791a068e
Separate FLUID user documentation, screen shot automation (#936)
* CMake integration, no autotiools
* alignment panel is now correctly renamed to setting panel
* source view is now correctly renamed to code view
* Merge FLTK FLUID docs into FLUID user manual.
* Add two simple entry tutorials
* Remove FLUID chapter form FLTK docs.
* GitHub action to generate HTML and PDF docs and
  make the available as artefacts
2024-04-17 17:51:32 +02:00
Albrecht Schlosser
e9e5f4bdb1 Remove "MS" from "MS Windows" in docs code, and comments
The system (platform) is called "Windows", "MS Windows" doesn't make
much sense. I removed "MS" for consistency.
2024-04-13 21:49:27 +02:00
ManoloFLTK
82bd0b6652 Have FLTK use libdecor at version > 0.2.2
- it's no longer necessary to take care of the change in the layout of "struct libdecor"
between versions ≤ 0.2.2 and > 0.2.2 of libdecor
- version > 0.2.2 contains MR131, that is, it defines LIBDECOR_WINDOW_STATE_RESIZING
so the hack to emulate it is no longer  necessary
- CMake option FLTK_USE_SYSTEM_LIBDECOR now requires libdecor version > 0.2.2
to be activated, otherwise the bundled libdecor is used
- what will be the libdecor version after 0.2.2 (0.2.3? 0.3.0?) is not known as of today
2024-03-15 12:21:38 +01:00
ManoloFLTK
5400811b83 Update libdecor to upstream commit 4f2c03d5 - cont'd 2024-03-13 15:23:43 +01:00
ManoloFLTK
70a9c4d407 Update libdecor to upstream commit 09875530 dated March 3, 2024 2024-03-12 14:09:35 +01:00
ManoloFLTK
4db9391525 Update doc about Ctrl/+/-/0/ zoom shortcuts 2024-03-03 08:15:42 +01:00
Matthias Melcher
f1c9b198bb Promote fl_strlcpy to <FL/fl_string_functions.h> 2024-03-02 23:49:35 +01:00
Matthias Melcher
4ccadff4b9 Fix test/editor use of strncy to strlcpy 2024-03-02 23:14:07 +01:00
ManoloFLTK
fa7fe31372 Document GUI scaling shortcuts - cont'd 2024-02-27 21:10:04 +01:00
ManoloFLTK
0359ecd53b Document how GUI scaling shortcuts FL_COMMAND/+/-/0/ work
Document also how to deactivate them.
2024-02-27 19:14:05 +01:00
Matthias Melcher
8cce99b2c7 Typo 2024-02-20 14:35:54 +01:00
ManoloFLTK
3ecadc0a8e Update bundled libjpeg to version 9f 2024-02-17 12:20:28 +01:00
ManoloFLTK
bf938da079 Update bundled libpng to version 1.6.42 2024-02-17 12:20:28 +01:00
ManoloFLTK
b90437119d Update bundled zlib to version 1.3.1 2024-02-17 12:20:28 +01:00
ManoloFLTK
fc6d364057 Change parameters of Fl_Wayland_Window_Driver::delete_cursor() 2024-02-09 10:04:13 +01:00
Albrecht Schlosser
fd5cd80935 Introduce "Modern CMake" in FLTK
This is a big commit and there are too many changes to list them all.
The main changes are:

- rename all CMake build options to 'FLTK_*'
- export library targets with namespace (prefix) 'fltk::'
- standardize shared library target names with suffix '-shared'
- set public build properties on libraries for consumers
- document library names and aliases in README.CMake.txt
- document changes in "Migrating Code from FLTK 1.3 to 1.4"
- partial backwards compatibility for old user projects

Included but not directly related changes:

- fix Windows (Visual Studio) DLL build
- add CMake function fl_debug_target() to show target properties
- don't build test programs if FLTK is a subproject
- internal: reformat CMake code: remove space before '('

Thanks to Matthias and Manolo for their help, testing, and feeback.
2024-02-07 18:37:34 +01:00
Matthias Melcher
78ae78b118 Add dynamic title to test/editor 2024-02-06 21:25:43 +01:00
Matthias Melcher
d9612e3cc7
RFC: Different approach to Editor tutorial (see #189) (#883)
Update test/editor code and tutorial (#189, #883)

Different, sequential approach to Editor tutorial
Co-authored-by: Albrecht Schlosser <albrechts.fltk@online.de>
2024-01-29 11:43:34 +01:00
ManoloFLTK
01f2f760b6 Create struct wl_callback_listener *Fl_Wayland_Graphics_Driver::p_surface_frame_listener 2024-01-18 08:51:31 +01:00
ManoloFLTK
b7fba465ce Wayland: throttle resize operations also for top-level GL windows
Member cb of struct wld_buffer is replaced by member frame_cb of struct wld_window.
This allows frame_cb to be used both for non-GL and for top-level GL windows.
2024-01-18 08:10:33 +01:00
Albrecht Schlosser
32514e6d2b Quote doxygen command where necessary
... if the doxygen path includes spaces.

Done for configure/make + CMake.
2024-01-11 01:47:07 +01:00
ManoloFLTK
30f2ec8185 Fix for bug in Mutter Wayland compositor (#878) - cont'd
Add more tests to do additional operations under stricter conditions
2023-12-28 11:28:47 +01:00
Albrecht Schlosser
76a2c95f07 Fix a typo, trailing whitespace, and dependencies 2023-12-21 14:03:04 +01:00
ManoloFLTK
bc5d7e77aa Remove typos in the documentation of fl_x11_use_display() 2023-12-19 19:36:07 +01:00
ManoloFLTK
96bacd3f9d Procedure to instruct FLTK to use given X11 connexion (#149) 2023-12-19 15:48:26 +01:00
ManoloFLTK
f38d1cf424 Documentation: fix outdated statements of quantities being expressed in pixels 2023-12-12 10:08:08 +01:00
Greg Ercolano
3fb9bae040 Fl_Grid: Added show_grid(1) screenshot 2023-12-09 08:20:31 -08:00
ManoloFLTK
bf7d53006c Complete and update documentation of Wayland buffers 2023-12-09 10:38:05 +01:00
ManoloFLTK
63ba44dc29 Document FLTK implementation of the "GTK Shell" Wayland protocol 2023-12-08 18:04:04 +01:00
ManoloFLTK
d963dde3ef Document Fl_Image_Surface::mask() with commented code example 2023-12-07 15:01:23 +01:00
ManoloFLTK
ddf81baa65 Update "Previous versions of bundled libraries" 2023-12-07 11:57:27 +01:00
Albrecht Schlosser
cb0930190a Remove remaining 'pronounced "fulltick"' statements
+ fix source URL in fltk.spec.in
 + fix some typos
2023-12-05 17:01:51 +01:00
ManoloFLTK
3e61ec7044 New member function Fl_Image_Surface::mask(Fl_RGB_Image*) 2023-12-04 12:34:44 +01:00
Albrecht Schlosser
384b546dc6 Upgrade bundled nanosvg library to latest upstream commit
commit 706eb0618249507c1700cef4a518f73e546b1c38 (upstream/master)
Author: Mikko Mononen <memononen@gmail.com>
Date:   Wed Nov 22 22:47:18 2023 +0200

    Merge pull request #249 from wcout/issue_240

    Fix for #240: Bug: "else" missing

+ FLTK specific extensions, see documentation/src/bundled-libs.dox
2023-12-02 23:32:17 +01:00
ManoloFLTK
0aa8e28be0 Update libdecor to commit 060fe761 dated 1-dec-2023 2023-12-02 16:59:52 +01:00
ManoloFLTK
f72748bb45 Wayland: make OPTION_USE_SYSTEM_LIBDECOR ON by default
This commit makes the default FLTK build setting use libdecor
as packaged in Linux when the build system contains packages
libdecor-0-dev and libdecor-0-plugin-1-gtk in version ≥ 0.2.0.
Otherwise, FLTK uses the bundled version of libdecor.
This includes situations where package libdecor-0-dev is
present in an earlier version.
2023-12-02 09:28:08 +01:00
ManoloFLTK
a1a3a31090 Set date of last update to bundled libdecor 2023-11-29 18:11:34 +01:00
Matthias Melcher
8041a62e59 Adds Callback Reason to FAQ on Fl_Window::callback 2023-11-22 22:31:59 +01:00
Albrecht Schlosser
6f7e1f4fb7 Enhance documentation of event processing 2023-11-17 15:25:21 +01:00
ManoloFLTK
fe0298e9e6 Doc: describe fl_disable_wayland in "Operating System Issues" section 2023-11-15 15:58:28 +01:00
Albrecht Schlosser
4b315d190c Fix dependencies and whitespace issues 2023-11-14 18:14:48 +01:00
erco77
6842a43a31
Fl_Terminal widget (#800)
Pull Fl_Terminal widget from Greg's fork
2023-11-14 07:01:52 -08:00
ManoloFLTK
914ee02c5f Fix typos in documentation 2023-11-01 12:26:54 +01:00
ManoloFLTK
c0e4410776 Update libdecor to commit c6c780c1 dated 2023-10-10 2023-10-29 10:28:27 +01:00
Matthias Melcher
ab6ef9d52f FLUID: Stops overriding Ctrl-0 shortcut. #802
Ctrl-0 is used by FLTK globally to zoom all windows back to 100%,
so FLUID should not override that. Loading the previous file is now
Ctrl-1 instead of Ctrl-0.
2023-10-23 00:52:30 +02:00
Albrecht Schlosser
49900e3710 Update documentation with Fl_Flex and Fl_Grid widgets 2023-10-17 18:24:14 +02:00
Albrecht Schlosser
38871c5b31 Add Fl_Grid widget and test and demo programs
- FL/Fl_Grid.H: header file
- src/Fl_Grid.cxx: implementation

- examples/grid-simple.cxx: simple example program
- test/cube.cxx:            use Fl_Grid for layout
- test/grid_alignment.cxx:  test cell alignment and other functions
- test/grid_buttons.cxx:    demo program as discussed in fltk.general
- test/grid_login.cxx:      like test/flex_login.cxx but with Fl_Grid
- test/flex_login.cxx:      modified to match test/grid_login.cxx
2023-10-16 22:18:24 +02:00
Albrecht Schlosser
cfa1a3bd40 Enhance info about documentation generation
- update build requirements
- clarify CMake options
- make clear that a POSIX shell and some Unix tools are required
  to build the PDF documentation
2023-10-03 09:19:36 +02:00
ManoloFLTK
74e63d9077 Wayland: document throttling redraws during interactive resizes 2023-10-03 08:12:13 +02:00