summaryrefslogtreecommitdiff
path: root/platform/windows/display_server_windows.cpp
AgeCommit message (Collapse)Author
2020-12-04RenderingServer reorganizationreduz
2020-11-26[Complex Text Layouts] Refactor Font class, default themes and controls to ↵bruvzg
use Text Server interface. Implement interface mirroring. Add TextLine and TextParagraph classes. Handle UTF-16 input on macOS and Windows.
2020-09-17Add window click-through support.bruvzg
2020-09-03[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms.bruvzg
2020-09-03Merge pull request #41332 from bruvzg/win_subsys_optionRémi Verschelde
Revert #41164, add subsystem build option.
2020-08-26Fix WINDOW_EVENT_FOCUS_IN for popups on WindowsPouleyKetchoupp
On Windows, WINDOW_EVENT_FOCUS_IN was never sent by the display server for popups, because WM_ACTIVATE events are received during the call to _update_window_style, which happened before the callbacks were set. This was causing some issues with the way Popup is now handling closing on parent focus. Now _update_window_style is only called during show_window, after Window initialized callbacks.
2020-08-22Re-apply "Fixes for windows in X11 tiling WMs"PouleyKetchoupp
From PR #38727 which was reverted in #41373 because of regressions in Ubuntu with Gnome. Co-authored-by: Lorenzo Cerqua <lorenzocerqua@tutanota.com>
2020-08-19Revert "Fixes for windows in X11 tiling WMs"Juan Linietsky
2020-08-17Revert "[Windows] Attach to parent console instead of creating new one."bruvzg
This reverts commit 4f7a49db53c6aaabeca70fe8901144af708fb6b2.
2020-08-17[Windows] Fix modifier keys when using tablet input.bruvzg
2020-08-11[Windows] Attach to parent console instead of creating new one.bruvzg
2020-07-23DisplayServer: separate window showing into another functionLorenzo Cerqua
When creating a window, Godot would first register it to the WM(show it) and then set its flags. This works fine on a floating WM, but on tiling WMs as soon as a window gets registered the WM immediately acts on the window by scaling it up and treating it as a generic window, being registered without any special flags. This commit separates the showing of the window into another function and calls it after the most important flags are set, making windows with special flags(eg. all popups) work again on tiling WMs. Fixes #37930
2020-07-20fix crlf for clipboardZae
2020-07-15Merge pull request #40268 from DanielZTing/masterRémi Verschelde
Fix cancel/OK button order on macOS
2020-07-13Add error messages if Vulkan init failed, prevent Vulkan context freeing ↵bruvzg
uninitialized device and instance.
2020-07-10Fix cancel/OK button order on macOSDaniel Ting
The macOS platform convention regarding button order is cancel on left, OK on right.
2020-07-04Merge pull request #39888 from nekomatata/windows-create-window-errorRémi Verschelde
Fix errors when creating windows on Windows
2020-07-02Fix fullscreen flag on Windows, closes #37588Juan Linietsky
2020-06-30Add a separate application focus/in notification out from Window focus ↵Juan Linietsky
notification.
2020-06-27Fix errors when creating windows on WindowsPouleyKetchoupp
Detecting the case where WM_SIZE is received during the window creation. There's no need to call window_resize on the Vulkan context. Also creating a WindowData entry early enough to avoid storing a separate WindowData wrongly associated to INVALID_WINDOW_ID. Fixes #39199
2020-06-22[Windows] Prevent overwriting old cursor handle on multiple mouse_mode ↵bruvzg
changes, ensure mouse_mode is set before `cursor_set_shape` is called to restore cursor.
2020-06-19Merge pull request #39427 from hcmlax/shortcut_issue_39351Rémi Verschelde
fixed issue where shortcut doesn't work if alt is pressed before shift
2020-06-18adding check for syskeydown on control and altunknown
2020-06-13Add keyboard layout enumeration / set / get functions (macOS, Windows, ↵bruvzg
Linux/X11), remove latin variant function.
2020-05-22Merge pull request #38951 from bruvzg/win_ink_block_mm_4Rémi Verschelde
Block WM_MOUSEMOVE during Windows Ink pen handling.
2020-05-22Block WM_MOUSEMOVE during Windows Ink pen handling.bruvzg
2020-05-21Fix segmentation fault when using context_vulkan after memdelete context_vulkanGuidoRevers
2020-05-20[Windows] Add tablet driver selection.bruvzg
2020-05-18Fix certain characters being recognized as special keys in Windows when ↵Eric Rybicki
using the us international layout
2020-05-16Fix input event being dispatched multiple times on WindowsHaSa1002
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-05-10Style: clang-format: Disable AllowShortCaseLabelsOnASingleLineRémi Verschelde
Part of #33027.
2020-05-10Style: clang-format: Disable AllowShortIfStatementsOnASingleLineRémi Verschelde
Part of #33027, also discussed in #29848. Enforcing the use of brackets even on single line statements would be preferred, but `clang-format` doesn't have this functionality yet.
2020-05-08WinTab: Adds extra "mouse move" events to make movement smoother and ↵bruvzg
correctly handle pressure/tilt change when cursor is not moving.
2020-05-07Remove WinTab error message.bruvzg
2020-05-05[Windows] Add support for the WinTab API for pen input.bruvzg
2020-05-03[Linux/Windows] Set pressure to 1.0f when primary button is pressed and ↵bruvzg
device is not pressure sensitive.
2020-04-29Merge pull request #37802 from ThakeeNathees/window-position-bug-osx-x11Rémi Verschelde
display server window position bug fix
2020-04-28Rename InputFilter back to InputRémi Verschelde
It changed name as part of the DisplayServer and input refactoring in #37317, with the rationale that input no longer goes through the main loop, so the previous Input singleton now only does filtering. But the gains in consistency are quite limited in the renaming, and it breaks compatibility for all scripts and tutorials that access the Input singleton via the scripting language. A temporary option was suggested to keep the scripting singleton named `Input` even if its type is `InputFilter`, but that adds inconsistency and breaks C#. Fixes godotengine/godot-proposals#639. Fixes #37319. Fixes #37690.
2020-04-11display server window position bug fix (#37323)Thakee Nathees
2020-04-02Merge pull request #37525 from lupoDharkael/replace-0LRémi Verschelde
Replace 0L with a casted nullptr
2020-04-02Replace 0L with a casted nullptrlupoDharkael
2020-04-02Replace more occurrences of NULL with nullptrRémi Verschelde
2020-04-02Replace NULL with nullptrlupoDharkael
2020-04-01Fix Clang warnings on WindowsRémi Verschelde
Fixes #37490.
2020-03-28Fix copyright headers for recently added filesRémi Verschelde
2020-03-26Implemented drag and drop across windows, both OS and embedded.Juan Linietsky
2020-03-26Reworked tooltips to use the popup system.Juan Linietsky
2020-03-26Popups have also been converted to windowsJuan Linietsky
Controls using the old modal API have been replaced to use popups.