Commit Graph

6533 Commits

Author SHA1 Message Date
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
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
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
e82e709bcc Multiline Fl_Input: fix move up/down in non ASCII text 2023-04-26 08:25:32 +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
f8f7e101f3 Remove unnecessary Fl_Window_Driver::flush_Fl_Window() 2023-04-21 14:33:26 +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
ZJUGKC
385cabf3aa
Add const qualifiers to can_undo and can_redo (#720) 2023-04-17 16:12:03 +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
Albrecht Schlosser
ac76239db7 Remove scheme specific initialization from Fl_Tree_Prefs
This initialization would prevent changing the 'selectbox' type
automatically when changing the FLTK scheme.

It would also require to set the FLTK scheme *before* the constructor
of Fl_Tree_Prefs (i.e. Fl_Tree) is executed which is unexpected and
error prone for user code.

It is up to the user program to set another boxtype after the
constructor if needed.
2023-04-15 20:31:35 +02:00
ManoloFLTK
1a7ed133d0 Fix for "Wayland: heap-use-after-free after popup/pulldown" (#719) 2023-04-14 19:09:38 +02:00
ManoloFLTK
7091df8c93 Restore building with macOS SDK 10.9 and earlier 2023-04-14 17:57:33 +02:00
Matthias Melcher
e18b5353cd Fixed leak in Fl_Text_Buffer #716 2023-04-14 16:54:11 +02:00
Matthias Melcher
afd3fde5de Memory leak in Input_ #716 2023-04-14 16:32:36 +02:00
ManoloFLTK
7e2defc10d macOS: remove calls to deprecated API 2023-04-14 15:24:18 +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
7d8195140c Add public accessor methods Fl_Widget::needs_keyboard()
- add public getter and setter for
- document the new methods
- document that these methods are not yet used internally
- remove unnecessary friend declaration 'NEEDS_KEYBOARD' flag
- simplify Fl::focus(Fl_Widget *) using the new methods.
2023-04-11 16:38:24 +02:00
Albrecht Schlosser
3835b72e2f Fix CMake generation for minimal CMake version (3.2.3)
Unfortunately `execute_process(COMMAND pkg-config ...)` used for
CMake versions lower than 3.4 appends a trailing newline ('\n')
to the output variable which must be removed.

Replace double slash '//' returned by pkg-config with a single '/'
for consistency (applies to all CMake versions).

Tested with CMake 3.2.3 but we should probably raise the minimal
CMake version to a more recent version in the future.
2023-04-10 16:19:09 +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