Rémi Verschelde
f220d46cdc
Merge pull request #80231 from romlok/input-key-location
...
Support detecting and mapping ctrl/alt/shift/meta by their left/right physical location
2024-01-29 13:15:42 +01:00
Mel Collins
8406e60522
Add InputEventKey.location to tell left from right
...
This adds a new enum `KeyLocation` and associated property
`InputEventKey.location`, which indicates the left/right location of key
events which may come from one of two physical keys, eg. Shift, Ctrl.
It also adds simulation of missing Shift KEYUP events for Windows.
When multiple Shifts are held down at the same time, Windows natively
only sends a KEYUP for the last one to be released.
2024-01-26 14:42:28 +01:00
bruvzg
a8f521bcad
[Native File Dialog] Add support for adding custom options to the dialogs.
...
Add support for adding custom options (checkboxes and optionboxes) to the dialogs (both native and built-in).
2024-01-24 15:00:31 +02:00
David Snopek
64a52e08fe
[X11] Don't re-set input focus if the given window already has it
2024-01-18 08:52:03 -06:00
Rémi Verschelde
4aff0ab5d5
Merge pull request #86441 from dsnopek/mequam-x11-focus-grab
...
[X11] Fix Godot stealing focus on alternative window managers
2024-01-18 09:34:18 +01:00
Rémi Verschelde
03767fbf3b
Merge pull request #86446 from reduz/transient-to-focused
...
Implement a `transient_to_focused` Window mode
2024-01-15 13:25:00 +01:00
Juan Linietsky
15144c24bd
Implement a transient_to_focused mode
...
This intends to be the correct way to handle non-child windows becoming covered by the current window when becoming focused.
Enabling this property on select windows, they will become transient to the currently focused one when becoming visible.
This deprecates the "unparent_when_invisible" function introduced by #76025 .
2024-01-14 18:51:44 +01:00
kobewi
0e8f90f4c8
Update deferred calls to use Callables
2024-01-09 16:11:47 +01:00
mequam
40d69c25d5
[X11] Fix Godot stealing focus on alternative Window Managers
2024-01-09 08:58:59 -06:00
Yuri Sizov
3a8524dd92
Merge pull request #83452 from RandomShaper/rd_common
...
Split `RenderingDevice` into API-agnostic and `RenderingDeviceDriver` parts
2023-12-20 20:09:18 +01:00
Pedro J. Estébanez
12a519bae2
Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
...
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
Yuri Sizov
aee8a3bada
Merge pull request #75489 from bruvzg/init_pos_usable
...
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect.
2023-12-19 20:32:10 +01:00
bruvzg
b02cf351f3
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect.
2023-12-04 07:56:33 +02:00
HolonProduction
bf45d3ae24
X11: Send IME update notification deferred
2023-11-24 13:18:50 +01:00
bruvzg
f3d4f5a77e
[X11] Add fallback from desktop GL to GLES, suppress PRIME detector error spam.
2023-11-06 12:40:44 +02:00
Setadokalo
1d9ec3caa3
Fix freeze when requesting clipboard image from our own window
2023-10-25 18:32:40 -05:00
Brayden Harlon
085255bd0e
Improved X11 screen_get_refresh_rate performance
2023-10-24 11:25:51 -07:00
Rémi Verschelde
2f33c2b20e
Merge pull request #81439 from Setadokalo/clipboard_image
...
Implement `clipboard_get`/`has_image` for X11
2023-10-20 15:06:42 +02:00
Setadokalo
3b5a9e31bb
Implement clipboard_get/has_image for X11
2023-10-20 02:59:10 -05:00
Kacper Gibas
8eb32f9aad
Fix unused variables warning when touch
is disabled
2023-10-13 16:04:08 +02:00
A Thousand Ships
f18aa00e85
Replace ERR_FAIL_COND
with ERR_FAIL_NULL
where applicable
2023-10-08 17:23:33 +02:00
kobewi
09b30be86d
Add vararg call() method to C++ Callable
2023-10-05 11:35:29 +02:00
bruvzg
af00c4a54a
[X11] Add support for using EGL/GLES instead of GLX.
2023-10-04 14:15:36 +03:00
Rémi Verschelde
31dbbc2c5a
Merge pull request #80952 from bruvzg/nfdlg_refocus
...
[Native File Dialogs] Refocus last focused window on close.
2023-10-03 17:13:58 +02:00
bruvzg
1887a9df19
[macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
...
Co-authored-by: Riteo <riteo@posteo.net>
2023-09-21 14:21:00 +03:00
A Thousand Ships
3565d1bf7e
[Drivers,Platform] Replace ERR_FAIL_COND
with ERR_FAIL_NULL
where applicable
2023-09-12 20:13:32 +02:00
bruvzg
2e1f48ff6e
[Native File Dialogs] Refocus last focused window on close.
2023-08-24 09:34:58 +03:00
Rémi Verschelde
c72b851dfb
Merge pull request #80104 from bruvzg/freedesktop_native_file_dialog
...
[Linux/Freedesktop] Implement native file selection dialog support.
2023-08-17 11:23:00 +02:00
Rémi Verschelde
9a48b14a2d
Merge pull request #80036 from PorkrollPosadist/fix-wayland-window-behavior
...
Use EWMH for `DisplayServerX11::_window_minimize_check()` implementation
2023-08-17 11:22:36 +02:00
bruvzg
6cc314e0fa
[Linux/Freedesktop] Implement native file selection dialog support.
2023-08-17 10:56:16 +03:00
Rémi Verschelde
49f0d8cee3
Merge pull request #80279 from Sauermann/fix-x11-mouse-window-event-crash
...
Track hovered `Window` in `DisplayServerX11`
2023-08-10 00:43:00 +02:00
Markus Sauermann
a7c5849f98
Track hovered Window
in DisplayServerX11
...
Send mouse-entered/exited window-events only when necessary
2023-08-09 12:20:23 +02:00
Rémi Verschelde
6a0410bbc2
Merge pull request #80240 from bruvzg/x11_ext_checks
...
[X11] Do not fail DisplayServer init if non-essential extensions are missing.
2023-08-07 14:50:47 +02:00
bruvzg
e26a6c36c8
Fix native popups auto-closing when interacting with non-client area.
2023-08-07 10:01:48 +03:00
bruvzg
acff87ffda
[X11] Do not fail DisplayServer init if non-essential extensions are missing.
2023-08-04 10:58:14 +03:00
Markus Sauermann
8c1ce404d7
Fix crash on Windows when closing Window
...
Send `WINDOW_EVENT_MOUSE_EXIT` when a window is destroyed.
Ensure, that on Windows, the event_callback is still valid during
destroying the `Window`.
2023-08-02 00:17:25 +02:00
PorkrollPosadist
5666656d42
Use EWMH for DisplayServerX11::_window_minimize_check() implementation
2023-07-31 16:35:18 -04:00
Hendrik Brucker
7e21eb7e00
Extract and reorganize texture resource classes
2023-07-14 20:04:21 +02:00
Yuri Sizov
ff689003a5
Merge pull request #77993 from bruvzg/key_lbl_from_p
...
Implement DisplayServer.keyboard_get_label_from_physical method.
2023-07-12 21:02:37 +02:00
Yuri Sizov
2b47f6715e
Merge pull request #78437 from bruvzg/set_icon
...
Add error checks and harmonize behavior of the `set_icon` method.
2023-07-12 15:09:14 +02:00
Rémi Verschelde
dcd16a5750
Linux: Fix build with use_sowrap=no
and various warnings/errors
2023-07-10 14:34:01 +02:00
bruvzg
9c5a0c6c10
Add error checks and harmonize behavior of the set_icon method.
2023-07-03 13:48:28 +03:00
Rémi Verschelde
356a602186
Merge pull request #74511 from AThousandShips/win_cursor_fix
...
Fix clearing custom cursor
2023-06-20 00:00:57 +02:00
bruvzg
28db3c7158
[DisplayServer] Add method to check if native window is focused.
2023-06-16 10:27:52 +03:00
Rémi Verschelde
9e4315bb50
Style: Harmonize header includes in platform ports
...
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:
Includes from the platform port or module should be included with relative
paths (relative to the root folder of the modular component, e.g.
`platform/linuxbsd/`), in their own section before Godot's "core" includes.
The `api` and `export` subfolders also need to be handled as self-contained
(and thus use relative paths for their "local" includes) as they are all
compiled for each editor platform, without necessarily having the api/export
matching platform folder in the include path.
E.g. the Linux editor build will compile `platform/android/{api,export}/*.cpp`
and those need to use relative includes for it to work.
2023-06-08 15:19:19 +02:00
bruvzg
08e8ff371d
Implement keyboard_get_label_from_physical method.
2023-06-08 10:13:31 +03:00
Rémi Verschelde
2ae5a0704a
X11: Fix vformat ambiguous int types for GCC 10 (again)
2023-06-07 14:57:51 +02:00
Rémi Verschelde
0010b34a37
Merge pull request #75099 from mxnemu/add-default-x11-error-handler
...
[Linux/X11] Add a default error handler for X11 to avoid crashes.
2023-06-05 18:04:49 +02:00
nee
b13c82e964
[Linux/X11] Add a default error handler for X11 to avoid crashes.
...
The default behaviour for X11 is to crash even on non-fatal errors
when there is no error handler set. This change allows the window to
stay open and may enable users to save their work when things go
wrong.
This acts as a workaround for #65425 and #68471
2023-06-05 17:28:21 +02:00
Rémi Verschelde
9dc286967f
X11: Fix vformat ambiguous int types for GCC 10
...
The build would fail with GCC 10 from our Linux SDK used for official builds.
2023-05-23 11:27:28 +02:00