summaryrefslogtreecommitdiff
path: root/src/drivers/Wayland
AgeCommit message (Collapse)Author
2022-12-28Wayland: remove un-necessary Fl_Wayland_Gl_Window_Driver::gl_event_queueManoloFLTK
2022-12-28Wayland: simplify function struct wl_display *fl_wl_display()ManoloFLTK
2022-12-27Wayland: Dropdown menu moves when navigated (#613) - cont'dManoloFLTK
Menu windows containing sub-menus are now processed differently.
2022-12-26Wayland: Fix for "Dropdown menu moves when navigated" (#613)ManoloFLTK
This commit uses Wayland popup positionning methods to handle common menu windows and prevents them from expanding below display bottom or above top. The previous algorithm remains in place for menu windows higher than the display height. Further changes for these big menus may come later.
2022-12-24Fix for "Fatal error while communicating with the Wayland server" (#610)ManoloFLTK
This commit should fix: once the mouse leaves the app window area and returns back to it (app loses focus and gets it again) the crash happens.
2022-12-09Add new Wayland-specific fl_wl_compositor() functionManoloFLTK
2022-12-08 Simpler prototype of Fl_Wayland_Graphics_Driver::buffer_commit() member - ↵ManoloFLTK
cont'd
2022-12-08Simplify prototype of Fl_Wayland_Graphics_Driver::buffer_commit() memberManoloFLTK
2022-12-07Wayland: fix progressive drawing as in test/mandelbrotManoloFLTK
2022-11-30Remove small files fl_XXX_gl_platform_init.cxxManoloFLTK
The single-function content of these files is moved to Fl_XXX_Gl_Window_Driver.cxx.
2022-11-23Configure-based build: control presence of GL-related packagesManoloFLTK
2022-11-23Fix for issue #412 for the Wayland backendManoloFLTK
The problem was that after a drag-n-drop within a window, text selection by shift+arrow key stopped working. Also, improves drag-n-drop within a window by leaving insertion point at end of dragged text.
2022-11-20Replace #if FLTK_USE_X11 by #ifdef FLTK_USE_X11ManoloFLTK
2022-11-17Remove development stage "Using Wayland backend" messageManoloFLTK
2022-11-11Remove redundant doxygen docs of fl_beep()Albrecht Schlosser
Also add a comment to all platform driver implementations.
2022-11-09Wayland: remove unneeded friend declarationsManoloFLTK
2022-11-08Wayland: improve processing of the -display command line argumentManoloFLTK
2022-11-08Wayland: show keyboard modifiers during mouse clicks (#534)ManoloFLTK
2022-11-08Wayland: cancel drag-n-drop after Fl::pushed(0) (#525)ManoloFLTK
2022-11-07Fix initialisation of hybrid Wayland/X11 platformManoloFLTK
Also, terminate Wayland drag-and-drop operation after Fl::pushed(0).
2022-11-07Delete src/drivers/Wayland/Fl_Wayland_System_Driver.*ManoloFLTK
2022-11-07Create class Fl_Unix_Screen_Driver used by X11 and Wayland platformsManoloFLTK
2022-11-05Wayland/X11 hybrid: use "bool fl_disable_wayland;" declaration.ManoloFLTK
2022-11-05Fix two rare potential bugs (NULL pointer dereferencing)Albrecht Schlosser
Both bugs can happen if a widget doesn't have an associated window() or in similar situations. These fixes returns NULL to prevent crashes. Bugs observed in special test scenarios, not real-life programs.
2022-11-05Wayland: simpler handling of the z-order of subwindowsManoloFLTK
It's not necessary to call wl_subsurface_place_above() because "A new sub-surface is initially added as the top-most in the stack of its siblings and parent."
2022-11-04Wayland DnD: make insertion cursor follow DnD cursor.ManoloFLTK
2022-11-04Wayland DnD: allow cancel with Fl::pushed(0) as under X11 (#525)ManoloFLTK
This is a partial fix of issue #525 that reproduces under Wayland the "unofficial", X11-specific way to cancel a Dnd operation by calling Fl::pushed(0).
2022-11-01Fix trailing whitespaceAlbrecht Schlosser
2022-10-25Repair commit e0c3fe9 to fix #521 which destroyed DnD from WaylandManoloFLTK
It turns out it's necessary to memorize 2 event serial numbers : - serial changed at each pointer and key event; - pointer_enter_serial changed when pointer enters a surface because this one and not any other is needed for exact cursor changes by wl_pointer_set_cursor() in do_set_cursor().
2022-10-25Fix problem with cursor point of action after FL_PUSH (#521)ManoloFLTK
2022-10-23Make Fl::display(const char *) active also for the Wayland platform.ManoloFLTK
2022-10-20Wayland drag-n-drop: send FL_DND_LEAVE when the dragging mouse leaves the windowManoloFLTK
2022-10-19Wayland drag-n-drop: handle subwindows as other platforms do (#516)ManoloFLTK
The d-n-d target window is now always the top-level window even if the mouse is over a subwindow. That's what all other platforms do. Global var fl_dnd_target_surface memorise what's the current d-n-d target surface and follows changes from top-window to subwindows.
2022-10-17Wayland drag-n-drop to Fl_Window: send necessary FL_ENTER event (#516)ManoloFLTK
Drag-n-drop under Wayland was OK in general except when the drop target is an Fl_Window because the belowmouse object is not set in this configuration. Processing an FL_ENTER event before the FL_DND_RELEASE event fixes that.
2022-10-02Clean use of virtual GLContext Fl_Gl_Window_Driver::create_gl_context().ManoloFLTK
2022-09-27Remove use of class Fl_Window_Driver inside libfltk_glManoloFLTK
2022-09-26Replace all calls to sprintf() by calls to snprintf().ManoloFLTK
2022-09-22Wayland: fix window closing with titlelbar close button.ManoloFLTK
2022-09-11Fix fl_read_image() under hybrid Wayland/X11 platform.ManoloFLTK
Function fl_read_image() obliges to keep a minimal use of global variable fl_window also under the Wayland platform, even if its type (Window) makes little sense for the hybrid library because it has its X11 value (given by X11/X.h) which is not meaningful for the Wayland leg of the hybrid platform. Virtual member function Fl_Surface_Device::as_image_surface() becomes useless.
2022-09-11Add needed variable for Wayland-only platform.ManoloFLTK
2022-09-09New OPTION_WAYLAND_ONLY for CMake to build pure Wayland platform.ManoloFLTK
2022-09-09Wayland: support going from borderless to bordered window.ManoloFLTK
2022-09-09Wayland: fix handling of fast calls to Fl_Window::flush().ManoloFLTK
Also fix scaling of borderless windows.
2022-09-08Wayland: remove memory leak from missing wl_callback_destroy() call.ManoloFLTK
This hopefully corresponds to the memory leak mentioned in fltk.general named "FLTK and Wayland".
2022-09-07Improve support of child windows that may leak outside their parent window.ManoloFLTK
1) add Wayland code that prevent subwindows from leaking outside their parent. This does not cover GL subwindows. 2) add macOS code that prevent GL subwindows from leaking outside their parent. This fixes issue #494 for the macOS platform. N.B.: Wayland GL subwindows are not prevented from leaking because no solution that would not require any change in client applications was found. Code that would cover Wayland GL subwindows but would require client applications to always use the FL_ALPHA flag is included in this commit in commented out form.
2022-09-06Wayland: fix memory leak on FL_KEYUP eventsAlbrecht Schlosser
The old code would allocate memory on FL_KEYDOWN and FL_KEYUP events and never free the latter. The fix is to allocate memory only on FL_KEYDOWN events which will be free'd later as intended. Also fix two unrelated whitespace errors.
2022-09-03Fix for issue #493ManoloFLTK
2022-09-01Simplify Fl_Window_Driver::screen_num() member functions.ManoloFLTK
2022-08-31Wayland platform: remove redirection of stderr.ManoloFLTK
2022-08-31Hybrid Wayland/X11: remove setenv() call from ↵ManoloFLTK
Fl_Wayland_System_Driver::disable_wayland().