summaryrefslogtreecommitdiff
path: root/platform/windows/display_server_windows.h
AgeCommit message (Collapse)Author
2022-10-28Merge pull request #67790 from kdada/fix-flash-windowClay John
Make creating window do not flicker when specify custom position
2022-10-28Fix differences between Windows and linuxbsd Display ServerMarkus Sauermann
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-24Make window creation with custom position do not flashWei Guo
2022-10-17Check if Vulkan context for the window exists before resizing it to avoid ↵bruvzg
unnecessary error messages.
2022-10-10SCons: Re-enable treating `#warning` as error with `werror`Rémi Verschelde
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-03Unix: Remove now unnecessary I/O defines, cleanupRémi Verschelde
- `LIBC_FILEIO_ENABLED` wasn't defined anywhere, even in _other platforms_. - `NO_NETWORK` is also never defined. It probably isn't enough anyway to disable network APIs in the current codebase. - `UNIX_SOCKET_UNAVAILABLE` is never defined in this code but used by some other platforms, clarify that. - `NO_STATVFS` can be removed as Android supports it since API level 19, which is our current min SDK level. It's also only used for `DirAccessUnix::get_space_left()` which is anyway overridden by `DirAccessJAndroid::get_space_left()` so it shouldn't make a difference. * Fixed documentation for `DirAccess.get_space_left()`. - `NO_FCNTL` is likely also a remnant of early Android days, in current NDK r23 it seems to be available. Also cleaned up unused `fcntl.h` includes. - `NO_ALLOCA` is never defined, and we use alloca in many places now.
2022-09-16Merge pull request #65496 from MinusKube/popup-capture-mouse-bugRémi Verschelde
Fix MOUSE_MODE_CAPTURED not working correctly with popups
2022-09-14Merge pull request #65133 from bruvzg/win_cursorRémi Verschelde
[Windows] Simplify cursor handling and add support for fully transparent cursors.
2022-09-13Merge pull request #65262 from bruvzg/win10_dmRémi Verschelde
Disable dark mode title bar on Windows 10.
2022-09-07Fix MOUSE_MODE_CAPTURED not working correctly with popupsMinusKube
2022-09-03Re-enable per-pixel transparency support on Linux, macOS, and Windows (for ↵bruvzg
Vulkan and OpenGL rendering drivers).
2022-09-03Disable dark mode title bar on Windows 10.bruvzg
2022-08-31Add support for system dark mode and accent color detection (macOS and ↵bruvzg
Windows). Add support for dark mode title bar on Windows.
2022-08-31[Windows] Simplify cursor handling and add support for fully transparent ↵bruvzg
cursors.
2022-08-22Replace Array return types with TypedArraykobewi
2022-08-05Implement `keep_screen_on` for WindowsRedMser
2022-07-07Move windows display server's 'outside' field to WindowData structMinusKube
2022-07-04[macOS, Windows, X11] Add stylus inverted/eraser support toHansem Ro
InputEventMouseMotion event
2022-05-20Add a new HashSet templatereduz
* Intended to replace RBSet in most cases. * Optimized for iteration speed
2022-05-16Replace most uses of Map by HashMapreduz
* 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-13Merge pull request #60894 from derammo/derammo_opengl3_windowsRémi Verschelde
2022-05-11opengl3 driver now works on windows including multi windowderammo
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-10[Windows] Save and re-apply window icon when changing window style.bruvzg
2022-05-03Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio
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-04-28Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and ↵bruvzg
Windows. Implement TextServer word break method.
2022-04-04Zero initialize all pointer class and struct membersRémi Verschelde
This prevents the pitfall of UB when checking if they have been assigned something valid by comparing to nullptr.
2022-03-27Rename warp mouse functions to warp_mouseMarkus Sauermann
2022-02-25Improve popup window handling.bruvzg
Add window FLAG_POPUP and a platform specific routines to control popup auto-hiding and event forwarding.
2022-02-12Add exclusive window handling to DisplayServer (on macOS and Windows).bruvzg
2022-02-04Merge pull request #57341 from bruvzg/win_multiwin_fsRémi Verschelde
2022-02-04Merge pull request #57335 from jordigcs/display-refresh-rateRémi Verschelde
2022-02-04[Windows] Add WS_BORDER flag to windows in WINDOW_MODE_FULLSCREEN mode to ↵bruvzg
allow multi-window interface in full-screen. [Windows] Add WINDOW_MODE_EXCLUSIVE_FULLSCREEN without WS_BORDER flag enabled (no multi-window support).
2022-02-03Add screen_get_refresh_rate to DisplayServerjordi
2022-01-31Simplify DisplayServerWindows pos/size message handlingSeleckyErik
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-27Merge pull request #56785 from bruvzg/nat_handles_4Rémi Verschelde
2022-01-17Merge pull request #56012 from bruvzg/wt🤎4Rémi Verschelde
2022-01-14Add support for getting native display, window, and view handles.bruvzg
2022-01-03Update copyright statements to 2022Rémi Verschelde
Happy new year to the wonderful Godot community!
2021-12-18[Windows] Improve console handling and execute/create_process.bruvzg
Always build with the GUI subsystem. Redirect stdout and stderr output to the parent process console. Use CreateProcessW for blocking `execute` calls with piped stdout and stderr (prevent console windows for popping up when used with the GUI subsystem build, and have more consistent behavior with `create_process`). Add `open_console` argument to the `execute` and `create_process` to open a new console window. Remove `interface/editor/hide_console_window` editor setting. Remove `Toggle System Console` menu option. Remove `set_console_visible` and `is_console_visible` functions.
2021-12-18Fix initialising of gl_manager and checking gl_manager and context_vulkan ↵Bastiaan Olij
preventing crash issues.
2021-11-12Use "enum class" for input enumsAaron Franke
2021-10-31Use OpenGL 3.3 core profile instead of compatibility profileClay John
- Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
2021-10-30Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio
- Use lowercase driver names for the `--rendering-driver` command line argument.
2021-10-30Add GLES2 2D renderer + Linux display managerlawnjelly
First implementation with Linux display manager. - Add single-threaded mode for EditorResourcePreview (needed for OpenGL). Co-authored-by: clayjohn <claynjohn@gmail.com> Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2021-10-14Fix specific warnings issues by ClangK. S. Ernest (iFire) Lee
Found by `scons dev=yes` on llvm-mingw.
2021-10-05Merge pull request #52963 from Pineapple/WIN32_LEAN_AND_MEAN_masterRémi Verschelde
2021-09-23Add missing WIN32_LEAN_AND_MEANBartłomiej T. Listwon
2021-09-21Allow for mapping keycodes to current layoutFrixuu
2021-09-19Fix Windows cursor with trails disappearing in fullscreenDan
Fixed by turning off mouse trails when going into fullscreen, then restoring trails when exiting fullscreen or game
2021-07-22Move `alert` function from `DisplayServer` to `OS`.bruvzg