Commit Graph

10573 Commits

Author SHA1 Message Date
ManoloFLTK 8bb29e823c Have Fl_Wayland_Window_Driver use Fl::add_check() when adequate 2023-06-28 08:47:21 +02:00
ManoloFLTK f5879ae228 Slight simplification of Fl_Wayland_Gl_Window_Driver::swap_buffers()
Also, reorder members of class Fl_Wayland_Gl_Window_Driver
2023-06-27 09:05:46 +02:00
ManoloFLTK 81615bbe0b Fix Fl_Cocoa_Gl_Window_Driver::resize()
The additional [NSOpenGLContext flushBuffer] messages appear necessary when an Fl_Tile contains
2 or more GL subwindows.
2023-06-26 15:00:52 +02:00
ManoloFLTK 5196d66825 Wayland: improve mapping and hiding of GL (subs)windows 2023-06-24 09:23:01 +02:00
ManoloFLTK 38381ef544 Slightly simpler Fl_Wayland_Window_Driver::hide() 2023-06-23 10:03:30 +02:00
ManoloFLTK eca471eee6 Wayland.dox: add a few more detailed explanations 2023-06-21 21:05:47 +02:00
ManoloFLTK c43cf2f192 Wayland: improve support of multi-display setups 2023-06-19 17:48:37 +02:00
ManoloFLTK 742af8a31a Wayland: fix menutitle windows with scaled, multiple display 2023-06-13 14:39:03 +02:00
ManoloFLTK 3166416e4c libdecor: update with upstream source code as of 2023-jun-6 2023-06-13 07:42:44 +02:00
ManoloFLTK c606914164 Fix building with -DOPTION_USE_SVG=Off 2023-06-12 16:55:05 +02:00
ManoloFLTK 2b430aa951 Fix "Cannot link if built with OPTION_PRINT_SUPPORT=OFF" (#734) 2023-06-12 15:35:51 +02:00
ManoloFLTK 7d7edcf50f Documentation: remove « "FLTK", pronounced "fulltick" » 2023-06-07 16:42:14 +02:00
ManoloFLTK 87dec3af9c libdecor: update with upstream source code as of 2023-may-26 2023-06-07 15:58:12 +02:00
ManoloFLTK 033ad1d732 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732) 2023-06-06 16:55:05 +02:00
ManoloFLTK bba90ce005 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732) 2023-06-06 08:27:52 +02:00
ManoloFLTK 11c38c3e41 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732) 2023-06-06 08:22:32 +02:00
ManoloFLTK fcca08d841 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732) 2023-06-05 17:28:34 +02:00
ManoloFLTK 64eafbefd6 Fix "Fl::get_font_name() with Pango is inconsistent" (#732) 2023-06-05 16:05:27 +02:00
ManoloFLTK 5be3fbf913 Improve re-use of client/compositor shared memory by Wayland buffers 2023-06-05 11:00:33 +02:00
Matthias Melcher 5dfa51a820 FLUID option to ignore some syntax checks 2023-06-04 21:10:43 +02:00
ManoloFLTK 56e94c4cdc Wayland.dox: details about destruction of wl_shm_pool objects 2023-06-01 18:11:56 +02:00
ManoloFLTK 06fc052e5c Fix "Huge memory leak under Wayland" (#730) 2023-06-01 17:09:16 +02:00
ManoloFLTK c3217094db Slightly simplify Fl_Wayland_Window_Driver::makeWindow() 2023-05-31 07:05:18 +02:00
ManoloFLTK 1abf1dd712 Wayland.dox: add "Menu windows and other popups" and miscellaneous 2023-05-28 19:55:50 +02:00
ManoloFLTK 4c057c57ae Slightly improve Fl_Wayland_Window_Driver::flush() 2023-05-22 17:46:08 +02:00
ManoloFLTK 7020356df9 Slightly re-organize class Fl_Wayland_Window_Driver 2023-05-22 09:05:07 +02:00
ManoloFLTK 60440632ee Fix name of static member variable Fl_Wayland_Screen_Driver::wl_display
and add explanatory comment.
2023-05-20 06:05:34 +02:00
ManoloFLTK 89454508a2 Fix Fl_Simple_Terminal::append(str, len) assumes a null terminated string (#728) 2023-05-19 18:57:18 +02:00
ManoloFLTK 033880673a Add null-pointer check for tall menu window under Wayland+KDE 2023-05-17 09:39:39 +02:00
ManoloFLTK e5ac5678dc Fix handling of tall menu windows with the KDE Wayland compositor
Unfortunately (sigh), the KDE Wayland compositor does not seem to support
correctly, that is, as described by the Wayland protocol, popup windows
that are taller than the display : there is no means to make it draw such popup
so that part of it is above the screen top, whereas the 3 other tested compositors
(Mutter, Weston, Sway) don't have this problem.

This commit implements a new approach to draw tall menu windows, and uses
it only with the KDE compositor : instead of asking the compositor to slide the
menu window up, the menu window remains at a fixed position and the graphics
inside the window is slided up.

This requires to add a member variable, int offset_y, to class menuwindow, that
gets used only for the Wayland platform and that contains the vertical offset by which
graphics to the menu window is moved, expressed in FLTK units. An accessor
to the address of this member variable is added to class Fl_Window_Driver.
2023-05-15 12:40:24 +02:00
ManoloFLTK 1555132df1 Wayland: improve tall menu window support with xdg_positioner_set_offset() 2023-05-13 16:29:51 +02:00
ManoloFLTK 7a50c8234a Wayland: slightly simpler surface_enter() for toplevel GL windows 2023-05-12 08:47:56 +02:00
ManoloFLTK 7ef6b9f802 Wayland: fix opening GL top-level window on 2-screen system - cont'd 2023-05-11 18:59:34 +02:00
ManoloFLTK 37abac2d8e Wayland: fix opening GL top-level window on 2-screen system 2023-05-11 18:42:07 +02:00
ManoloFLTK 4fb18ffbdd Fix "Provide --without-fluid configure option" - cont'd (#725) 2023-05-10 14:41:48 +02:00
Albrecht Schlosser a4c6c18b3d Fix doxygen doc generation and document platform specific files
Pure platform specific files like 'src/*_win32.cxx' are excluded from
doxygen processing and don't need doxygen specific guard macros.

Document this fact prominently at the beginning of each file.

Fix exclude patterns and remove duplicates from Doxyfile.in.
2023-05-09 22:36:41 +02:00
ManoloFLTK fe0fcecd61 Fix "Provide --without-fluid configure option " (#725)
Add new --disable-fluid configure option.
2023-05-09 16:19:12 +02:00
Albrecht Schlosser ac7b55d8bb Fix some but not all memory leaks in test/utf8 demo
Note: Fl_Input::value() copies the string to an internal buffer,
  fl_strdup() before value() is not necessary.
2023-05-08 16:26:07 +02:00
Albrecht Schlosser 712fc72fef [CMake] Use an object library to speed up fluid build
Currently 'fluid' comes as up to three different targets, compiled
from the same source files (fluid, fluid-cmd, and fluid-shared).

The object library is built from all source files except fluid.cxx
and finally all 'fluid*' programs are linked with this library.
This avoids compiling the same source files multiple times.
2023-05-07 21:18:52 +02:00
ManoloFLTK 89a2b1a7a8 Fl_Wayland_Screen_Driver::get_system_scheme() is not needed 2023-05-03 14:17:10 +02:00
ManoloFLTK a94fed77e4 Wayland: clearer procedure to complete initialisation of screen data 2023-05-03 08:50:19 +02:00
ManoloFLTK 9ffeef7697 Wayland: problem with menus on secondary monitor - cont'd (#724) 2023-05-02 17:59:08 +02:00
ManoloFLTK ef5bf60239 Wayland: problem with dropdown menus on secondary monitor (#724) 2023-05-02 14:50:33 +02:00
ManoloFLTK cad6e63296 libdecor: update with upstream source code as of 2023-may-2
This will allow to create narrow decorated windows without crash.
2023-05-02 11:35:28 +02:00
ManoloFLTK 0394a27074 Wayland: wl_cursor_theme_load() may return NULL 2023-05-01 21:41:26 +02:00
ManoloFLTK 02c7ee5128 Fix regression in Fl::screeen_xywh() introduced at 9ea0cc8 2023-05-01 21:10:43 +02:00
ManoloFLTK ae65a6bf99 Check return values of calls to libxkbcommon functions (#727) 2023-05-01 17:36:36 +02:00
ManoloFLTK 3e2c8d5a95 Allow building Wayland platform without dbus - cont'd (#726)
CMake-based building without dbus is made possible
2023-04-30 21:36:19 +02:00
Matthias Melcher a2929b15ba Undid old change in Windows code that causes undesired results (STR 1115)
Windows created when another window was grab()'d would always become
dependents under WIN32, hiding them when the grabbed window was hidden.
2023-04-30 20:08:44 +02:00
ManoloFLTK cdd1566cf9 Allow building Wayland platform without dbus (#726)
This commit supports configure-based builds without the dbus-dev package;
CMake-based builds are expected to be changed in further commit.
2023-04-30 18:41:49 +02:00