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 +02:00
Rémi Verschelde
ea7d988b72
Merge pull request #92781 from bruvzg/menu_open_close_imp
...
[macOS] Improve native menu open/close callbacks.
2024-06-07 23:30:15 +02: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 +02: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 +03:00
bruvzg
28ec2240c4
Improve native menu and status indicator icons conversion and checks.
2024-06-06 07:46:09 +03:00
bruvzg
1f7bf27780
[macOS] Improve native menu open/close callbacks.
2024-06-05 20:22:41 +03:00
kleonc
91e995e704
Fix creating cursor image from AtlasTexture
2024-06-05 01:44:05 +02:00
bruvzg
5168647530
Use current mouse button state instead of saved values.
2024-05-31 15:50:14 +03: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 +02:00
bruvzg
714effdf07
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:36:54 +03:00
bruvzg
1a40cda95e
[macOS, X11] Fix duplicate close requests.
2024-05-28 09:41:04 +03:00
bruvzg
fc89a0c118
Fix build with vuklan=no
and d3d12=no
after #91505 .
2024-05-25 21:08:50 +03:00
bruvzg
628c81d2d9
[DisplayServer] Add method to check if window transparency is supported and enabled.
2024-05-23 15:23:18 +03:00
Rémi Verschelde
7870b28ed3
Merge pull request #92252 from poiati/fix-wayland-window-class
...
Properly set window class in Wayland
2024-05-23 08:59:23 +02:00
Thaddeus Crews
896b003cc8
SCons: Convert platform get_flags
to dictionary
2024-05-22 13:53:20 -05:00
Paulo Poiati
a3769c0edc
Properly set window class in Wayland
2024-05-22 10:42:12 -03:00
Jakub Marcowski
d9f8ef68df
Update pre-commit hooks configuration to use ruff
instead of black
2024-05-21 18:02:29 -05:00
Rémi Verschelde
86b72d9215
Merge pull request #91377 from bruvzg/macos_privacy
...
[macOS export] Add support for privacy manifest configuration.
2024-05-15 12:09:34 +02:00
Pedro J. Estébanez
fc08eca524
DisplayServer: Avoid deadlocks while issuing input events and recursive main loop iterations
2024-05-08 17:41:40 +02:00
A Thousand Ships
a0dbdcc3ab
Replace find
with contains/has
where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
bruvzg
e5205e589f
[StatusIndicator] Add method to get indicator icon screen rect.
2024-05-02 14:39:33 +03: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 +02: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 +02:00
bruvzg
059ddc41a0
[macOS export] Add support for privacy manifest configuration.
2024-04-30 23:31:56 +03:00
Rémi Verschelde
339cb0e2a2
Merge pull request #90428 from bruvzg/macos_detect_helper_exes
...
[macOS export] Detect embedded helper executables using MachO header.
2024-04-29 13:00:34 +02:00
Rémi Verschelde
947f5a8741
Merge pull request #91247 from AThousandShips/callable_fix
...
Fix unsafe uses of `Callable.is_null()`
2024-04-29 10:10:32 +02:00
Thaddeus Crews
e0e8ce1fc0
SCons: Colorize warnings/errors during generation
2024-04-28 16:24:48 -05: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 +02:00
Fredia Huya-Kouadio
764de7fe31
Collapse the gdextension arguments into the GDExtensionData
struct
...
This is used to reduce the number of arguments to `OS::open_dynamic_library(...)`.
2024-04-19 07:56:02 -07:00
Fredia Huya-Kouadio
ede88cf59d
Fix loading GDExtension dependencies on Android
2024-04-19 07:55:08 -07:00
bruvzg
e667dc2d59
[macOS] Fix native file dialog with empty filter list.
2024-04-17 11:12:14 +03:00
Rémi Verschelde
c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
...
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +02:00
Rémi Verschelde
e73f40e260
Merge pull request #87117 from DmitriySalnikov/rename_pdb
...
Add renaming of PDB files to avoid blocking them
2024-04-11 11:02:31 +02: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 +02:00
Mikael Hermansson
a057158d75
Revert pack trimming introduced by #82084
2024-04-10 12:00:04 +02:00
bruvzg
bf558adcdd
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms.
2024-04-09 17:47:39 +03:00
bruvzg
bae27340c9
[macOS export] Detect embedded helper executables using MachO header.
2024-04-09 13:19:24 +03:00
Micky
328b00774b
Use [codeblock lang=text]
more often in class ref
2024-04-08 16:17:50 +02:00
DmitriySalnikov
b73e740786
Add renaming of PDB files to avoid blocking them
2024-04-05 00:14:23 +03: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 +02: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 +01: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 +01: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 +01:00
bruvzg
37e0be37d8
[macOS] Fix non-global native menu shortcuts.
2024-03-27 22:26:44 +02:00
bruvzg
dc01658ee9
[DisplayServer] Add separate feature flags for different native dialog types.
2024-03-26 15:18:06 +02:00
bruvzg
399899a095
[NativeMenu] Move files to the display
subfolder.
2024-03-26 10:18:08 +02:00
Alexander Hartmann
65f68fda54
Fix EXIT_SUCCESS
on MacOS
2024-03-24 17:08:25 +01:00
Rémi Verschelde
f49efbe0e5
Merge pull request #89229 from akien-mga/main-refactor-os-exit-code
...
Refactor OS exit code to be `EXIT_SUCCESS` by default
2024-03-24 01:15:06 +01:00
A Thousand Ships
79ba22a73f
Use Vector*
component-wise min/max/clamp
functions where applicable
2024-03-20 13:47:42 +01: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 +02:00
bruvzg
3459aaa9d1
Fix NativeMenu layout direction on macOS, add extra check for Windows menu.
2024-03-15 09:48:54 +02:00
Rémi Verschelde
4ca6cd054f
Merge pull request #89273 from bruvzg/win_native_menu
...
[NativeMenu] Implement native popup menu support on Windows.
2024-03-14 22:34:42 +01:00
bruvzg
ac7583e449
[NativeMenu] Implement native popup menu support on Windows.
2024-03-13 10:51:38 +02:00
Thaddeus Crews
3b3e2374c9
clang-tidy: Enforce modernize-use-nullptr
2024-03-12 10:59:53 -05:00
Thaddeus Crews
5a6e3cbcb0
SCons: Remove run_in_subprocess
dependency
2024-03-11 13:20:09 -05:00
Rémi Verschelde
0475011c66
Merge pull request #82084 from ogapo/pr/pck-cache-merge
...
Merge `uid_cache.bin` and `global_script_class_cache.cfg` after mounting PCKs
2024-03-11 14:01:16 +01:00
Thaddeus Crews
8116d70d4b
SCons: Convert remaining run_in_subprocess
to env.Run
2024-03-10 14:01:23 -05:00
Rémi Verschelde
0ace0a1292
Merge pull request #89333 from Repiteo/enforce-eol-python
...
Enforce `\n` eol for Python writes
2024-03-09 22:20:23 +01:00
Thaddeus Crews
d9fa40f2df
Enforce \n
eol for Python writes
...
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
pohy
f65f480617
Fix MoltenVK detection
2024-03-09 21:05:51 +01:00
Rémi Verschelde
023dcd44c1
Refactor OS exit code to be EXIT_SUCCESS
by default
...
- `Main::setup` early exits (failure or `--help`/`--version`) now
consistently return `EXIT_FAILURE` or `EXIT_SUCCESS` on all platforms,
instead of 255 on some and a Godot Error code on others.
- `Main::start` now returns the exit code, simplifying the handling of early
failures.
- `Main::iteration` needs to explicit set the exit code in OS if it errors
out.
- Web and iOS now properly return `OS::get_exit_code()` instead of 0.
2024-03-08 23:31:24 +01:00
David Nikdel
5e6adb4a2d
Merge uid_cache.bin and global_script_class_cache.cfg after mounting PCKs
...
fixes godotengine#82061
fixes godotengine#61556
Also, distinguish between main pack and DLC packs.
It's desirable to downloaded content to be as small as possible. This change avoids bloating non-main pack files with new versions of resources that are all read on startup and never used again. They have no effect if loaded after startup.
- project.godot/project.binary file
- extension_list.cfg
- app icon and boot_splash
- .ico and .icns files (these can still be opted in for DLC by listing them explicitly in the include filter)
2024-03-06 12:14:21 -05:00
bruvzg
c65a667924
Move global_menu_*
methods to a separate NativeMenu
class.
2024-03-04 23:41:41 +02: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 +01:00
Rémi Verschelde
90ed9a5de0
Merge pull request #88978 from bruvzg/macos_bg_cont
...
[macOS] Enable input from controllers in the background.
2024-02-29 13:54:57 +01:00
Rémi Verschelde
6d9a529c87
Merge pull request #88970 from KoBeWi/ImageCursor2D
...
Improve `cursor_set_custom_image()` method
2024-02-29 13:54:53 +01:00
bruvzg
e15a2ff1db
[macOS] Fix some deprecation warnings.
2024-02-28 23:38:29 +02:00
kobewi
3aeb4a5542
Improve cursor_set_custom_image() method
2024-02-28 20:32:25 +01:00
bruvzg
77e92dda0f
[macOS] Enable input from controllers in the background.
2024-02-28 21:25:47 +02: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 +01:00
bruvzg
a0084803b4
[macOS/Windows] Fix application indicator destruction.
2024-02-27 22:19:47 +02:00
bruvzg
d2e0544e0a
[macOS] Add null checks for NSString stringWithUTF8String
.
2024-02-23 08:20:02 +02:00
Jezer Mejía
07313a08f4
Migrate macos controller API to GameController.h
...
This should fix a lot of issues regarding to old controller API, such as vibration
Haptics (vibrations) are only available in macOS 11+, so haptics are now
processed in macOS 11+ only. Also, this doesn't interfere with
controller's input as controller support is available in macOS 10.9+.
Added a Note for macOS regarding vibration support
2024-02-20 08:13:05 -06:00
Rémi Verschelde
d0f4f58a8c
Merge pull request #88519 from bruvzg/mac_conf_mode
...
[macOS] Ignore window decorations in confined mouse mode to match other platforms.
2024-02-19 00:09:15 +01:00
Rémi Verschelde
033821c595
Merge pull request #88245 from shana/simplify-mono-support-detection
...
C#: Let platforms signal if they support the mono module or not
2024-02-19 00:08:07 +01:00
bruvzg
606a475bb5
[macOS] Ignore window decorations in confined mouse mode to match other platforms.
2024-02-18 23:53:45 +02: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 +01:00
Rémi Verschelde
3ed81a8f70
Merge pull request #88334 from passivestar/ctrl-tab-mac
...
[macOS] Fix `Ctrl+Tab` and `Ctrl+Shift+Tab` not working
2024-02-15 15:45:15 +01:00
Rémi Verschelde
ef5d6ccfb7
Merge pull request #86966 from Muller-Castro/value2ref-core
...
Add const lvalue ref to `core/*` container parameters
2024-02-15 15:44:43 +01:00
passivestar
757a691b5e
Fix Ctrl+Tab
and Ctrl+Shift+Tab
on macOS
2024-02-15 02:49:31 +04:00
Thaddeus Crews
633dcf6dfd
SCons: "Environment" to "SConsEnvironment"
2024-02-14 09:26:47 -06:00
Muller-Castro
a8bc9f3e78
Add const lvalue ref to core/* container parameters
2024-02-14 11:20:36 -03: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 +01:00
Andreia Gaita
21e524a798
C#: Let platforms signal if they support it or not
...
Instead of hardcoding platform names that support C#, let platforms
set a flag indicating if they support it. All public platforms
except web already support it, and it's a pain to maintain a patch
for this list just to add additional names of proprietary console
platforms.
This makes adding new platforms or variants or existing platforms
much easier, as the platform can signal what it supports/doesn't
support directly, and we can avoid harcoding platform names.
2024-02-13 22:48:43 +01:00
bruvzg
ee53ae28df
Add method to get "base" system UI color (macOS/Windows) and system theme change callback.
2024-02-13 18:38:53 +02:00
bruvzg
deffe6a3be
[macOS] Add support for native help menu search callbacks, integrate editor help.
2024-02-13 18:37:37 +02: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 +01:00
Rémi Verschelde
b36480684c
Merge pull request #87954 from bruvzg/mac_fd_no_type
...
[macOS] Do not show file type popup in the native file dialog if there's only one option, improve `*.*` filter handling.
2024-02-13 17:24:11 +01:00
Rémi Verschelde
ae603f2dc6
Merge pull request #87908 from bruvzg/mac_gen_plist
...
[macOS] Generate min. `Info.plist` for frameworks if it's missing. Validate framework bundle ID characters.
2024-02-13 17:24:07 +01:00
Rémi Verschelde
747977807a
Merge pull request #87657 from bruvzg/app_dist
...
[macOS export] Allow unpacked .app export in "Distribution" export mode.
2024-02-13 17:23:59 +01:00
Rémi Verschelde
937fa7b04a
Merge pull request #87465 from bruvzg/macos_demini_vis_state
...
[macOS] Update window visible state on deminiaturize.
2024-02-13 17:23:51 +01:00
Rémi Verschelde
bd57d2de18
Merge pull request #87277 from bruvzg/macos_swipe
...
[macOS] Handle Trackpad / Magic Mouse swipe events and simulate XBUTTON1 / XBUTTON2 buttons.
2024-02-13 17:23:46 +01:00
Rémi Verschelde
164ec4929f
Merge pull request #86934 from bruvzg/mac_icon_fix
...
[macOS export] Fix RLE icon generation.
2024-02-13 17:23:25 +01:00
Rémi Verschelde
de77f0ac7f
Merge pull request #86255 from bruvzg/_bundle_build
...
[iOS/macOS] Add option to automatically build (and sign / archive) bundles.
2024-02-13 17:23:10 +01:00
bruvzg
f458943455
[macOS / iOS] Switch Vulkan init to VK_EXT_metal_surface extension.
2024-02-13 16:57:02 +02:00
bruvzg
94238d0462
[iOS/macOS] Add option to automatically build (and sign / archive) bundles.
2024-02-13 16:36:41 +02:00
bruvzg
8da36031e4
Implement support for application status indicators (tray icons).
2024-02-13 15:59:35 +02:00
bruvzg
d9b7075ba6
[macOS] Fix color picker on HDR screens.
2024-02-13 11:24:43 +02:00
Dario
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 -03:00
Rémi Verschelde
74b03edf1e
Merge pull request #82800 from Sauermann/fix-screen-mousemotion
...
Add screen-related attributes to mouse input events
2024-02-09 18:08:58 +01:00