Commit Graph

199 Commits

Author SHA1 Message Date
713a1ba554 Style: Standardize Obj-C #import syntax 2025-03-08 09:28:34 -06:00
5788e436d3 Merge pull request #95049 from Grublady/mac_system_color
Use windowBackgroundColor instead of controlColor for macOS system base color
2025-03-07 12:06:33 -06:00
3e4e6e6c0c Improve native file dialog parent window selection. 2025-03-06 17:15:39 +02:00
2b16d4e002 Use windowBackgroundColor instead of controlColor for macOS system base color
Per Apple Developer Documentation:
windowBackgroundColor: "The color to use for the window background."
controlColor: "The color to use for the flat surfaces of a control."

Godot's base_color more closely corresponds to windowBackgroundColor.
In some cases, controlColor may even return values that are not appropriate for use as a base color.
2025-03-05 15:01:27 -05:00
b77423370a Fix cross-platform configuration of rendering driver settings
Simpler alternative to #103026 which avoids breaking compatibility.

Instead of introducing a new `auto` default value, we ensure that all
supported drivers are registered regardless of the editor's host platform,
and that the defaults are the intended ones.

This solves the following issues:
- macOS exports are meant to default to Metal in 4.4, but they would
  default to Vulkan if exported from Linux, Windows, or Android editors.
- Windows exports couldn't be made with Direct3D 12 from Linux, macOS, or
  Android editors, as the option couldn't be selected outside Windows.

Unlike #103026, it doesn't solve the issue of not always saving the
rendering drivers to `project.godot`, but now the defaults are at least
consistent between editor platforms.

Co-authored-by: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-02-23 12:28:59 +01:00
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