Commit Graph

1316 Commits

Author SHA1 Message Date
ManoloFLTK
e32d4bcab9 Fix Fl_Wayland_Screen_Driver::x() and friends 2023-03-09 16:56:57 +01:00
ManoloFLTK
e409b01ba6 Remove useless repetition from array dead_keys[] 2023-03-08 12:19:09 +01:00
ManoloFLTK
b14172401d Fix: Shift-Tab not "reverse navigating" on some platforms (#696) 2023-03-08 09:04:55 +01:00
ManoloFLTK
f89a9f9efc DnD of filenames: make Wayland behave as Windows and macOS
and also add more detailed documentation of platform-specific behaviors.
2023-03-06 11:08:04 +01:00
ManoloFLTK
a52811567e Wayland: improve DnD of filenames to allow space-containing names 2023-03-05 11:54:55 +01:00
ManoloFLTK
5ae92f034a Simpler use of member variable wl_registry in class Fl_Wayland_Screen_Driver 2023-03-04 08:34:10 +01:00
ManoloFLTK
b438d448fb Remove unused variable declaration + fix in wayland.dox 2023-03-03 18:00:44 +01:00
ManoloFLTK
77c6877374 Reorder members of class Fl_Wayland_Screen_Driver 2023-03-03 16:47:49 +01:00
ManoloFLTK
37764fcd28 Improve Fl_Wayland_Window_Driver::wld_scale() 2023-03-03 09:28:12 +01:00
ManoloFLTK
86c238c000 Add Fl_Wayland_Window_Driver::wld_scale() member function 2023-03-02 11:36:26 +01:00
ManoloFLTK
147bda5471 Rename fd_callback() to wayland_socket_callback() 2023-02-19 08:53:00 +01:00
ManoloFLTK
2af43ef4c8 Remove special FL_CURSOR_NONE implementation in Wayland 2023-02-17 16:24:41 +01:00
ManoloFLTK
e84a1730ad Wayland: improve and document support of FL_CURSOR_NONE 2023-02-17 09:52:34 +01:00
ManoloFLTK
f6b87790cc Wayland: new struct wl_cursor *custom_cursor member variable 2023-02-15 22:52:20 +01:00
ManoloFLTK
a4d0f7d269 Wayland: allow Fl_Window::cursor(Fl_Cursor) for whole window 2023-02-15 12:20:26 +01:00
ManoloFLTK
9ff67f013e Wayland: add support of Fl_Window::default_cursor(Fl_Cursor) 2023-02-15 06:43:39 +01:00
ManoloFLTK
868ab9696f Rename class Fl_Display_Cairo_Graphics_Driver to Fl_X11_Cairo_Graphics_Driver 2023-02-14 11:52:21 +01:00
ManoloFLTK
b055b82eb2 Use libdecor/src/os-compatibility.h to declare os_create_anonymous_file() 2023-02-14 10:44:15 +01:00
ManoloFLTK
3d0b96b095 Remove unneeded list of wayland seats 2023-02-13 16:54:16 +01:00
ManoloFLTK
9958016a47 Windows: minor change to support build with mingw64 4.9
This old compiler is available as a cross compiler from macOS to 64-bit Windows.
2023-02-13 12:24:27 +01:00
ManoloFLTK
bb74d263e2 Wayland: add necessary check to support OWL 2023-02-12 08:52:09 +01:00
Matthias Melcher
5a25641317
Very controlled GDIplus startup and shutdown #635 (#679)
Fall back to GDI if GDIplus is not available
2023-02-11 19:14:23 +01:00
ManoloFLTK
740c56ce15 Wayland: improve support for FL_CURSOR_{NONE, HELP} 2023-02-11 14:36:58 +01:00
Matthias Melcher
7f87c847ba
Unlimited undo/redo for Fl_Input_ and Fl_Text_Buffer (#558) (#676) 2023-02-10 17:13:20 +01:00
ManoloFLTK
7a8771d3c4 macOS+XQuartz: support new homebrew name for GTK2 shared lib 2023-02-07 12:47:42 +01:00
ManoloFLTK
6276822e9e Allow cmake -DOPTION_APPLE_X11=On without -U__APPLE__ 2023-02-02 18:48:24 +01:00
Albrecht Schlosser
4e75549e7b Update dependencies and fix whitespace errors
- replace tabs with spaces
- remove trailing whitespace
2023-02-02 17:09:14 +01:00
ManoloFLTK
ddc213d91c Add preliminary support of Wayland under macOS
Wayland under macOS is WIP at
  https://github.com/owl-compositor/owl
2023-02-02 14:39:11 +01:00
ManoloFLTK
96fd8a5f7a Wayland: use fl_wl_find() instead of fl_find() 2023-02-01 09:30:09 +01:00
ManoloFLTK
94c918a1ae Fix miscellaneous #include directives 2023-01-31 18:22:04 +01:00
ManoloFLTK
1581662d00 Simpler Fl_Wayland_Gl_Window_Driver::resize() is enough 2023-01-26 16:04:06 +01:00
Matthias Melcher
179771acd2
Fixing FLUID file corruption from issue #653 (#662)
Removing all globals in file writer (#653 )
Fix some static analyser complaints
Valgrind: handle width==0 in GfxDrivers on Wayland and X11
Don't use `Fl_Input_::static_value`, it accesses previous
buffer that may be deleted
Project file write encapsulated, removing globals
Encapsulating project file reader, removing states in glbals
Project i/o increased source code readability
2023-01-26 15:23:43 +01:00
ManoloFLTK
17467b48bd Wayland: remove useless member variables of struct output 2023-01-23 08:11:10 +01:00
ManoloFLTK
35b7473e70 Wayland menus: support tall popup menu + Sway support 2023-01-16 17:07:22 +01:00
ManoloFLTK
ff3906bec0 Wayland menus: support tall popup menu 2023-01-16 16:00:54 +01:00
ManoloFLTK
761aa5e485 Rename static member Fl_Wayland_Window_Driver::tall_popup to new_popup
The new name reflects better the role of this bool member variable.
Also, add explanatory comments about the use of this variable.
2023-01-15 10:18:50 +01:00
ManoloFLTK
37775538c4 Extend commit a4b33f8 to other uses of function convert_crlf()
Helper function convert_crlf() from file fl_wayland_clipboard_dnd.cxx has been
repaired by commit a4b33f8 (13 jan 2023). But the same function was also in
file Fl_cocoa.mm. This commit moves the repaired code to class Fl_Screen_Driver
and has both fl_wayland_clipboard_dnd.cxx and Fl_cocoa.mm use it.
2023-01-14 09:56:09 +01:00
ManoloFLTK
c8b4a56735 Add missing initialisation after dynamic memory allocation 2023-01-14 08:16:23 +01:00
Albrecht Schlosser
a4fdf92d06 Fix set_fonts() in Xlib/xft and Cairo Graphics_Driver
src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx:
 - fix font_name_process() out of bounds memory access
 - unify/align font_name_process() code (see also Xlib/xft)
 - fix font name string allocation

src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx
 - unify/align font_name_process() code (see also Cairo_Graphics)
 - fix font name string allocation

Todo: move common code to Fl_Graphics_Driver or another common file.
2023-01-13 22:39:23 +01:00
ManoloFLTK
f3e21ddad2 Fix for "Rename Fl_X* Fl_Window::i private class member" (#223) 2023-01-13 21:16:17 +01:00
ManoloFLTK
dd6b9b90ee Wayland menus: add missing use of scaling factor 2023-01-13 19:37:06 +01:00
Albrecht Schlosser
a4b33f8e76 Wayland: Fix "heap-buffer-overflow" error
- replace strchr() with memchr() because buffer is not nul-terminated
- fix '*(p+1)' potentially accessing memory out of bounds

This fix also prevents
- multiple memmove() calls
- multiple searches from the beginning of the string
2023-01-13 16:44:06 +01:00
ManoloFLTK
7dd7cfcf95 Wayland Fix "Error "heap-use-after-free" when scaling twice" (#650) 2023-01-12 21:28:03 +01:00
ManoloFLTK
66860c2e83 Improve "Implementation note about menu windows under Wayland" 2023-01-12 21:27:17 +01:00
ManoloFLTK
b375d07d32 New static member Fl_Window *Fl_Wayland_Window_Driver::previous_floatingtitle 2023-01-12 11:58:53 +01:00
ManoloFLTK
62e33973a1 New static member bool Fl_Wayland_Window_Driver::tall_popup 2023-01-12 11:36:20 +01:00
ManoloFLTK
b8d9f2282f Remove useless #include directives 2023-01-12 10:33:41 +01:00
ManoloFLTK
86a6d4e3d3 Wayland menus: remove useless Fl_Window_Driver::extra_menutitle() 2023-01-12 08:28:06 +01:00
ManoloFLTK
ccfc479e43 Fix "Wayland: compilation warnings" (#649) 2023-01-11 23:53:34 +01:00
ManoloFLTK
9210e3efbf Wayland: Further improved implementation of menu windows
Tall menus now work also as single popup window and show the correct selected item.

Groups of popups with a menutitle, an associated menuwindow, and possibly submenus
are constructed around the menuwindow, the menutitle being a child popup of the
menuwindow. This positions these popup groups better than before.
2023-01-11 17:40:38 +01:00