Commit Graph

189 Commits

Author SHA1 Message Date
0a3f66471e Merge pull request #69712 from bruvzg/real_size
Rename `window_get_real_size`, add position counterpart.
2022-12-07 14:29:46 +01:00
edf13eb5a6 Rename window_get_real_size to window_get_size_with_decorations, add window_get_position_with_decorations. 2022-12-07 11:07:30 +02:00
e1cff4be9b [Windows] Window management fixes.
Fix popup menus having incorrect scale when main window is in full-screen mode and multiple monitors with different DPI are used.
Prevent mouse move code from accessing deleted window data (and creating zombie records in the windows map).
2022-12-06 23:56:21 +02:00
79401f8dc2 Fix incorrect mouse event position while hovering different window 2022-11-30 13:39:31 +01:00
1aa4959381 [Windows] Fix joypad crash 2022-11-28 03:38:47 +01:00
58a9cfee80 Set vsync on window creation when using GLES3.
Add vsync to Windows platform
2022-11-15 14:14:21 -08:00
ffa39db847 Fix ICONDIR buffer overflow 2022-11-14 00:47:14 +01:00
4c8409c0fe Added missing null checks for gl_manager in MacOS and Windows display servers 2022-11-13 07:06:26 -06:00
23603e409c Add support for OpenGL to OpenXR 2022-11-08 18:47:11 -06:00
9cea653457 Fix mouseleave event after drag and drop in different Windows
When dropping in a different window, it is necessary to start tracking
the WM_MOUSELEAVE event again.
2022-11-01 18:58:46 +01:00
88feacdad5 Fix mouse offset for unfocused popups
On Windows, the mouse was offset, when unfocused popups were used,
like the Editor menu.
2022-11-01 00:04:14 +01:00
04ac91f786 Merge pull request #67790 from kdada/fix-flash-window
Make creating window do not flicker when specify custom position
2022-10-28 13:02:58 -07:00
4bd601d82a Fix differences between Windows and linuxbsd Display Server
Fix that Windows receive WINDOW_EVENT_MOUSE_EXIT on startup.

When moving the mouse cursor from one window to a different one, make sure that the first window receives the WINDOW_EVENT_MOUSE_EXIT event before the second window receives the WINDOW_EVENT_MOUSE_ENTER event.

Send Mouse-Move events also for Windows, that are currently not focused.

For determining the currently hovered window, consider not just the currently focused window, but also other windows.

Send mouse move events to focused window instead of hovered window.
2022-10-28 09:32:25 +02:00
d7e39e313b Make window creation with custom position do not flash 2022-10-24 13:50:25 +08:00
021f524dfd Merge pull request #67546 from clayjohn/DS-msg
Update the DisplayServer video driver error message to be more accurate and friendly
2022-10-21 16:57:35 -07:00
c4ba1565d0 Update the DisplayServer video driver error message
to be more accurate and friendly
2022-10-18 10:15:11 -07:00
667a052ed8 Check if Vulkan context for the window exists before resizing it to avoid unnecessary error messages. 2022-10-17 17:26:57 +03:00
8017827144 SCons: Re-enable treating #warning as error with werror
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.

