summaryrefslogtreecommitdiff
path: root/platform/windows/os_windows.cpp
AgeCommit message (Collapse)Author
2018-09-12Unify StreamPeerTCP/TCP_Server with NetSocket APIFabio Alessandrelli
2018-09-12Unify PacketPeerUDP using NetSocketFabio Alessandrelli
2018-09-12Make core/ includes absolute, remove subfolders from include pathRémi Verschelde
This allows more consistency in the manner we include core headers, where previously there would be a mix of absolute, relative and include path-dependent includes.
2018-09-05Fix mouse confined leaving window with OS_Windows::set_window_positionGuilherme Felipe
2018-09-04Really fix the custom cursor hotspotMartin Capitanio
Add check for negative values. Fixes #21721
2018-09-03Fix custom cursor hotspotGuilherme Felipe
Cursor hotspot must be inside image on Linux. Adding validation for all platforms for consistency.
2018-08-30Fix multitouch input not working on certain devices on WindowsPedro J. Estébanez
Fixes #20474.
2018-08-27Revert "Try closing gracefully before terminating process"Rémi Verschelde
2018-08-26Fall back to GLES2 if GLES3 is not workingHein-Pieter van Braam
This adds a static is_viable() method to all rasterizers which has to be called before initializing the rasterizer. This allows us to check what rasterizer to use in OS::initialize together with the GL context initialization. This commit also adds a new project setting "rendering/quality/driver/driver_fallback" which allows the creator of a project to specify whether or not fallback to GLES2 is allowed. This setting is ignored for the editor so the editor will always open even if the project itself cannot run. This will hopefully reduce confusion for users downloading projects from the internet. We also no longer crash when GLES3 is not functioning on a platform. This fixes #15324
2018-08-24Merge pull request #20712 from marcelofg55/midi_open_closeJuan Linietsky
Add OS::open_midi_inputs and OS::close_midi_inputs
2018-08-24Make some debug prints verbose-only, remove othersRémi Verschelde
2018-08-22Modifications to raw input so the handling of absolute coordinates is more ↵Juan Linietsky
correct.
2018-08-22Merge pull request #20523 from moiman100/windows-raw-inputJuan Linietsky
Raw input relative motion for Windows
2018-08-21BPTC supportelasota
2018-08-20Try closing gracefully before terminating processMarcin Zawiejski
Use a Microsoft recommended way of process termination for the project process run from the editor. This allows loaded DLLs to receive and handle DLL_PROCESS_DETACH notification and cleanup any global state before the process actually exits.
2018-08-18Fix errors during removing files or folders and fix for latin symbolsneonsoup
This commit adds support for unicode strings in OS_Windows::move_to_trash. Also reverts commit 6188388c5a9c7f9fcc0b7f3928f176a9047b9a45 as it did not add extra null character to the path string (SHFILEOPSTRUCTA and SHFILEOPSTRUCTW require path to be double null-terminated).
2018-08-14Fix impossibility of removing folder which contains non-latin symbols(on ↵Chaosus
Windows)
2018-08-04Add OS::open_midi_inputs and OS::close_midi_inputsMarcelo Fernandez
2018-07-30Relative motion based on raw input for WindowsMikko Mustonen
2018-07-30Fix Windows handles leakMarcin Zawiejski
Fixes thread and process handles leak when running and killing project from editor (caused by a missing CloseHandle call) plus a potential leak when calling OS_Windows::execute with p_blocking and !r_pipe. The leak could be easily observed with a Handles counter in Task Manager (or Performance Monitor) for the Godot editor process.
2018-07-26Reduce unnecessary COW on Vector by make writing explicitHein-Pieter van Braam
This commit makes operator[] on Vector const and adds a write proxy to it. From now on writes to Vectors need to happen through the .write proxy. So for instance: Vector<int> vec; vec.push_back(10); std::cout << vec[0] << std::endl; vec.write[0] = 20; Failing to use the .write proxy will cause a compilation error. In addition COWable datatypes can now embed a CowData pointer to their data. This means that String, CharString, and VMap no longer use or derive from Vector. _ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug builds. This is a lot faster for Vector in the editor and while running tests. The reason why this difference used to exist is because force-inlined methods used to give a bad debugging experience. After extensive testing with modern compilers this is no longer the case.
2018-07-21Added a new MIDIDriver classMarcelo Fernandez
2018-07-19-Project/Editor settings now use new inspectorJuan Linietsky
-Project/Editor settings now show tooltips properly -Settings thar require restart now will show a restart warning -Video driver is now visible all the time, can be changed easily -Added function to request current video driver
2018-07-09Added support for extra mouse buttons.unknown
2018-07-03-Fix fullscreen on Windows with a HiDPI monitor but a non-HiDPI projectJuan Linietsky
-Replaced some viewport size calls to screen size, since viewport size should be deprecated at this point..
2018-06-26Fix touch issues on WindowsPedro J. Estébanez
2018-06-11IME context detection.Saracen
2018-05-30Improve return value of OS.execute in blocking/non-blocking variantsRémi Verschelde
Initialized the PID to -2, which will be the value returns in blocking- mode where the PID is not available. (-1 was already taken to signify an execution failure). OS::execute will now properly return a non-OK error code when it fails to execute the target file. The documentation was rewritten to be very clear about the differences between blocking and non-blocking mode. Fixes #19056.
2018-05-28Change position of validation in set_custom_mouse_cursorGuilherme Felipe
2018-05-28Merge pull request #19210 from guilhermefelipecgs/fix_invalid_imageMax Hilbrunner
Add validation in set_custom_mouse_cursor
2018-05-27Add validation in set_custom_mouse_cursorGuilherme Felipe
Check if the image is valid.
2018-05-26Fix memory leak in set_custom_mouse_cursorGuilherme Felipe
2018-05-23More fixes to set_borderless_windowGuilherme Felipe
[x11] Preserve window size when calling this method. [osx] Make sure it don't make the window resizable if it's not needed. [windows] clean up the code.
2018-05-21Merge pull request #19070 from guilhermefelipecgs/fix_19033Max Hilbrunner
Fix mouse confined and set_borderless_window
2018-05-21Fix #15678Guilherme Felipe
Fix cursor not displaying arrow when transiting from mode captured to visible.
2018-05-20Fix #19033Guilherme Felipe
- Fix a bug when mouse is confined don't update the cursor shape. - Don't let the mouse leave the window when resizing to a smaller resolution when MOUSE_MODE_CONFINED. - Fix set_borderless_window to preserve the actual video_mode.widht/height.
2018-05-10Reset the cursor with Input.set_custom_mouse_cursor(null)Guilherme Felipe
2018-05-09Add support for atlas texture on set_custom_mouse_cursorGuilherme Felipe
2018-05-08Merge pull request #14622 from bruvzg/non-rectangular-windowsHein-Pieter van Braam
Experimental support for windows with per-pixel transparency.
2018-05-07Local debugger fixes and extensionsBlazej Floch
- Adds q/quit option to console debugging - Adds options (variable_prefix) - Breaks into debugger with Ctrl-C in local debug mode (Unix/Windows) - Added option to list all breakpoints - Fixes add/remove breakpoint bug (invalid path parsing) - Minor cleanup
2018-05-05Merge pull request #18541 from profan/fix/win-sleepMax Hilbrunner
Windows: ensure minimum possible timer resolution for sleep
2018-05-01windows: ensure minimum possible timer resolution for sleepRobin Hübner
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-07Experimental support for windows with per-pixel transparency (macOS, X11 and ↵bruvzg
Windows).
2018-04-05Remove size restriction for mouse cursorGuilherme Felipe
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-02-26Fixed Windows ignoring minimized/maximized status set by userMarcelo Fernandez
2018-02-14Merge pull request #15564 from RandomShaper/adpod-topmostRémi Verschelde
Add new window setting: always on top