Commit Graph

94 Commits

Author SHA1 Message Date
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
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
bruvzg 5b9984b5a2
Add `audio/general/text_to_speech` project setting to enable/disable TTS. 2023-05-18 20:16:03 +03:00
Rémi Verschelde 265c70a369
Merge pull request #75142 from bruvzg/scr
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
2023-05-16 10:48:16 +02:00
Ninni Pipping 71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
Rémi Verschelde 0c7c35bdc6
Merge pull request #76924 from stolk/fixuninit
x11: Do not use uninitialized timestamps.
2023-05-11 11:48:23 +02:00
Rémi Verschelde a1db628eb3
Merge pull request #76856 from HolonProduction/macos-specific
Don't expose macOS and iOS specific display servers.
2023-05-11 11:47:58 +02:00
HolonProduction ddcb2d157d Don't expose mac specific display server. 2023-05-11 11:02:08 +02:00
Bram Stolk 7a2e350d2b x11: Do not use uninitialized timestamps.
Fixes #76922
2023-05-10 11:27:14 -07:00
Christopher Foo e4d052e284
Ensure WindowData minimized/maximized are mutually exclusive
The window manager can break the assumption that
fullscreen/maximized/minimized values are mutually exclusive.
2023-05-08 20:23:45 -04:00
Hugo Locurcio 303bf247de
Add support for VRAM-compressed custom mouse cursor images
No memory is actually saved when using this, so lossless modes are
still recommended as they look better and load faster.
2023-04-21 18:01:47 +02:00
bruvzg 520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method. 2023-04-19 08:54:53 +03:00
Rémi Verschelde 63d17df83e
Merge pull request #74978 from bruvzg/linux_version_check
[Linux/BSD] Add dynamically loaded library version checks.
2023-04-18 23:38:51 +02:00
Yuri Sizov f5f796b0b7
Merge pull request #76040 from MightiestGoat/fix-sliding-window-linux-via-tracking-parent
Fix the sliding window problem in linux occur due to reparenting of the window due to decoration.
2023-04-14 13:11:36 +02:00
mightygoat 932afc3bf5 Fix the sliding window problem in linux occur due to reparenting of the window during the decoration via tracking the parent of the window 2023-04-14 00:45:34 +05:30
Kvel2D 41f0a523db Fix custom cursor using atlas texture
Remove image.is_valid() check
There is already a fail condition and image is not used before that
Move up texture_is_valid() check
2023-04-11 19:16:24 +02:00
Sabrehull d4b7466266
[X11] Fix layout bug in `keyboard_get_keycode_from_physical` 2023-03-29 15:18:31 +02:00
bruvzg ab94024ce1
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows. 2023-03-20 14:58:21 +02:00
bruvzg 09465f3fe6
Remove (or make verbose only) various debug prints. 2023-03-20 08:14:18 +02:00
bruvzg bed46f723c
[Linux/BSD] Add dynamically loaded library version checks. 2023-03-20 08:10:56 +02:00
Ninni Pipping a419325753 Fix clearing custom cursor 2023-03-10 11:59:49 +01:00
Hugo Locurcio ddc9cc3e49
Tweak command syntax in Vulkan renderer failure message
This quotes the executable name so that copying it always works
(even if the path contains spaces).

The command is also indented from the rest of the text and is
no longer single-quoted, as that can prevent the command from
running if the line is copied in its entirety (with the quotes).
2023-03-08 22:28:23 +01:00
Rémi Verschelde 511dac838b
Merge pull request #74598 from bruvzg/x11_kc
[Linux/X11] Add some missing keycodes/scancodes.
2023-03-08 14:06:58 +01:00
bruvzg 5d35c600d5
[Linux/X11] Add some missing keycodes/scancodes. 2023-03-08 12:13:41 +02:00
Rémi Verschelde 8325320192
Merge pull request #74563 from clayjohn/X11-context
Propogate errors when creating an OpenGL context fails in X11
2023-03-08 08:58:35 +01:00
clayjohn e7ea3ef531 Propogate errors when creating an OpenGL context fails in X11 2023-03-07 11:12:21 -08:00
Rindbee 91e460d500 Fix broken shortcut key input 2023-03-07 16:06:38 +08:00
Rémi Verschelde 5f2137a050
Merge pull request #74087 from bruvzg/get_screen_px
[DisplayServer] Implement screen_get_pixel method for LinuxBSD/X11, macOS and Windows.
2023-03-06 21:58:58 +01:00
bruvzg 8a675f3824 [Linux/X11] Check if required xkb functions exist before using it. 2023-03-02 10:25:50 +02:00
bruvzg e7647b5ee5
[DisplayServer] Implement screen_get_pixel method for LinuxBSD/X11, macOS and Windows. 2023-03-01 09:32:23 +02:00
Rémi Verschelde 9e6cb51939
Merge pull request #73752 from bruvzg/x11_quote_left
Fix X11 QUOTELEFT / SECTION physical key mapping.
2023-02-24 14:11:25 +01:00
bruvzg 693afe95d3
Fix X11 QUOTELEFT / SECTION physical key mapping. 2023-02-22 13:16:58 +02:00
bruvzg fdf56a2fc2 [Input] Use BRACKET_ instead of BRACE_ for physical keys. 2023-02-22 12:39:30 +02:00
Rémi Verschelde f84479fe5a
Merge pull request #72877 from bruvzg/x11_on_top
[X11] Fix initial "on top" window state.
2023-02-17 16:21:13 +01:00
bruvzg 853f0eae58
[X11] Fix initial "on top" window state. 2023-02-17 16:08:26 +02:00
Rémi Verschelde 4574b97752
Fix crash with bogus shape index to DisplayServer.cursor_set_custom_image()
Fixes #66605.
2023-02-17 14:17:37 +01:00
bruvzg dd068794c3
[Linux] Make SO wrapper usage optional. 2023-02-16 16:38:47 +02:00
Thomas ten Cate 8a17f94ab2 Some fixes for initial window position and size
- X11: set main window position and size hints correctly
- All platforms: update minimum and maximum size of main window at
  startup

Fixes #70984
2023-02-14 12:15:14 +01:00