We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
e821e9d2a2 Harmonize return values of window_create() in rendering drivers 2022-10-07 11:31:54 +02:00
6afb2d0225 [Windows] Fix LLVM MinGW build. 2022-10-06 09:30:25 +03:00
Zae
186ca020b3 Fix ScrollContainer touch-scrolling not working. 2022-09-29 01:47:03 +08:00
4421378089 [Windows] Ignore excessive wintab mouse move events. 2022-09-28 10:12:04 +03:00
54adfb6dfd [Windows] Fix WM_CHAR processing code using Unicode char instead of Virtual key. 2022-09-23 14:16:16 +03:00
d104a4cdbd Add missing initial window flags and window mode to the project settings. 2022-09-19 12:30:10 +03:00
d79040e7eb Merge pull request #65496 from MinusKube/popup-capture-mouse-bug
Fix MOUSE_MODE_CAPTURED not working correctly with popups
2022-09-16 09:23:40 +02:00
5ff8e4ee67 Merge pull request #65133 from bruvzg/win_cursor
[Windows] Simplify cursor handling and add support for fully transparent cursors.
2022-09-14 17:42:53 +02:00
5c1ef35def Merge pull request #65262 from bruvzg/win10_dm
Disable dark mode title bar on Windows 10.
2022-09-13 10:58:19 +02:00
06b86fad0d Fix MOUSE_MODE_CAPTURED not working correctly with popups 2022-09-07 19:31:57 +02:00
57829b7cc4 Re-enable per-pixel transparency support on Linux, macOS, and Windows (for Vulkan and OpenGL rendering drivers). 2022-09-03 19:16:03 +03:00
6ce0d3a212 Disable dark mode title bar on Windows 10. 2022-09-03 11:11:22 +03:00
629ae58a80 Add support for system dark mode and accent color detection (macOS and Windows). Add support for dark mode title bar on Windows. 2022-08-31 11:37:01 +03:00
77a4567122 [Windows] Simplify cursor handling and add support for fully transparent cursors. 2022-08-31 11:16:02 +03:00
8be27dc59e Replace Array return types with TypedArray 2022-08-22 22:42:36 +02:00
c939f336d6 Only define keep_screen_on project setting once 2022-08-06 22:10:24 +02:00
00e788e611 Implement keep_screen_on for Windows 2022-08-05 11:58:50 +02:00
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
680b5f1afb [Windows] Set fullscreen flags on window creation. 2022-07-19 13:36:39 +03:00
7b05df8029 Move windows display server's 'outside' field to WindowData struct 2022-07-07 21:11:00 +02:00
a194043ea8 Check if GL manager exist to prevent crash when using multithreaded renderer with Vulkan. 2022-07-06 09:56:47 +03:00
6dcc9d1131 [macOS, Windows, X11] Add stylus inverted/eraser support to
InputEventMouseMotion event
2022-07-04 10:36:53 -07:00
40b3be7912 Remove mouse events that closed the popup from queue, to fix pop-up reopening. 2022-06-02 08:35:27 +03:00
45af29da80 Add a new HashSet template
* Intended to replace RBSet in most cases.
* Optimized for iteration speed
2022-05-20 22:40:38 +02:00
ccdd85d8e7 Merge pull request #61001 from derammo/derammo_popup_conditional_hide 2022-05-17 12:56:53 +02:00
746dddc067 Replace most uses of Map by HashMap
* Map is unnecessary and inefficient in almost every case.
* Replaced by the new HashMap.
* Renamed Map to RBMap and Set to RBSet for cases that still make sense
  (order matters) but use is discouraged.

There were very few cases where replacing by HashMap was undesired because
keeping the key order was intended.
I tried to keep those (as RBMap) as much as possible, but might have missed
some. Review appreciated!
2022-05-16 10:37:48 +02:00
47d0dc8a41 popup deferred hide suppressed if reopened
popup no longer tries to close itself a second time
popup no longer closes after having been reopened
fixed bug in RenameDialog not calling base (by inspection)
fixes #59181
fixes #60921
reverts #59287
2022-05-13 09:30:00 -04:00
349aa9c884 Merge pull request #60894 from derammo/derammo_opengl3_windows 2022-05-13 15:07:13 +02:00
96c21bc749 opengl3 driver now works on windows including multi window
fixed and simplified gl_manager_windows
swap buffers now called for all windows
fixed missing pixel format setting in additional windows
    this makes them work in OpenGL contexts
changed verbose error printing to write once
    this error message happens very frequently while opengl3 is not finished
removed dead code no longer needed after changes
fixed comments that were misinformation
window messages during window creation now handled
    these were previously discarded
    messages now tunnel the required context
changed failure to create opengl3 window on windows to be more fatal
marked a problem with pen code
conditional compilation of vulkan and opengl3 on windows fixed
windows debug builds now show messages on debug console also
rendering driver selection box now shows only compiled drivers
marked some problematic code
thanks to akien-mga for patiently rewriting my style mistakes
2022-05-11 16:12:40 -04:00
b268c4b4bc [Windows] Save and re-apply window icon when changing window style. 2022-05-10 11:12:04 +03:00
180e5d3028 Remove RES and REF typedefs in favor of spelled out Ref<>
These typedefs don't save much typing compared to the full `Ref<Resource>`
and `Ref<RefCounted>`, yet they sometimes introduce confusion among
new contributors.
2022-05-03 01:43:50 +02:00
6ab672d1ef Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and Windows.
Implement TextServer word break method.
2022-04-28 14:35:41 +03:00