Pāvels Nadtočajevs
73faa509ea
Unset last focused window when it is destroyed.
2024-12-20 09:40:25 +07:00
Hilderin
9d2a4c03be
Embedding game process in editor
2024-12-18 17:52:42 +07:00
Thaddeus Crews
4a1a7addd1
Merge pull request #100179 from zaevi/fix_transient_topmost
...
[Windows & macOS] Fix popup window shows behind `always_on_top` parent.
2024-12-11 17:35:53 +07:00
bruvzg
9fece033ab
[macOS, Windows] Add support for excluding windows from a screenshot.
2024-12-10 11:00:13 +07:00
Zae
2211b1bf91
Fix popup shows behind always_on_top parent.
2024-12-10 01:35:25 +07:00
Pāvels Nadtočajevs
84650f2018
Implement `DisplayServer.beep`.
2024-12-03 12:43:26 +07:00
Pāvels Nadtočajevs
b248d66265
[macOS] Use native window drag for the custom editor title bars.
2024-12-02 17:40:27 +07:00
rune-scape
d58b2e879f
Get rid of easily removable uses of const_cast
2024-12-01 17:50:13 +07:00
Anish Mishra
0dfd18c84b
[DisplayServer] Add feature flag for native file dialog access to `user/res` and `options`
2024-10-30 14:13:43 +07:00
Summersay415
6d14cd6ff9
Fix fallbacks to OpenGL
2024-10-28 22:57:19 +07:00
Thaddeus Crews
07e759b74a
Merge pull request #97771 from dsnopek/openxr-linux-egl
...
OpenXR: Add support for Wayland on Linux
2024-10-25 13:04:08 +07:00
David Snopek
256699ee31
OpenXR: Add support for Wayland on Linux
2024-10-04 11:44:05 +07:00
bruvzg
d2f3725120
Fix window_set_current_screen for maximized windows.
2024-10-03 10:38:32 +07:00
SheepYhangCN
3b839347df
Added fallback_to_opengl3
2024-09-20 06:10:05 +07:00
bruvzg
c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info.
2024-09-01 18:22:40 +07:00
bruvzg
f8a6c0e8ab
Enable fallback from ANGLE to native and improve ANGLE error messages.
2024-08-25 21:19:54 +07:00
Stuart Carnie
2d0165574d
Add Metal support for macOS (arm64) and iOS
2024-08-20 12:11:06 +07:00
Stuart Carnie
41875d8aef
macOS/iOS: Fix various warnings when targeting newer SDKs
2024-08-20 11:55:21 +07:00
Alvin Wong
97aa278edb
Pass window exclusive and transient properties for subwindow creation
...
On Windows this allows to avoid having to change the owner of the window
after it has been created, which in rare circumstances may cause the
window to bug out.
2024-07-25 00:27:27 +07:00
bruvzg
eddc9cea11
[NativeMenu] Do not auto toggle check/multi-state items. Add `is_native_menu` method.
2024-07-08 11:20:28 +07:00
Rémi Verschelde
b80e591448
Merge pull request #92843 from anniryynanen/tooltip-in-popup
...
Stop color picker tooltip from stealing input events
2024-06-10 16:11:52 +07:00
Rémi Verschelde
a139cd611a
Merge pull request #92826 from bruvzg/nat_icon_checks
...
Improve native menu and status indicator icons conversion and checks.
2024-06-07 23:30:39 +07:00
Rémi Verschelde
e52658643d
Merge pull request #92702 from kleonc/cursor_image_from_atlas_texture_fix
...
Fix creating cursor image from `AtlasTexture`
2024-06-07 23:29:57 +07:00
Anni Ryynänen
ae1e2182ec
Stop color picker tooltip from stealing input events
...
Input events go to the tooltip because it's added to `popup_list` in
DisplayServer `popup_open`. I think there's no harm in tooltips being omitted
from the list, so this commit blocks non-popup windows from being added if they
have `FLAG_NO_FOCUS` and `FLAG_MOUSE_PASSTHROUGH`.
I'm not happy with this way of detecting tooltips. It'll also catch other
windows where this behavior may or may not be wanted.
I thought about adding `FLAG_TOOLTIP`, but went with the smaller change for
now.
Fixes #79500 .
2024-06-06 20:00:05 +07:00
bruvzg
28ec2240c4
Improve native menu and status indicator icons conversion and checks.
2024-06-06 07:46:09 +07:00
kleonc
91e995e704
Fix creating cursor image from AtlasTexture
2024-06-05 01:44:05 +07:00
bruvzg
5168647530
Use current mouse button state instead of saved values.
2024-05-31 15:50:14 +07:00
Rémi Verschelde
c98fef08bf
Merge pull request #89033 from bruvzg/doc_end_err
...
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:48:42 +07:00
bruvzg
714effdf07
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:36:54 +07:00
bruvzg
1a40cda95e
[macOS, X11] Fix duplicate close requests.
2024-05-28 09:41:04 +07:00
bruvzg
fc89a0c118
Fix build with `vuklan=no` and `d3d12=no` after #91505 .
2024-05-25 21:08:50 +07:00
bruvzg
628c81d2d9
[DisplayServer] Add method to check if window transparency is supported and enabled.
2024-05-23 15:23:18 +07:00
Paulo Poiati
a3769c0edc
Properly set window class in Wayland
2024-05-22 10:42:12 +07:00
Pedro J. Estébanez
fc08eca524
DisplayServer: Avoid deadlocks while issuing input events and recursive main loop iterations
2024-05-08 17:41:40 +07:00
bruvzg
e5205e589f
[StatusIndicator] Add method to get indicator icon screen rect.
2024-05-02 14:39:33 +07:00
A Thousand Ships
308dbb8c63
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
...
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +07:00
Rémi Verschelde
85062e37ef
Merge pull request #89588 from bruvzg/status_ind_menu_direct
...
[StatusIndicator] Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly.
2024-05-01 09:54:44 +07:00
A Thousand Ships
31e7ee63f2
Fix unsafe uses of `Callable.is_null()`
...
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +07:00
Pedro J. Estébanez
c28f5901c7
Polish interaction between windowing, input and rendering
...
- Adapt GL make/release API to the current architecture.
- Fix DisplayServer being locked while dispatching input (prevent deadlocks).
2024-04-10 18:47:42 +07:00
Rémi Verschelde
61b56f6019
Merge pull request #90131 from rodrigodias4/fix86495
...
Fix macOS menu bar & dock stop appearing after closing sub-window
2024-04-04 14:37:24 +07:00
Rodrigo Dias
a4f2e5210f
Fix MacOS menu bar & dock stop appearing after closing sub-window
...
When the progress dialog task for saving a scene ends, or when closing the "Open project" dialog, the DisplayServerMacOS::update_presentation_mode() method now restores those fullscreen functionalities with the flags NSApplicationPresentationAutoHideMenuBar and NSApplicationPresentationAutoHideDock, whereas before it would reset to NSApplicationPresentationDefault, which didn't allow that.
Fixes #86495
2024-04-01 21:57:58 +07:00
Jiali Qiu
d78cb43ec2
Fix issue with moving maximized window in macOS
...
When opening the Godot editor and maximizing the window by double-clicking the
title bar, users are unable to drag the window with the mouse.
With this commit, `window_set_position` allows the maximized window to be moved
by dragging it. Only the fullscreen window won't be allowed to move.
Fixes #78758 .
2024-04-01 17:07:24 +07:00
Rémi Verschelde
3881778ebc
Merge pull request #89953 from bruvzg/macos_menu_shortcuts
...
[macOS] Fix non-global native menu shortcuts.
2024-03-28 10:47:34 +07:00
bruvzg
37e0be37d8
[macOS] Fix non-global native menu shortcuts.
2024-03-27 22:26:44 +07:00
bruvzg
dc01658ee9
[DisplayServer] Add separate feature flags for different native dialog types.
2024-03-26 15:18:06 +07:00
A Thousand Ships
79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-20 13:47:42 +07:00
bruvzg
0587a1d217
[StatusIndicator] Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly.
2024-03-20 11:56:07 +07:00
Thaddeus Crews
3b3e2374c9
clang-tidy: Enforce `modernize-use-nullptr`
2024-03-12 10:59:53 +07:00
bruvzg
c65a667924
Move `global_menu_*` methods to a separate `NativeMenu` class.
2024-03-04 23:41:41 +07:00
Rémi Verschelde
b0b9c66a7f
Merge pull request #88987 from bruvzg/macos_12_depr_warn
...
[macOS] Fix some deprecation warnings.
2024-02-29 13:55:08 +07:00
Rémi Verschelde
6d9a529c87
Merge pull request #88970 from KoBeWi/ImageCursor2D
...
Improve `cursor_set_custom_image()` method
2024-02-29 13:54:53 +07:00
bruvzg
e15a2ff1db
[macOS] Fix some deprecation warnings.
2024-02-28 23:38:29 +07:00
kobewi
3aeb4a5542
Improve cursor_set_custom_image() method
2024-02-28 20:32:25 +07:00
Rémi Verschelde
3a08c646ee
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0
2024-02-28 14:25:35 +07:00
bruvzg
a0084803b4
[macOS/Windows] Fix application indicator destruction.
2024-02-27 22:19:47 +07:00
bruvzg
606a475bb5
[macOS] Ignore window decorations in confined mouse mode to match other platforms.
2024-02-18 23:53:45 +07:00
Rémi Verschelde
c4869cf15a
Merge pull request #88274 from bruvzg/macos_hdr_picker
...
[macOS] Fix color picker on HDR screens.
2024-02-15 17:35:48 +07:00
passivestar
757a691b5e
Fix `Ctrl+Tab` and `Ctrl+Shift+Tab` on macOS
2024-02-15 02:49:31 +07:00
Rémi Verschelde
b6dee8850b
Merge pull request #87384 from bruvzg/sys_base_color
...
Add method to get "base" system UI color and system theme change callback.
2024-02-13 23:43:21 +07:00
bruvzg
ee53ae28df
Add method to get "base" system UI color (macOS/Windows) and system theme change callback.
2024-02-13 18:38:53 +07:00
bruvzg
deffe6a3be
[macOS] Add support for native help menu search callbacks, integrate editor help.
2024-02-13 18:37:37 +07:00
Rémi Verschelde
b50001ecfe
Merge pull request #87999 from bruvzg/metal_layer
...
[macOS / iOS] Switch Vulkan init to `VK_EXT_metal_surface` extension.
2024-02-13 17:24:15 +07:00
bruvzg
f458943455
[macOS / iOS] Switch Vulkan init to VK_EXT_metal_surface extension.
2024-02-13 16:57:02 +07:00
bruvzg
8da36031e4
Implement support for application status indicators (tray icons).
2024-02-13 15:59:35 +07:00
bruvzg
d9b7075ba6
[macOS] Fix color picker on HDR screens.
2024-02-13 11:24:43 +07:00
Dario
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 +07:00
bruvzg
112f489449
[macOS] Fix changing main menu item names.
2024-02-03 21:12:48 +07:00
Stuart Carnie
8f6d4eaa31
use autorelease pools around main loop
...
Reduces memory usage considerably
2024-02-02 07:06:53 +07:00
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 +07: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 +07: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 +07: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 +07: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 +07: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 +07: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 +07:00
bruvzg
0d44b50520
[macOS] Add default Window and Help menus, allow special menu customization.
2023-12-13 23:20:05 +07:00
bruvzg
b02cf351f3
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect.
2023-12-04 07:56:33 +07:00
HolySkyMin
5962e5278c
Fix IME key event being erased in macOS
...
Fixes Korean IME behavior which calls insertText and setMarkedText at the same time.
2023-11-29 18:17:57 +07:00
bruvzg
6b25204575
[macOS] Fix transparent and borderless flags interaction with full-screen mode.
2023-11-14 08:36:32 +07:00
Rémi Verschelde
5a5b456fca
Merge pull request #84774 from akien-mga/fix-TTR-in-ERR-WARN-prints
...
Don't use TTR/RTR for ERR/WARN prints
2023-11-12 22:59:38 +07:00
Rémi Verschelde
15b8185c68
Don't use TTR/RTR for ERR/WARN prints
...
We don't translate those, only editor strings are translated.
2023-11-12 12:00:55 +07:00
Rémi Verschelde
ba713c80df
Fix various typos with codespell
...
Using 2.2.7.dev51+geb4a58fe.
2023-11-11 23:01:24 +07:00
Rémi Verschelde
03d97977b1
Merge pull request #84649 from bruvzg/mac_fs_fs_switch
...
[macOS] Fix fullscreen <-> exclusive fullscreen transition.
2023-11-09 20:05:09 +07:00
bruvzg
4fda7e14be
[macOS] Fix fullscreen <-> exclusive fullscreen transition.
2023-11-09 08:02:56 +07:00
bruvzg
f3d4f5a77e
[X11] Add fallback from desktop GL to GLES, suppress PRIME detector error spam.
2023-11-06 12:40:44 +07:00
bruvzg
4c74c7d11a
[macOS] Improve ANGLE support detection.
...
Try opening EGL display when checking if ANGLE is supported.
2023-11-01 08:34:35 +07:00
bruvzg
590c353707
[macOS] Fallback to native OpenGL renderer if ANGLE initialization failed. Remove platform specific renderer config values from docs.
2023-10-21 22:09:35 +07:00
bruvzg
b52826bf55
Add error messages to the native menu and file dialogs callback.
2023-10-14 18:10:39 +07:00
bruvzg
6371cc3d69
[macOS] Fix crash when using system default menu shortcuts.
2023-10-13 10:12:44 +07:00
bruvzg
3620d612ba
[macOS] Use occlusionState instead of isOnActiveSpace to determine when window is drawable.
2023-10-10 12:20:06 +07:00
A Thousand Ships
f18aa00e85
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-08 17:23:33 +07:00
bruvzg
abbdc99821
[macOS] Fix ambiguous method call with older SDKs.
2023-10-05 22:12:24 +07:00
kobewi
09b30be86d
Add vararg call() method to C++ Callable
2023-10-05 11:35:29 +07:00
Rémi Verschelde
d5db0e5032
Merge pull request #81218 from bruvzg/_temp_fs
...
[Native File Dialogs] Improve filter list handling, add selected filter to the callback.
2023-10-04 15:34:16 +07:00
bruvzg
d1aaa914f3
[macOS] Add `about_to_open` and `popup_hide` callback for the global menus, move part of logic to the PopupMenu to allow live menu modification.
2023-10-04 09:49:51 +07:00
bruvzg
43e4708dff
[Native File Dialogs] Improve filter list handling, add selected filter to the callback.
2023-10-03 19:26:16 +07:00
Rémi Verschelde
be6a09b6ec
Merge pull request #82423 from bruvzg/mac_ex_fs
...
[macOS] Check all exclusive fullscreen windows before setting presentation mode.
2023-10-03 17:23:18 +07:00
Rémi Verschelde
124f8983b8
Merge pull request #82357 from bruvzg/mac_fix_bl
...
[macOS] Fix borderless mode on macOS 13.6+.
2023-10-03 17:22:29 +07: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 +07:00
bruvzg
72e2e47059
[DisplayServer] Add method to estimate window title bar size.
2023-10-03 16:13:52 +07:00