bruvzg
fea8ab0999
[Windows] Fix reading keyboard layout names.
2024-07-09 11:46:06 +03:00
Rémi Verschelde
3220b6fb11
Merge pull request #93976 from Hilderin/fix-caret-disappear-from-script-editor
...
Fix caret can disappear from script editor
2024-07-08 19:13:31 +02:00
Hilderin
ebd1ab646c
Fix caret can disappear from script editor
2024-07-08 07:11:17 -04:00
Pedro J. Estébanez
50bf2e5b37
Windows: Fix build error due to missing definition of Texture2D
2024-07-08 10:40:17 +02:00
Alvin Wong
c54477b7e6
Windows: Restore to windowed mode using SW_NORMAL
...
If window was maximized before minimizing, restoring the window
afterwards using SW_RESTORE seems to cause the window to forget its
original size and position before being maximized, causing the window to
fill the screen instead.
2024-06-29 18:24:45 +08:00
Pedro J. Estébanez
32d9c93af3
Improve handling of rendering startup errors
2024-06-28 19:31:50 +02:00
bruvzg
dbc4e3f350
[Windows] Add Windows version and Wine checks for Windows 10+ dark mode API.
2024-06-13 14:28:14 +03:00
kit
45c6971a36
Input use GetKeyState instead of GetAsyncKeyState
2024-06-12 18:37:31 -04: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 +02: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 +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
kleonc
91e995e704
Fix creating cursor image from AtlasTexture
2024-06-05 01:44:05 +02:00
Hilderin
e201e5bf30
Fix Windows Activate Process
2024-06-03 19:33:41 -04:00
bruvzg
5168647530
Use current mouse button state instead of saved values.
2024-05-31 15:50:14 +03:00
Rémi Verschelde
d30456fea8
Merge pull request #92415 from bruvzg/win_mod_keys
...
[Windows] Use current keyboard state instead of saved values for modifier keys.
2024-05-31 14:16:13 +02:00
Rémi Verschelde
ffad49f169
Merge pull request #86029 from 0x0ACB/resize_fix
...
Remove dead code from `DisplayServerWindows::window_set_size`
2024-05-30 11:47:21 +02:00
bruvzg
714effdf07
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:36:54 +03:00
ACB
9dd1268306
remove dead code from DisplayServerWindows::window_set_size
2024-05-28 08:55:15 +02:00
bruvzg
62e41087d5
[Windows] Use current keyboard state instead of saved values for modifier keys.
2024-05-27 09:15:01 +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
Paulo Poiati
a3769c0edc
Properly set window class in Wayland
2024-05-22 10:42:12 -03: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
Rémi Verschelde
2885620385
Merge pull request #91361 from RandomShaper/fix_no_focusin
...
Windows: Fix `WINDOW_EVENT_FOCUS_IN` not delivered in some cases
2024-05-07 13:48:48 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to `List`
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Pedro J. Estébanez
12fda2fc13
Windows: Fix WINDOW_EVENT_FOCUS_IN not delivered in some cases
2024-05-03 13:42:12 +02:00
Shatyuka
e1cb65bedf
Apply `WS_MINIMIZE` style on window creation
2024-05-03 06:36:51 +08:00
bruvzg
e5205e589f
[StatusIndicator] Add method to get indicator icon screen rect.
2024-05-02 14:39:33 +03: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
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
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
Rémi Verschelde
dc91479082
Merge pull request #90382 from RandomShaper/win_focus_fix
...
Windows: Fix mouse handling regression
2024-04-08 15:54:32 +02:00
Pedro J. Estébanez
bdfe76b200
Windows: Fix mouse handling regression
2024-04-08 13:05:01 +02:00
Rémi Verschelde
7d96ec4f9d
Merge pull request #88329 from ManpreetXSingh/key-window-menu
...
Windows: Add support for enabling Alt+Space menu and fix borderless maximize
2024-04-08 11:20:05 +02:00
Manpreet Singh
329d04d331
Windows: Add alt+space menu and fix window modes
2024-04-06 16:26:19 +05:30
Pedro J. Estébanez
9240034d3c
Robustify handling of activation & focus on Windows
2024-04-03 15:52:11 +02:00
bruvzg
dc01658ee9
[DisplayServer] Add separate feature flags for different native dialog types.
2024-03-26 15:18:06 +02: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
ebb19c4198
[NativeMenu] Fix changes lost due to incorrect rebase (menu goes under task bar, dark mode, item text get, docs) and check to ensure help menu is not using native menu on Windows.
2024-03-15 22:46:47 +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
bruvzg
620e194727
[Windows] Disable fallback to ANGLE logic when compiled w/o ANGLE support.
2024-03-10 13:18:03 +02:00
K. S. Ernest (iFire) Lee
0a47f4ebd2
Avoid scale_with_dpi constexpr compiler error.
2024-03-06 15:15:01 -08:00
Rémi Verschelde
13954fc33e
Merge pull request #87452 from bruvzg/native_menu
...
Move `global_menu_*` methods to a separate `NativeMenu` class.
2024-03-06 13:16:52 +01:00
398utubzyt
1c10f577cb
Windows: Fix `FreeLibrary` not always being called in `dialog_show`
2024-03-05 10:31:32 -08:00
Rémi Verschelde
2862cb19a8
Merge pull request #88957 from 398utubzyt/windows/native-dialogs
...
Windows: Implement `dialog_show` and `dialog_input_text` for `DisplayServer`
2024-03-05 09:56:00 +01:00
bruvzg
c65a667924
Move `global_menu_*` methods to a separate `NativeMenu` class.
2024-03-04 23:41:41 +02:00
398utubzyt
99500611b2
Windows: Implement `DisplayServer::dialog_show` and `DisplayServer::dialog_input_text`
2024-03-04 12:53:22 -08: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
kobewi
3aeb4a5542
Improve cursor_set_custom_image() method
2024-02-28 20:32:25 +01: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
e939341a0b
[Windows] Set application user model ID to prevent editor / running project and different versions of editor taskbar icon stacking.
2024-02-23 13:16:58 +02:00
Rémi Verschelde
b2fa20922f
Merge pull request #88405 from bruvzg/fix_non_bgra_dib
...
[Windows] Fix reading non-BGRA8 DIBs from clipboard.
2024-02-17 00:27:23 +01:00
bruvzg
9777a0132e
[Windows] Fix reading non-BGRA8 DIBs from clipboard.
2024-02-16 17:10:16 +02:00
Rémi Verschelde
92e9bcb633
Merge pull request #80548 from garychia/keyboard_focus
...
Ensure the active window gains the keyboard focus
2024-02-15 15:44:16 +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
Rémi Verschelde
c8b5290119
Merge pull request #87013 from bruvzg/intel_angle_with_ids
...
[Windows] Add support for hex vendor/device IDs in the Angle blocklist. Add Intel Gen5/Gen6/Gen7 GPUs to Angle blocklist.
2024-02-13 17:23:41 +01:00
bruvzg
8da36031e4
Implement support for application status indicators (tray icons).
2024-02-13 15:59:35 +02:00
Dario
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 -03:00
Faycal ElOuariachi
c1ec0360e9
Fix the fetching of images in CF_DIB format in DisplayServerWindows::clipboard_get_image
...
Fix the fetching of images from windows clipboard, if they're in CF_DIB format (e. g. by taking screenshots).
Image::create_from_data was used with an instance of Image, but it's a static function, returning a new instance.
2024-02-12 13:14:11 +01: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
Rémi Verschelde
4f478a55cc
Merge pull request #86843 from RandomShaper/fix_null_ptr
...
Avoid several null-dereferences of ApiContextRD
2024-02-07 10:58:01 +01:00
Pedro J. Estébanez
d5a5dd52e8
Avoid several null-dereferences of ApiContextRD
2024-02-06 19:55:01 +01:00
Markus Sauermann
2235a1cbd0
Add screen-related attributes to mouse input events
2024-02-05 23:30:15 +01:00
K. S. Ernest (iFire) Lee
f711b4f01f
Avoid non-constant-expression cannot be narrowed on Windows mingw.
...
Fixes non-constant-expression cannot be narrowed from type 'DWORD' (aka 'unsigned long') to 'int' in initializer list [-Wc++11-narrowing]
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-01-30 20:21:26 -08: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 +01: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 +01:00
Rémi Verschelde
31baf464b3
Merge pull request #87549 from emanvidmaker/DarkModeOnWin10Patch
...
Make dark mode Title Bar work on Windows 10 1909 (build:18363) and above
2024-01-26 11:47:50 +01:00
Emanvidmaker
a16ca4b96c
Added dark mode support for Windows 10, versions 1909(18363) and above
2024-01-25 18:07:01 -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 +02:00
Rémi Verschelde
03767fbf3b
Merge pull request #86446 from reduz/transient-to-focused
...
Implement a `transient_to_focused` Window mode
2024-01-15 13:25:00 +01: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 +01:00
bruvzg
3badb90020
[Windows] Add support for hex vendor/device IDs in the Angle blocklist. Add Intel Gen5/Gen6/Gen7 GPUs to Angle blocklist.
2024-01-09 19:28:45 +02:00
Rémi Verschelde
ceafa6120d
Merge pull request #84246 from bruvzg/win_frac_refresh
...
[Windows] Use CCD API to get fractional screen refresh rates.
2024-01-04 14:25:14 +01: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 +01: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 +01: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 +01:00
bruvzg
e01b22a69d
[Windows] Make Windows Ink tablet API default, add dummy driver to disable tablet input.
2023-12-18 22:36:54 +02:00
Rémi Verschelde
41365c6c8b
Merge pull request #70315 from RandomShaper/d3d12_mesa
...
Direct3D 12 Rendering Driver (Mesa NIR approach)
2023-12-12 21:58:57 +01:00
Pedro J. Estébanez
2f47c57385
Add Direct3D 12 RenderingDevice implementation
2023-12-12 19:10:04 +01:00
bruvzg
b65635ae51
[Windows] Always use ANGLE in ARM builds.
2023-12-09 20:47:46 +02:00
bruvzg
b02cf351f3
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect.
2023-12-04 07:56:33 +02:00
Marius Hanl
40d7320a17
Do not consume (eat) mouse messages with no_focus Window's (Godot PopupMenu)
...
Window's with the no_focus flag should still process mouse events and not consume them. Otherwise all mouse pressed operations will not work inside Godot's PopupMenu.
This problem is Windows only, all other platforms do process mouse events for PopupMenu's correctly.
2023-11-28 19:43:07 +01: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 +01:00
bruvzg
173b84127b
[Windows] Add some AMD GPUs to the OpenGL blocklist.
2023-11-09 20:11:04 +02:00
jitspoe
7918e2b6d9
Fix bug where maximized->fullscreen->windowed mode stays maximized.
2023-11-06 02:36:12 -05:00
bruvzg
6bd639f9df
[Windows] Use CCD API to get fractional screen refresh rates.
2023-11-02 13:10:23 +02:00
bruvzg
b52826bf55
Add error messages to the native menu and file dialogs callback.
2023-10-14 18:10:39 +03:00
kobewi
09b30be86d
Add vararg call() method to C++ Callable
2023-10-05 11:35:29 +02:00
bruvzg
43e4708dff
[Native File Dialogs] Improve filter list handling, add selected filter to the callback.
2023-10-03 19:26:16 +03:00
Rémi Verschelde
30bc077756
Merge pull request #82364 from bruvzg/angle_lists_and_defaults
...
[ANGLE] Add fallback control options and defaults.
2023-10-03 17:22:53 +02: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 +02:00
bruvzg
ac3fc2a8a1
[ANGLE] Add fallback control options and defaults.
...
[macOS] Use ANGLE by default if engine is built with statically linked ANGLE.
[Windows] Add option enable/disable fallback to ANGLE and option force specific GPU to always use ANGLE.
2023-10-03 16:23:43 +03:00
bruvzg
72e2e47059
[DisplayServer] Add method to estimate window title bar size.
2023-10-03 16:13:52 +03:00
A Thousand Ships
517e9f8aef
[Modules] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-26 16:44:52 +02:00