Commit Graph

1074 Commits

Author SHA1 Message Date
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
ManoloFLTK
b8fa522ca4 New member function Fl_Wayland_Graphics_Driver::create_wld_buffer()
The previous member Fl_Wayland_Graphics_Driver::create_shm_buffer() is now
renamed to create_wld_buffer() and divided in 2 parts:
- one is related to the draw buffer;
- the other is related to the wl_buffer and is what is now called create_shm_buffer().
This allows to delay creation of the wl_buffer until absolutely necessary,
done inside Fl_Wayland_Graphics_Driver::buffer_commit().
2023-09-25 16:40:01 +02:00
ManoloFLTK
59b251cc39 Slightly simpler Fl_Wayland_Window_Driver::flush()
and beef up description of Wayland's mechanism to throttle screen redrawing.
2023-09-24 09:52:48 +02:00
ManoloFLTK
220dd47bea Increase reuse of mmap'ed data by FLTK Wayland buffer factory 2023-09-22 11:51:24 +02:00