Commit Graph

154 Commits

Author SHA1 Message Date
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
8b0761d1fd Fix sub-menu keyboard navigation. 2022-04-13 09:58:38 +03:00
9381acb6a4 Make FileAccess and DirAccess classes reference counted. 2022-04-11 13:28:51 +03:00
f851c4aa33 Fix some issues found by cppcheck. 2022-04-06 14:34:37 +03:00
daa42e0e50 Fix a possible race condition on popup close, that might cause multiple deletions of the same list item. 2022-04-05 12:44:29 +03:00
a647fb3e62 Fix typos with codespell
Using codespell 2.2-dev from current git.

Fix a couple incorrect uses of gendered pronouns.
2022-03-31 14:07:29 +02:00
ee02a7f785 Keep editor at normal priority on windows.
The multithreaded importer often causes system-wide hangs when importing more than 20 files at a time.
Running the editor at normal priority allows other applications on the system to be responsive during long imports.
2022-03-29 00:01:31 -07:00
0494e024d8 Rename warp mouse functions to warp_mouse 2022-03-27 14:12:01 +02:00
8bbc7614f6 Right-clicking will not close popup 2022-03-18 22:13:54 +05:30
fa37f17029 Windows: Properly set mouse_monitor instead of shadowing it
GCC was raising a warning about unused variable, but it's actually meant
to be used in the destructor for deinit.
2022-03-16 15:48:56 +01:00
fba80dbd63 Reenable window_set_vsync_mode on Windows 2022-03-13 15:04:59 +01:00
3cc37342c4 [X11] Do not try to focus unmapped window. 2022-03-08 11:46:44 +02:00
74ff5921d6 Improve popup window handling.
Add window FLAG_POPUP and a platform specific routines to control popup auto-hiding and event forwarding.
2022-02-25 09:33:27 +02:00
d39ec5b9ed [Windows] Fix borderless window flag toggle and restoring minimized borderless window. 2022-02-22 10:56:58 +02:00
0c27667124 [Windows] Fix Vulkan driver crash on sub-window minimization. 2022-02-17 13:34:08 +02:00
b8b4580448 Style: Cleanup single-line blocks, semicolons, dead code
Remove currently unused implementation of TextureBasisU, could be re-added
later on if needed and ported.
2022-02-16 14:06:29 +01:00
7d59b81d79 Add exclusive window handling to DisplayServer (on macOS and Windows). 2022-02-12 00:14:09 +02:00
65426f831f [Windows] Fix drag-and-drop. 2022-02-11 09:34:55 +02:00
8bc837453b [Windows] Fix fullscreen mode detection on window move/resize. 2022-02-08 10:36:57 +02:00
20fb34927d Fix icons for sub windows
Modify the create_sub_window method to set an icon for all sub windows, setting the icon to the same icon as the main window.

Co-Authored-By: Rémi Verschelde <rverschelde@gmail.com>
2022-02-07 23:03:10 +11:00
225a3b2545 Merge pull request #57341 from bruvzg/win_multiwin_fs 2022-02-04 13:28:56 +01:00
d235c1bb19 Merge pull request #57335 from jordigcs/display-refresh-rate 2022-02-04 11:51:07 +01:00
85f6151e9d Merge pull request #54645 from rxlecky/editor-window-offset-bug-45740 2022-02-04 11:48:57 +01:00
f4ea9cd9f3 [Windows] Add WS_BORDER flag to windows in WINDOW_MODE_FULLSCREEN mode to allow multi-window interface in full-screen.
[Windows] Add WINDOW_MODE_EXCLUSIVE_FULLSCREEN without WS_BORDER flag enabled (no multi-window support).
2022-02-04 12:08:46 +02:00
54dec44dba Add screen_get_refresh_rate to DisplayServer 2022-02-03 21:50:32 -06:00
c058361a23 Fix captured mouse mode 2022-02-01 03:49:51 +01:00
d14165dae9 Simplify DisplayServerWindows pos/size message handling
Replace WM_MOVE and WM_SIZE message handling with WM_POSCHANGED instead.
This is for multiple reasons:
1) Microsoft suggest using WM_POSCHANGED is more efficient
2) RectChanged callback is only called once for most window operations
3) Simplifies message handling code
2022-01-31 18:28:48 +01:00
2c8511579f Fix MOUSE_MODE_CONFINED not updating area when full-screen is toggled or current screen is changed. 2022-01-28 10:15:08 +02:00
4b36b6e92a Merge pull request #56785 from bruvzg/nat_handles_4 2022-01-27 12:12:34 +01:00
57a057f7ff Merge pull request #56754 from madmiraal/fix-45592 2022-01-24 10:05:42 +01:00
d62ca0c9c0 Window management improvements.
[macOS] Fix transient windows not working in the full-screen mode.
[macOS] Fix moving transient windows to the other screen than parent window.
[macOS] Fix popup menu switch on hover.
[macOS] Use content origin rect for windows position (to ensure `DS.mouse_get_position` is equal to `DS.window_get_position` + mouse position from the input events).
[macOS] Fix incorrect input coordinates, when external display with different scaling in connected/disconnected.
[macOS/Windows] Fix moving fullscreen windows between the screens.
Add auto refocusing of the parent window, when the focused transient window is closed.
Remove redundant `DS.mouse_get_absolute_position` function (returns mouse position in the screen coordinates, same as `DS.mouse_get_position`).
2022-01-18 11:47:03 +02:00
8bdef23f7f Merge pull request #56012 from bruvzg/wt🤎4 2022-01-17 13:26:15 +01:00
9418a2a599 Flush input events before destroying the window 2022-01-14 17:43:31 +03:00
89f37d4105 Add support for getting native display, window, and view handles. 2022-01-14 13:36:32 +02:00
5250cdd150 Use mouse event relative motion to calculate mouse velocity 2022-01-13 15:23:21 +00:00
46624388d4 Merge pull request #56322 from madmiraal/fix-42450 2022-01-11 11:33:59 +01:00