Commit Graph

1391 Commits

Author SHA1 Message Date
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
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
7a8343e7e4 Fix crash reported in issues #723 and #724 2023-04-29 17:06:55 +02:00
ManoloFLTK
52a15632a6 Make sure Wayland surface size is integer multiple of wld_ scale 2023-04-28 11:27:32 +02:00
ManoloFLTK
04e996ee81 Improve integration with the OWL Wayland compositor 2023-04-28 09:47:20 +02:00
ManoloFLTK
9ea0cc89fb Slightly simpler Fl_Wayland_Screen_Driver::open_display_platform() 2023-04-27 17:06:46 +02:00
ManoloFLTK
58bd71f26d Wayland filename drag-n-drop: fix final null byte 2023-04-25 16:49:45 +02:00
ManoloFLTK
8489a245ee Wayland: accept all data_device_manager protocol versions 2023-04-25 10:25:34 +02:00
ManoloFLTK
1ae25242bd Wayland: set required version of wl_seat protocol to 2 2023-04-25 09:35:46 +02:00
Albrecht Schlosser
6f77f40aad Windows: define _WIN32_IE for older MinGW versions (#710)
... if _WIN32_IE is not defined. Older MinGW versions would
otherwise not define SHGFP_TYPE_CURRENT which is needed since
commit 5a4e7caa54 that fixes
GitHub issue #710: "Fl_Preferences not stored on Windows 10".

This commit is based on Ian's work as discussed in fltk.coredev, thread
"fltk-1.4 build error in Fl_WinAPI_System_Driver.cxx with 32-bit mingw"
on Apr 20, 2023.
2023-04-24 14:26:56 +02:00
ManoloFLTK
4bf9172a8e Replace internal fl_create_offscreen() calls by new Fl_Image_Surface 2023-04-23 10:03:02 +02:00
ManoloFLTK
897a6910b6 Slightly simpler Fl_Wayland_Graphics_Driver::copy_offscreen() 2023-04-23 09:37:36 +02:00
ManoloFLTK
544ab551e1 Remove superfluous #include directive 2023-04-21 23:48:23 +02:00
ManoloFLTK
fe972185c0 Fl_Window_Driver::destroy_double_buffer() does not need overrides 2023-04-21 16:27:08 +02:00
ManoloFLTK
9a00f36113 Wayland: keep window resizable after native file chooser - cont'd 2023-04-20 16:45:18 +02:00
ManoloFLTK
bcab001eb5 Wayland: keep window resizable after native file chooser 2023-04-20 15:29:40 +02:00
ManoloFLTK
8d79e4ad43 Inform Wayland compositor that most FLTK windows are opaque 2023-04-20 10:06:43 +02:00
ManoloFLTK
54ef53d4ae Move constant expression out of loop 2023-04-17 10:28:27 +02:00
ManoloFLTK
256e368368 Wayland: account for memorised keyboard surface before wl_surface_destroy() 2023-04-17 08:19:59 +02:00
ManoloFLTK
1a7ed133d0 Fix for "Wayland: heap-use-after-free after popup/pulldown" (#719) 2023-04-14 19:09:38 +02:00
ManoloFLTK
0fe118aa94 Remove duplication of Pango standard font names
And move each array of standard font names to appropriate font-related source file
2023-04-14 08:15:50 +02:00
Albrecht Schlosser
4bc63da34d Fix compiler warnings [-Wpedantic]
Remove extra semicolons after function definitions
2023-04-13 20:27:00 +02:00
ManoloFLTK
232a5399d7 Lower Pango required version from 1.22 to 1.16 2023-04-13 14:32:51 +02:00
ManoloFLTK
caaa11a96f Standardize API to "graphics context" across platforms
Rename fl_wl_cairo() to fl_wl_gc()
Add function cairo_t* fl_cairo_gc() under OPTION_USE_CAIRO
2023-04-13 10:02:40 +02:00
ManoloFLTK
e6c9deb4a4 Wayland: limit copied pixels when window update is a region - cont'd
Simpler Fl_Wayland_Window_Driver::flush_overlay() is enough.
2023-04-12 15:01:35 +02:00
ManoloFLTK
2d263a830a Wayland: limit copied pixels when window update is a region - cont'd
Handle Fl_Overlay_Window objects
2023-04-12 00:32:20 +02:00
Albrecht Schlosser
027e738655 Fix compiler warning [-Wsign-compare] 2023-04-10 15:58:05 +02:00
ManoloFLTK
4c567a4dd9 Fix "Giant cursor on Wayland + fractional scaling" (#713) 2023-04-08 06:50:56 +02:00
ManoloFLTK
0691833375 Wayland: non-resizable windows are positioned in the wrong place (#711) - cont'd
That is also expected to be the fix for #712
2023-04-07 15:47:01 +02:00
ManoloFLTK
ad8dd440d2 Wayland: fix for issue #712 (hopefully) 2023-04-07 14:47:03 +02:00
ManoloFLTK
c149091deb Wayland: fix reporting of relative location of multiple displays 2023-04-07 10:14:11 +02:00
ManoloFLTK
0c930b9ca3 Wayland: limit copied pixels when window update is a region 2023-04-05 23:21:43 +02:00
ManoloFLTK
5cedb9e174 Wayland backend draws everything two or three times - cont'd (#708) 2023-04-05 14:57:38 +02:00
ManoloFLTK
e790a3a185 Remove superfluous #include directives 2023-04-04 15:30:18 +02:00
ManoloFLTK
74cd7817af Remove unneeded #include directives 2023-04-03 16:11:24 +02:00
ManoloFLTK
1d0e63ea78 Improve member function Fl_Wayland_Screen_Driver::surface_to_window()
Rename it to Fl_Wayland_Window_Driver::surface_to_window() and
avoid loop over all mapped FLTK windows that used to be performed.
2023-04-03 15:25:19 +02:00
ManoloFLTK
cebf6b5368 Wayland: update comment about differences between compositors
Mutter goes back to what it did in earlier versions.
Fortunately, FLTK can handle this change.
2023-04-03 11:20:26 +02:00
ManoloFLTK
7e08bd7e26 Wayland + Weston: fix focus loss after click on titlebar 2023-04-03 08:21:07 +02:00
ManoloFLTK
e239d00cad Fix "Wayland: non-resizable windows are positioned in the wrong place" (#711) 2023-04-02 18:05:36 +02:00
ManoloFLTK
70252b0c1a Improve Wayland support of Fl::event_key(int)
Key pressed when the Wayland window acquires focus are now detected.
2023-03-29 12:53:39 +02:00
ManoloFLTK
a681aa803c Complete explanatory comment about Weston compositor 2023-03-29 09:30:30 +02:00
ManoloFLTK
43c4bd1031 Wayland: improve switching window to/from fullscreen mode
The call to Fl_Window::fullscreen() can be made before or after the window is show()'n
Tested compositors: Mutter, Plasma, Weston.
2023-03-29 08:49:14 +02:00
ManoloFLTK
5e101bc00c Wayland + Plasma: fix switching fullscreen mode for borderless window 2023-03-28 14:39:11 +02:00
ManoloFLTK
43a9c70d8c Wayland: fix regression in test/fullscreen
Commit e918d94 to fix issue #708 broke turning back from fullscreen state
for borderless window, visible in test/fullscreen.
2023-03-28 05:10:52 +02:00
Albrecht Schlosser
5a4e7caa54 Windows: use SHGetFolderPathW() for application data folder (#710)
See GitHub issue #710: "Fl_Preferences not stored on Windows 10"

Summary: don't use the undocumented registry key "Shell Folders",
use function SHGetFolderPathW() instead although this function is
meanwhile deprecated (but available since Windows XP).

Note: tested with 32-bit build running on Windows XP (works).
2023-03-27 19:51:09 +02:00
ManoloFLTK
6aa6866d80 Wayland: move "struct seat" inside class Fl_Wayland_Screen_Driver 2023-03-27 11:31:26 +02:00