summaryrefslogtreecommitdiff
path: root/platform/windows/os_windows.cpp
AgeCommit message (Collapse)Author
2020-02-11Fix code formatting issues and VS compilationRémi Verschelde
Also temporarily disable multicheck build so that we get a full build even when there are style issues on Vulkan. Fixes #33356.
2020-02-11Add runtime GLES2 / Vulkan context selection.bruvzg
2020-02-11Add static Vulkan loader.bruvzg
Initial Vulkan support for Windows. Initial Vulkan support for macOS.
2020-02-11Texture refactorJuan Linietsky
-Texture renamed to Texture2D -TextureLayered as base now inherits 2Darray, cubemap and cubemap array -Removed all references to flags in textures (they will go in the shader) -Texture3D gone for now (will come back later done properly) -Create base rasterizer for RenderDevice, RasterizerRD
2020-02-05Remove duplicate WARN_PRINT macro.Marcel Admiraal
2020-02-05Remove duplicate ERR_PRINT macro.Marcel Admiraal
2020-01-16MinGW: Avoid GCC -Wcast-function-type warnings on GetProcAddressRémi Verschelde
Using the same method as GNUlib and various other projects. https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00109.html The warning is valid, but there's no way around it since the issue comes from the Windows SDK. It's also harmless in this case. Part of #29801.
2020-01-06Merge pull request #33967 from Calinou/add-os-is-window-focusedRémi Verschelde
Add an `OS.is_window_focused()` getter
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-12-04Added support for vertical syncing via the Windows OS compositor (DWM.)TerminalJack
2019-12-01iOS modular build and export implementation.bruvzg
2019-11-28Add an `OS.is_window_focused()` getterHugo Locurcio
This makes it possible to know whether the window is focused at a given time, without having to track the focus state manually using `NOTIFICATION_WM_FOCUS_IN` and `NOTIFICATION_WM_FOCUS_OUT`. This partially addresses #33928.
2019-11-09Set ShellExecuteW's verb to NULL - fixes #33388piratesephiroth
from https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecutew >the default verb is used, if available. If not, the "open" verb is used. If neither verb is available, the system uses the first verb listed in the registry. so "open" is redundant at best
2019-11-07Fix graphic tablet input coordinates on Windows.bruvzg
2019-10-30[macOS, Windows, X11] Add graphic tablet pen pressure and tilt support to ↵bruvzg
InputEventMouseMotion event.
2019-10-27Fix invalid window border when toggled from fullscreen to windowed modeYuri Roubinsky
2019-10-26Allow use of relative and speed properties for InputEventScreenDrag on WIndowsJoe Sweeney
2019-10-03Properly revert cursor when using set_custom_mouse_cursor with nullPouleyKetchoupp
Fixes #32486
2019-09-25Added some obvious errors explanationsqarmin
2019-08-09fix usage of old macro when new variant intendedRobin Hübner
2019-08-09Replace 'ERR_EXPLAIN' with 'ERR_FAIL_*_MSG' in "platform", ↵Robin Hübner
"modules/gdnative", "modules/gdscript" directories.
2019-08-05Fix wrong mouse wheel position for MOUSE_MODE_CAPTURED on WindowsTan Wang Leng
WM_MOUSEWHEEL and WM_MOUSEHWHEEL report mouse coordinates relative to the screen (see lParam in [1]), rather than to the window like the rest of the mouse events. The current code already makes adjustments to take that into account. However, it only makes the adjustments if the mouse is not captured, and the coordinates are always relative to the screen regardless of whether the mouse is captured or not, so let's fix the code to always consistently apply the adjustments. This fixes #29559. [1] - https://docs.microsoft.com/en-us/windows/win32/inputdev/wm-mousewheel
2019-07-30Turn `OS.set_min/max_window_size()` warnings into errorsHugo Locurcio
Since invalid values will cause the setting to be discarded, it makes more sense to display an error message instead of a warning message.
2019-07-29Fix strict-aliasing warning in OS_Windows::get_unix_time.Ibrahn Sahir
2019-07-24Fix crash caused by a9a0d0fb15cc5e028dbf8dab8b46d3dc197c4678Guilherme Felipe
2019-07-09Fix cursor blinking in integrated GPUsGuilherme Felipe
Optimization for Input::set_custom_mouse_cursor when used inside _process function. (Avoids cursor blinking in low end devices)
2019-07-04Hide command prompt launched by OS.executehoontee
Currently, the console appears when running OS.execute in an exported project, but not in the editor. This change prevents it from appearing in either. Only affects console applications.
2019-06-29Many fallthrough switch cases now have the FALLTHROUGH macro to tell the ↵hbina085
compiler that this is intended.
2019-06-20Add option to toggle console window on WindowsLuka Dornhecker
This is an editor setting and its value can also be toggled using an entry in the Editor toolbar. The console will still appear briefly when starting the project manager or editor, as it's still compiled as console application. Does not impact exported games, which will still run without console in release and with console in debug mode. A project setting or export option could be added to disable it in debug mode if there's demand for it, but that would greatly reduce the usefulness of debug builds if Windows users can no longer report error and crash messages. Fixes #17889. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2019-06-17Merge pull request #29752 from bruvzg/window_size_limitsRémi Verschelde
Add ability to limit maximum/minimum window size.
2019-06-16Merge pull request #10643 from BastiaanOlij/camera_serverRémi Verschelde
CameraServer class
2019-06-15Fix compilation warnings in JS and Windows buildsRémi Verschelde
Warnings raised by Emscripten 1.38.0 and MinGW64 5.0.4 / GCC 8.3.0. JS can now build with `werror=yes warnings=extra`. MinGW64 still has a few warnings to resolve with `warnings=extra`, and only one with `warnings=all`. Part of #29033 and #29801.
2019-06-15Adding a new Camera Server implementation to Godot.BastiaanOlij
This is a new singleton where camera sources such as webcams or cameras on a mobile phone can register themselves with the Server. Other parts of Godot can interact with this to obtain images from the camera as textures. This work includes additions to the Visual Server to use this functionality to present the camera image in the background. This is specifically targetted at AR applications.
2019-06-15Add ability to limit maximum/minimum window size.bruvzg
2019-06-04Removes redundant "display/window/per_pixel_transparency/splash" setting, ↵bruvzg
improves per pixel transparency documentation.
2019-05-28Merge pull request #26462 from SubSage/masterRémi Verschelde
Fixes OS.execute; stderr was silenced; adds missing quote from exe args (windows)
2019-05-24Add native window/taskbar icon support for Windows and macOS.bruvzg
Co-authored-by: Markus Törnqvist <mjt@nysv.org>
2019-05-21added a const keyword for a methods that return constant literal...hbina085
2019-05-19Fix typos with codespellRémi Verschelde
Using codespell 1.15.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear doubleclick leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
2019-04-29Merge pull request #28061 from guilhermefelipecgs/fix_19137Rémi Verschelde
[Input] Release keys/actions pressed if window loses focus
2019-04-27Convert line endings to CRLF in `OS.set_clipboard()` on WindowsHugo Locurcio
Windows applications typically expect CRLF line endings in clipboard content. This closes #28439.
2019-04-27[Input] Release keys/actions pressed if window loses focusGuilherme Felipe
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com> Co-authored-by: Marcelo Fernandez <marcelofg55@gmail.com>
2019-04-24Fixes to make exporting more responsive.Juan Linietsky
-Process and drop input in step functions. -Hide editor file dialog right after pressing ok -Use actual editor file dialogs for project export.
2019-04-23Fixes build for Windows cross-compilationKenneth Lee
Fixes #28299
2019-04-07Android now (optionally) builds the template when exportingJuan Linietsky
Added new way to create add-ons Removed old way to create add-ons
2019-04-18Use SHGetKnownFolderPath instead of SHGetFolderPathW.KLee1248
When getting system directories for Windows, we currently use SHGetFolderPathW. This is a deprecated function and doesn't support "Downloads" folders. As a replacement, this commit uses the newer SHGetKnownFolderPath function, which is supported since Windows Vista. Godot 3.0 only supports Windows 7+, so we don't need to use SHGetFolderPathW for backwards compatibility. Fixes #26876
2019-04-15Add Input::get_current_cursor_shapeGuilherme Felipe
[Clean up] Removed unused/unnecessary methods.
2019-04-09Style: Apply new changes from clang-format 8.0Rémi Verschelde
It seems to stay compatible with formatting done by clang-format 6.0 and 7.0, so contributors can keep using those versions for now (they will not undo those changes).
2019-03-05Fixes stderr silence; adds missing quote from exe args(windows)Luis Martinez
https://github.com/godotengine/godot/blob/8d117b214f2bcd14015532fdfbed9b3f059da0e6/core/bind/core_bind.cpp#L452 This function calls the bottom function https://github.com/godotengine/godot/blob/8d117b214f2bcd14015532fdfbed9b3f059da0e6/drivers/unix/os_unix.cpp#L312 OS.execute doesn't send out a value to stderr, so stderr defaults to false, which will invoke this bottom line and always silence stderr. https://github.com/godotengine/godot/blob/8d117b214f2bcd14015532fdfbed9b3f059da0e6/drivers/unix/os_unix.cpp#L315 Some programs, such as FFmpeg, will print out to stderr with valuable and vital information. This fixes stderr always being silenced, user can now opt to have it be read as normal.
2019-03-05Disable driver fallback to GLES2 by defaultRémi Verschelde
GLES2 is not designed to be a drop-in replacement for the GLES3 backend, so the fallback mode has to be used knowingly. It *can* make sense for simple projects which make sure to handle the differences between both rendering backends, but most users should stick to one supported backend. By making it opt-in, we can now use this parameter to define whether to export ETC textures to Android and iOS when using GLES3 + Fallback. When using GLES3 without Fallback on Android, set the proper min GLES version in the AndroidManifest. Also made the option boolean and renamed it for clarity and to avoid conflict with the previous String option (which would always evaluate as "true" otherwise). Fixes #26569.