summaryrefslogtreecommitdiff
path: root/platform/windows
AgeCommit message (Collapse)Author
2018-04-30Implement universal translation of touch to mousePedro J. Estébanez
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*) The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers. Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse. *: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest. On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction. Plus: Improve/fix tracking of current mouse position. ** Summary of changes to settings: ** - `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse` - New setting: `input/pointing_devices/emulate_mouse_from_touch`
2018-04-09Fix custom cursor when it's hiddenGuilherme Felipe
[Linux] Ensures that the custom cursor will be used when changing to MOUSE_MODE_VISIBLE. Fix #3086 [Windows] Fix cursor flickering when MOUSE_MODE_HIDDEN. [Mac] Fix possible cursor flicker when MOUSE_MODE_HIDDEN.
2018-04-05Remove size restriction for mouse cursorGuilherme Felipe
2018-03-15Fix MinGW cross-buildbruvzg
2018-03-15Added missing import BoolVariableBastiaan Olij
Didn't like the missing BoolVariable :)
2018-03-13Enable SCons to autodetect Windows MSVC compilerGary Oberbrunner
SCons has good compiler detection logic for MSVC compilers. Up to now, Godot hasn't used it; it depends on passed-in OS environment vars from a specific Visual Studio cmd.exe windows. This makes it harder to build from a msys or cygwin shell. This change allows SCons to autodetect Visual Studio unless it sees VCINSTALLDIR in the os.environ. It also adds a 'msvc_version' arg for manual specification of compiler version, and uses the existing 'bits' arg to specify the target architecture. More detail could be added as desired. It also adds 'use_mingw' to always use mingw, even if Visual Studio is installed. That uses the existing mingw setup logic. If people are used to building Godot in a Visual Studio cmd window, this should not change the behavior in that case, since VCINSTALLDIR will be set in those windows. (However, note that you could now unset that var and build with any other MSVC version or target arch, even in that window.) I refactored much of platform/windows/detect.py during this, to simplify and clarify the logic. I also cleaned up a bunch of env var settings in windows/detect.py and SConstruct to use modern SCons idioms and simplify things. I suspect this will also enable using the Intel compiler on Windows, though that hasn't been tested.
2018-03-06Explicitly set OpenGL profile to core (X11, Windows).bruvzg
Enable GLES2 on Windows.
2018-03-04Clean and expose get_audio/video_driver_* funcs on OS classMarcelo Fernandez
2018-03-01add GLES 2 renderer for 2Dkarroffel
This commit adds a new rendering backend, GLES2, and adds a project setting to enable it. Currently this backend can only be used on the X11 platform, but integrating into other platforms is planned.
2018-02-26Fixed Windows ignoring minimized/maximized status set by userMarcelo Fernandez
2018-02-23Refactor version macros and fix related bugsRémi Verschelde
The previous logic with VERSION_MKSTRING was a bit unwieldy, so there were several places hardcoding their own variant of the version string, potentially with bugs (e.g. forgetting the patch number when defined). The new logic defines: - VERSION_BRANCH, the main 'major.minor' version (e.g. 3.1) - VERSION_NUMBER, which can be 'major.minor' or 'major.minor.patch', depending on whether the latter is defined (e.g. 3.1.4) - VERSION_FULL_CONFIG, which contains the version status (e.g. stable) and the module-specific suffix (e.g. mono) - VERSION_FULL_BUILD, same as above but with build/reference name (e.g. official, custom_build, mageia, etc.) Note: Slight change here, as the previous format had the build name *before* the module-specific suffix; now it's after - VERSION_FULL_NAME, same as before, so VERSION_FULL_BUILD prefixed with "Godot v" for readability Bugs fixed thanks to that: - Export templates version matching now properly takes VERSION_PATCH into account by relying on VERSION_FULL_CONFIG. - ClassDB hash no longer takes the build name into account, but limits itself to VERSION_FULL_CONFIG (build name is cosmetic, not relevant for the API hash). - Docs XML no longer hardcode the VERSION_STATUS, this was annoying. - Small cleanup in Windows .rc file thanks to new macros.
2018-02-21Fix typos with codespellluz.paz
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt` Whitelist consists of: ``` ang doubleclick lod nd que te unselect ```
2018-02-20Link bcrypt lib in window and UWPFabio Alessandrelli
2018-02-19Merge pull request #16696 from BTaskaya/masterRémi Verschelde
PEP3101 applied with changing old type string formatting as new ones
2018-02-15Windows: Fix case of imm32 for case-sensitive MinGW buildRémi Verschelde
Fixes #16713.
2018-02-14PEP3101 applied with changing old type string formatting as new onesBTaskaya
2018-02-14Merge pull request #15564 from RandomShaper/adpod-topmostRémi Verschelde
Add new window setting: always on top
2018-02-14Merge pull request #15864 from GodotExplorer/pr-get_unique_id-desktop-implRémi Verschelde
Implement more methods for OS on Desktop platforms
2018-02-12Added OS::center_window to center the window precisely on desktop platformsMarcelo Fernandez
2018-01-31Windows: implement OS.get_unique_id and OS.set_ime_positiongeequlim
2018-01-29Implement OS::get_processor_count() for WindowsHein-Pieter van Braam
Current this is hardcoded as '1' for any platform except Unix. The little is_wow64() dance is required to get correct output on a 32bit compiled godot running on 64bit Windows according to MSDN. This code should be UWP safe but I have no way to test that so it's not implemented for UWP yet.
2018-01-27Merge pull request #16081 from djgaspa/dll-directoryRémi Verschelde
Fix remove_dll_directory crash when cookie is null
2018-01-26Make separate debug symbols opt-inHein-Pieter van Braam
This adds a separate_debug_symbols option to the x11, windows, and osx targets. This will default to adding normal debugging symbols to the artifacts and only splits them when separate_debug_symbols=yes on the Scons command line.
2018-01-26Fix remove_dll_directory crash when cookie is nulldjgaspa
2018-01-20Fix horizontal scroll for windows platformbinbitten
2018-01-10sorry, accidentally pressed delete before commiting.Juan Linietsky
2018-01-10Added middle button doubleclick, fixes #15567Juan Linietsky
2018-01-05Add new window setting: always on topPedro J. Estébanez
Implemented for Windows and Linux.
2018-01-05SCons: Fix usage of LD when we meant LINKRémi Verschelde
Also made LINK and CXXFLAGS configurable as command line options. Note that LINK currently expects the *compiler* that will be used for linking and will call its configured linker behind the scenes (so g++, clang++, etc., not ld.gold). See #15364 for details.
2018-01-05Forced set mouse global position always, hopefully will fix #15354, ↵Juan Linietsky
otherwise out of luck.
2018-01-05Add missing copyright headers and fix formattingRémi Verschelde
Using `misc/scripts/fix_headers.py` on all Godot files. Some missing header guards were added, and the header inclusion order was fixed in the Bullet module.
2018-01-04Add support from properly exporting shared objects, needed for GDNative exportJuan Linietsky
2018-01-04Change OS::initialize signature to return Error (fix segfault on x11)Emmanuel Leblond
2018-01-03Merge pull request #12814 from guilhermefelipecgs/add_hardware_custom_cursorRémi Verschelde
Custom hardware-accelerated mouse cursor
2018-01-01Update copyright statements to 2018Rémi Verschelde
Happy new year to the wonderful Godot community!
2017-12-31Improve LTO build with MSVCGeorge Marques
2017-12-24-Removed OpenMP support, replaced by a custom class.Juan Linietsky
-Disabled Opus, implementation is wrong.
2017-12-22Do not require OpenMP for non-tools builds (export templates)Rémi Verschelde
2017-12-17Add implementation for custom hardware cursorGuilherme Silva
2017-12-16Add support for whole program optimization on MSVCGeorge Marques
Since it's similar to LTO, it can be enabled by setting use_lto=yes.
2017-12-16Add epic hack so vsync can be toggled in run-time from script. Fixes #14458.Juan Linietsky
Call needs to be routed via visual server to reach the proper thread.
2017-12-16Rename the debug symbol files to .debugsymbolsHein-Pieter van Braam
Some users were confused by the '.debug' suffix for the symbols.
2017-12-16Merge pull request #14708 from Faless/get_packet_not_const_rebasedRémi Verschelde
Remove "const" from PacketPeer get_packet/get_var, move windows network related stuff to drivers
2017-12-15Fix 32bit MingW build for thekla_altasHein-Pieter van Braam
2017-12-15Move windows networking class to drivers/windows/Fabio Alessandrelli
Also rename stream_peer_winsock.* to stream_peer_tcp_winsock.* and StreamPeerWinsock to StreamPeerTCPWinsock.
2017-12-15Remove "const" from PacketPeer get_packet/get_varFabio Alessandrelli
They are NOT constant methods, as state by the comment message, they fetch the last packet and then forget about it, actively changing the state of the object.
2017-12-15Remove debug printf on WindowsRémi Verschelde
2017-12-14Fix type mismatch in OS::set_borderless_windowRémi Verschelde
Closes #14663.
2017-12-14Added indent_style to editorconfig, fixed inconsistent use of tabs and ↵Colin Kinloch
spaces in indentation.
2017-12-14-Add lightmapperJuan Linietsky
-Fixes to unwrapper (remove degenerates), makes Thekla not crash -Added optional cancel button in EditorProgress -Added function to force processing of events (needed for cancel button)