Commit Graph

194 Commits

Author SHA1 Message Date
f710781b16 Prevent pending input event callbacks from erasing the window in the middle of a loop. 2025-02-18 15:26:13 +02:00
c0eec97e98 macOS: Implement fallback from Metal to Vulkan for x86_64 2025-02-10 13:23:46 +01:00
47f553ae0b Delegate to the DisplayServer the task of handling mouse_mode
- Add `MOUSE_MODE_MAX` and various index checks
2025-01-28 11:22:27 -05:00
b252867145 [macOS/Windows] Add Emoji & Symbols context menu item to LineEdit/TextEdit to show system character picker. 2025-01-10 09:25:34 +02:00
989161e117 Fix color picking on linux. 2025-01-08 10:32:25 +02:00
7f0b4e58b0 Implement DisplayServer.window_start_resize. 2025-01-07 07:58:02 +02:00
e1f129cb52 Support MIME types in file dialog filters on macOS and Linux. 2025-01-04 22:05:35 +02:00
eaed664bce Merge pull request #100637 from bruvzg/unset_fw
Unset last focused window when it is destroyed.
2024-12-20 23:57:13 +01:00
73faa509ea Unset last focused window when it is destroyed. 2024-12-20 09:40:25 +02:00
9d2a4c03be Embedding game process in editor 2024-12-18 17:52:42 -05:00
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 -06:00
9fece033ab [macOS, Windows] Add support for excluding windows from a screenshot. 2024-12-10 11:00:13 +02:00
Zae
2211b1bf91 Fix popup shows behind always_on_top parent. 2024-12-10 01:35:25 +08:00
84650f2018 Implement DisplayServer.beep. 2024-12-03 12:43:26 +02:00
b248d66265 [macOS] Use native window drag for the custom editor title bars. 2024-12-02 17:40:27 +02:00
d58b2e879f Get rid of easily removable uses of const_cast 2024-12-01 17:50:13 -08:00
0dfd18c84b [DisplayServer] Add feature flag for native file dialog access to user/res and options 2024-10-30 14:13:43 +05:30
6d14cd6ff9 Fix fallbacks to OpenGL 2024-10-28 22:57:19 +07:00
07e759b74a Merge pull request #97771 from dsnopek/openxr-linux-egl
OpenXR: Add support for Wayland on Linux
2024-10-25 13:04:08 -05:00
256699ee31 OpenXR: Add support for Wayland on Linux 2024-10-04 11:44:05 -05:00
d2f3725120 Fix window_set_current_screen for maximized windows. 2024-10-03 10:38:32 +03:00
3b839347df Added fallback_to_opengl3 2024-09-20 06:10:05 +08:00
c273786758 Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info. 2024-09-01 18:22:40 +03:00
f8a6c0e8ab Enable fallback from ANGLE to native and improve ANGLE error messages. 2024-08-25 21:19:54 +03:00
2d0165574d Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +02:00
41875d8aef macOS/iOS: Fix various warnings when targeting newer SDKs 2024-08-20 11:55:21 +02:00
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 +08:00
eddc9cea11 [NativeMenu] Do not auto toggle check/multi-state items. Add is_native_menu method. 2024-07-08 11:20:28 +03:00
b80e591448 Merge pull request #92843 from anniryynanen/tooltip-in-popup
Stop color picker tooltip from stealing input events
2024-06-10 16:11:52 +02:00
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 +02:00
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 +02:00
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 +03:00
28ec2240c4 Improve native menu and status indicator icons conversion and checks. 2024-06-06 07:46:09 +03:00
91e995e704 Fix creating cursor image from AtlasTexture 2024-06-05 01:44:05 +02:00
5168647530 Use current mouse button state instead of saved values. 2024-05-31 15:50:14 +03:00
c98fef08bf Merge pull request #89033 from bruvzg/doc_end_err
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:48:42 +02:00
714effdf07 [DisplayServer] Add error messages and descriptions to callbacks. 2024-05-28 17:36:54 +03:00
1a40cda95e [macOS, X11] Fix duplicate close requests. 2024-05-28 09:41:04 +03:00
fc89a0c118 Fix build with vuklan=no and d3d12=no after #91505. 2024-05-25 21:08:50 +03:00
628c81d2d9 [DisplayServer] Add method to check if window transparency is supported and enabled. 2024-05-23 15:23:18 +03:00
a3769c0edc Properly set window class in Wayland 2024-05-22 10:42:12 -03:00
fc08eca524 DisplayServer: Avoid deadlocks while issuing input events and recursive main loop iterations 2024-05-08 17:41:40 +02:00
e5205e589f [StatusIndicator] Add method to get indicator icon screen rect. 2024-05-02 14:39:33 +03:00
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 +02:00
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 +02:00
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 +02:00
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 +02:00
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 +02:00
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 +01:00
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 +01:00