Commit Graph

11041 Commits

Author SHA1 Message Date
Albrecht Schlosser 44840af076 Wayland: keep mouse button state across push/release events
Notes:

(1) Fl::e_state holds the current state of all mouse buttons which is
    returned by Fl::event_buttons() - "plural form".

(2) Fl::e_keysym holds the "key" of the current event which can be a
    mouse button, returned by Fl::event_button() - "singular form".
2023-07-12 18:49:01 +02:00
Albrecht Schlosser 858c3cad86 Fix Wayland FL_RELEASE events reporting wrong button
... in Fl::event_button().

This can be seen when two buttons have been pressed simultaneously
and then released (see test/handle_events.cxx).
2023-07-12 18:05:07 +02:00
Matthias Melcher 11dc28c321 FLUDI documentation updates 2023-07-12 15:27:52 +02:00
Matthias Melcher 9826b345ac corrects default popup menu box type for Fl_Choice (#748) 2023-07-12 13:18:48 +02:00
Matthias Melcher c2cce9cba8 FLUID: typo 2023-07-11 23:21:37 +02:00
Matthias Melcher 2e9c1a5097 FLUID adding hatch pattern to overlapping widgets 2023-07-11 23:13:55 +02:00
Matthias Melcher 71088b7fe2 FLUID mark project change when changing window visibility 2023-07-11 14:27:58 +02:00
Matthias Melcher 676bad861a FLUID source files sorting improved 2023-07-10 17:07:34 +02:00
ManoloFLTK c47cbf4402 More detailed documentation of Fl::screen_xywh() 2023-07-10 09:18:26 +02:00
ManoloFLTK 4d2d3cf76d Documentation: explain how to refresh GUI while printing 2023-07-09 12:59:54 +02:00
ManoloFLTK 3a777eed58 Describe cmake option OPTION_ALLOW_GTK_PLUGIN 2023-07-09 08:29:58 +02:00
Mohammed Alyousef d939375a52 Update CMakeLists.txt 2023-07-09 08:11:42 +02:00
ManoloFLTK 18befa5e81 Add details to documentation of Fl_Wayland_Gl_Window_Driver::swap_buffers() 2023-07-08 09:23:38 +02:00
ManoloFLTK 3d03a5426b Improve documentation of Fl::screen_num(int x, int y) 2023-07-07 15:11:26 +02:00
Matthias Melcher 6fbc7ad86e FLUID #739: emit User Code late for Window and Widget Class 2023-07-03 17:19:37 +02:00
Albrecht Schlosser 66bf6ea346 Clarify documentation of Fl_Window::size_range()
Document typical (recommended) usage and platform specific behavior.
2023-06-28 16:01:15 +02:00
ManoloFLTK 69cb274415 Documentation: beef-up the OpenGL section of wayland.dox 2023-06-28 11:12:57 +02:00
ManoloFLTK 0b6dcd14d9 Documentation: add a few updates to intro.dox 2023-06-28 09:35:25 +02:00
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