Commit Graph

10763 Commits

Author SHA1 Message Date
Albrecht Schlosser
a1f47148a3 Remove unused variable, silence compiler warning
warning: unused variable ‘dy’ [-Wunused-variable]
2023-09-29 16:27:03 +02:00
Matthias Melcher
144d7d3529 Adds Fl_Menu_::prev_mvalue() (#685) 2023-09-29 15:22:47 +02:00
Matthias Melcher
25a9af2f06 Fixes overlapping tabs (#718)
* corrects clipping of overlapping tabs
* fixes some issues with exotic box types
like rounded boxes
2023-09-29 14:12:39 +02:00
Matthias Melcher
f3eae58c52 Draw parent window backdrop on Fl_Tabs (#718) 2023-09-29 14:12:39 +02:00
ManoloFLTK
ff0a3a9d59 Wayland: throttle window redraws during interactive resizes (#776) 2023-09-29 12:29:52 +02:00
Matthias Melcher
491db97a3b
Reversed README.md 2023-09-28 16:01:29 +02:00
Matthias Melcher
87b635141a
Make README.md clickable 2023-09-28 15:57:21 +02:00
Albrecht Schlosser
bb7c68a477 Update dependencies 2023-09-27 16:49:46 +02:00
Matthias Melcher
371ff17639 FLUID: fixing settings dialog update 2023-09-27 13:14:09 +02:00
Matthias Melcher
e68f5e6c42 FLUID: minor fixes 2023-09-27 12:57:12 +02:00
Matthias Melcher
c073c1fca7 Fix for CLEAR flag in Fl_Preferences
Fixed warning in new Fl_Preferences constructor
2023-09-27 12:26:35 +02:00
Matthias Melcher
71b8e77935
FLUID: adds greatly enhanced Shell Commands (#774)
The user can add an arbitrary number of highly configurable 
shell commands through the setting panel. The commands can
be saved as user preferences, inside the .fl file, or exported
to an external file. Shell scripts can be limited to individual 
platforms, can have shortcut keys, etc. .

* documentation will follow
* support to call `fltk-config` will follow
2023-09-26 16:01:03 +02:00
ManoloFLTK
2bbdd49465 Remove "warning: extended initializer lists only available with …" 2023-09-26 15:38:21 +02:00
Matthias Melcher
2c528b816c FLUID: Typos in docs 2023-09-26 12:39:52 +02:00
ManoloFLTK
75273c06c5 Add Fl_Timestamp Fl::distant_past()
Can be handy when Fl::seconds_since() is used early at program startup
2023-09-26 12:31:20 +02:00
Matthias Melcher
0a2f05a2fe FLUID: Fixes regression #777
Wrote wrong path in #inlude statement under certain
conditions. Also removed 'snap' tag if not needed.
2023-09-26 00:29:26 +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
Albrecht Schlosser
c02ecbcae2 Regenerate src/Fl_File_Chooser.cxx from its fluid source file 2023-09-22 14:03:34 +02:00
Albrecht Schlosser
226a4ea784 Fix potential invalid stack variable access in test code
This code was (and is still) commented out but it *would* trigger
a "stack buffer overflow" error *if* uncommented.

The new code demonstrates how a binary object (Fl_Preferences 'bed')
can be dumped to a preferences file in binary format (if activated).
2023-09-22 14:03:34 +02:00
Albrecht Schlosser
43ff6f0c32 Update dependencies 2023-09-22 14:03:34 +02:00
ManoloFLTK
220dd47bea Increase reuse of mmap'ed data by FLTK Wayland buffer factory 2023-09-22 11:51:24 +02:00
Greg Ercolano
cee69943e5 Small FNFC doc clarification; "pilots" -> "presets" 2023-09-20 23:34:43 -07:00
ManoloFLTK
a26e12590c Step back commit 8248183 that's unsatisfactory while resizing windows 2023-09-18 13:06:13 +02:00
ManoloFLTK
be07e5448f Improve reuse of mmap'ed data by Wayland buffers 2023-09-17 13:05:50 +02:00
ManoloFLTK
824818303c Restore Doxygen doc of fl_graphics_driver 2023-09-17 09:00:48 +02:00
ManoloFLTK
5fa994fcfc Wayland.dox: rephrase how FLTK and Wayland interact 2023-09-17 07:28:05 +02:00
ManoloFLTK
5e15c34512 Wayland.dox: mention preprocessor variable FLTK_USE_WAYLAND 2023-09-16 07:18:41 +02:00
ManoloFLTK
709decd35b README.txt: fix Wayland-related configure options 2023-09-15 12:27:33 +02:00
ManoloFLTK
aca9d09cb9 Wayland.dox: add miscellaneous complementary information 2023-09-15 11:31:08 +02:00
ManoloFLTK
c5433d6c1e Update libdecor to commit 422abaf9 dated 2023-09-07
The libdecor commit title is "libdecor-gtk: handle touch events"
2023-09-13 11:51:39 +02:00
Albrecht Schlosser
ede381c005 Fix Visual Studio shared library build
Todo: fluid-shared can't (yet) be built agains the shared fltk lib
  because of some linker errors. Needs investigation.

Note: fluid-shared is basically a test program to demonstrate linking
  against the shared FLTK libs but doesn't work yet using VS (MSVC).
  This is no problem for the functionality.
2023-09-12 23:18:46 +02:00
Albrecht Schlosser
e44a988c4a Fix unittest object file list in test/Makefile (#683) 2023-09-08 15:30:06 +02:00
Albrecht Schlosser
f5afea3421 Update Doxyfile.in again, now using all defined doxygen tags
The process to generate the docs now uses the full Doxyfile as given
by `doxygen -u Doxyfile.in` with a specific doxygen version, in this
commit version 1.8.14.

There's only one addition: 'HTML_COLORSTYLE = TOGGLE' which has been
added to doxygen in version 1.9.5. We're using it now to give the user
the choice to select a "dark mode" or "light mode" theme if the docs
are generated with doxygen 1.9.5 or later.

Unknown doxygen tags are now filtered silently and logged in files
documentation/Doxyfile_error.log and documentation/Doxybook_error.log,
respectively.
2023-09-07 18:34:04 +02:00
Albrecht Schlosser
41ca8f2050 Update Doxyfile.in from doxygen version 1.5.5 to 1.8.14
Most (if not all) doxygen tags introduced after 1.5.5 are commented out
  to avoid doxygen warnings about obsolete or unknown tags, except
  those tags that need a specific value.

Add 'HTML_COLORSTYLE = TOGGLE' (since 1.9.5) for better user experience.
  With this tag users can switch between dark and light mode *if*
  the docs were generated with doxygen 1.9.5 or later.

Enable search engine.

Log doxygen conversion errors and warnings to Doxy*_error.log,
  i.e. silence the doxygen conversion process.

documentation/src/index.dox: Remove background color from html
  index page for better contrast when using dark mode.
2023-09-07 18:34:04 +02:00
Matthias Melcher
14f85de28f FLUID: Fixes visibility of Compact button 2023-09-07 16:06:32 +02:00
Albrecht Schlosser
a75024213f Fix doxygen "undocumented parameter" warnings
... and argument order in FL_INLINE_CALLBACK_2 macro
2023-09-07 12:01:43 +02:00
Matthias Melcher
5ef29202ed Fixes Fl_Tabs to be more robust.
No children in Fl_Tabs should no longer crash the draw
method. Also, drawing an Fl_Tabs with no children inside
is now defined and documented.
2023-09-06 17:02:13 +02:00
Matthias Melcher
a683752e4b Fixes warning on unused variable. 2023-09-05 15:31:09 +02:00
Matthias Melcher
2e38007d1f FLUID: increases readability
- removed some direct filename manipulation
- central place to generate file names and paths
- fixes command line filename override if no actual
  batch command is given
2023-09-05 15:11:09 +02:00
Matthias Melcher
6bb5a81cee Adds some convenience methods.
fl_filename_absolute can no generate a path using arbitrary source paths.
Fl_Menu_ adds find_item_with_user_data and find_item_with_argument
Fl_String adds find(string, start)
2023-09-05 14:45:57 +02:00
Albrecht Schlosser
b2a41e08c3 Introduce Fl_Flex::need_layout() to optimize layout calculation
This is intended to reduce layout calculation and resizing of child
widgets until necessary before the Fl_Flex widget and all its
children are drawn in Fl_Flex::draw().

With this commit users no longer need to call layout() to layout the
Fl_Flex widget and its children properly unless they change widget
sizes or show/hide children.
2023-09-04 16:16:42 +02:00
Matthias Melcher
d7dc491b5a Adds images for documentation of compact buttons. 2023-09-03 00:10:24 +02:00
Matthias Melcher
5e8adebac2 Adds compact buttons feature to create keypads.
See test/buttons for an example.
2023-09-03 00:09:40 +02:00
Matthias Melcher
502fa72eb4 #718: Fixes drawing issues for Fl_Tabs
Tabs were drawn incorrectly when children's box was not FL_NO_BOX
Current solution is cleaned up and always redraws tabs area
without leaving breadcrumbs behind
2023-09-02 20:56:57 +02:00
ManoloFLTK
0caa2c99c2 Special (UTF-8) characters in PDF docs maybe not rendered correctly (#772)
Use an image to display the table of the detailed description of class
Fl_PostScript_File_Device in PDF format, and keep using a dynamic table
for the HTML format.

Replace use of the '⌘' character in file drawing.dox by text 'cmd'.
2023-08-31 12:51:16 +02:00
ManoloFLTK
2e88b5efd1 Remove Doxygen warnings in processing of class Fl_Tabs 2023-08-31 12:41:02 +02:00
Matthias Melcher
443ce62300 #718: Fixes Fl_Tabs overlapping calculations
This method should greatly improve the overlapping calculations.
Tested with super wide and super many tabs.
Also documented every method in the class.
2023-08-30 20:03:44 +02:00
Albrecht Schlosser
3ff53dc201 Improve doxygen documentation generation
Under configure+make it is not possible to enable driver documentation.
Therefore the '@DRIVER_DOCS@' variable must always be cleared.
Add a comment on how to build the driver docs using the Makefile.

Simplify CMake whitespace (trailing LF) handling.

Make sure we find the correct source dir even if FLTK is included
in a sub build (s/CMAKE_SOURCE_DIR/FLTK_SOURCE_DIR/).
2023-08-30 17:24:39 +02:00
Albrecht Schlosser
854b671cdc Doxygen docs w/configure/make: convert config to current version
The intermediate files 'Doxyfile' and 'Doxybook' are now converted
to the current Doxygen version and the short form ('-s') when using
configure+make as it was already done in CMake builds.

This is to avoid Doxygen warnings and for better readability
of the Doxygen config files which are created during the build.
2023-08-30 15:56:17 +02:00