summaryrefslogtreecommitdiff
path: root/core/os/os.h
AgeCommit message (Collapse)Author
2020-06-30Move frame delaying functions from Main to OS.Fabio Alessandrelli
Will allow specific platforms to override it and avoid blocking on the main/GUI thread.
2020-05-31Remove OS.get_system_time_secs/get_system_time_msecs and change ↵Emmanuel Leblond
OS.get_unix_time return type to double
2020-05-20[Windows] Add tablet driver selection.bruvzg
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-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.
2020-05-05[Windows] Add support for the WinTab API for pen input.bruvzg
2020-04-02Replace NULL with nullptrlupoDharkael
2020-03-26Add macOS DisplayServer implementation.bruvzg
Change global menu to use Callable, add support for check items and submenus.
2020-03-26Separate DisplayServer from OS on WindowsJuan Linietsky
2020-03-26Effective DisplayServer separation, rename X11 -> LinuxBSDJuan Linietsky
2020-03-25Style: Harmonize header guards to style guide [Core]Rémi Verschelde
2020-02-26Reimplement Mutex with C++'s <mutex>Pedro J. Estébanez
Main: - It's now implemented thanks to `<mutex>`. No more platform-specific implementations. - `BinaryMutex` (non-recursive) is added, as an alternative for special cases. - Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes. - Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts. - A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this. - `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`. - Thread-safe utilities are therefore simpler now. Misc.: - `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same. - Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock). - `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
2020-02-18PoolVector is gone, replaced by VectorJuan Linietsky
Typed `PoolTypeArray` types are now renamed `PackedTypeArray` and are sugar for `Vector<Type>`.
2020-02-14Remove incomplete battery status/power APIRémi Verschelde
It was initially implemented in #5871 for Godot 3.0, but never really completed or thoroughly tested for most platforms. It then stayed in limbo and nobody seems really keen to finish it, so it's better to remove it in 4.0, and re-add eventually (possibly with a different API) if there's demand and an implementation confirmed working on all platforms. Closes #8770.
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-01-23Merge pull request #35438 from MadEqua/virtual-keyboard-line-editRémi Verschelde
Android virtual keyboard respecting LineEdit max length.
2020-01-23Android virtual keyboard respecting LineEdit max length.Bruno Lourenço
2020-01-23Make `OS.execute()` blocking by default if not specifiedHugo Locurcio
This makes `OS.execute()` calls quicker to set up when calling programs in a blocking fashion.
2020-01-10[macOS] Load PCK from the .app bundle resources, instead of changing working ↵bruvzg
directory.
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-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-11Remove ERR_EXPLAIN macros and the scaffolding they needed.Marcel Admiraal
2019-10-22Add request permission automatically at androidCagdas
2019-08-26[macOS] Add methods to modify global and dock menus. Add ability to open ↵bruvzg
multiple editor/project manager instances, recent/favourite project list to project manager dock menu and opened scene list to editor dock menu.
2019-08-21Support vibration for Android and iOSvolzhs
2019-08-12Remove redundant author doc commentsIAmActuallyCthulhu
2019-07-01Add editor screenshot on control - f12.K. S. Ernest (iFire) Lee
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-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-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-04-07Add FileAccess::set_unix_permissions for Unix platformsJuan Linietsky
2019-04-15Add Input::get_current_cursor_shapeGuilherme Felipe
[Clean up] Removed unused/unnecessary methods.
2019-03-08Request Android record permission when neededDESKTOP-3H3MR3A\eloisa
2019-03-04More style cleanup...Rémi Verschelde
2019-03-03Ability to keep pumping messages while being debugged, may be a solution for ↵Juan Linietsky
#21431
2019-02-27Fix -Wsuggest-attribute=format warnings.marxin
2019-02-26-Remove harcoded opengl extension testing from OS, ask rasterizer instead.Juan Linietsky
-Fixed a bug where etc textures were imported broken
2019-02-09Warn when using GPU particles with GLES2Rémi Verschelde
Closes #25733.
2019-02-03Merge pull request #25478 from neikeq/rrIgnacio Etcheverry
Mono: Fix MonoPosixHelper not being found
2019-02-03Added set_environment to OS classIgnacio Etcheverry
2019-01-30Let memory stat functions return uint64_tPedro J. Estébanez
2019-01-01Update copyright statements to 2019Rémi Verschelde
Happy new year to the wonderful Godot community!
2018-12-20Added OS.get_system_time_msecs()volzhs
2018-12-11Merge pull request #23923 from bruvzg/ime_gdscriptRémi Verschelde
Changes IME to make it possible to use it from gdscript/gdnative
2018-11-23Changes IME input to use notification instead of callback, exposes IME ↵bruvzg
methods to gdscript/gdnative.