summaryrefslogtreecommitdiffstats
path: root/platform/javascript/os_javascript.h
Commit message (Collapse)AuthorAgeFilesLines
* [HTML5] EditorRunNative works with GDNative.Fabio Alessandrelli2020-12-051-0/+1
| | | | | | This "breaks" our loading bar logic (libraries are not counted). Fixing it is non trivial and probably deserves investigating a different strategy.
* [HTML5] Port JavaScript inline code to libraries.Fabio Alessandrelli2020-11-101-6/+2
| | | | | | | | | The API is implemented in javascript, and generates C functions that can be called from godot. This allows much cleaner code replacing all `EM_ASM` calls in our C++ code with plain C function calls. This also gets rid of few hacks and comes with few optimizations (e.g. custom cursor shapes should be much faster now).
* JS synchronous start, better persistent FS sync.Fabio Alessandrelli2020-09-231-2/+3
| | | | | | | | | | | | | | The engine now expects to emscripten FS to be setup and sync-ed before main is called. This is exposed via `Module["initFS"]` which also allows to setup multiple persistence paths (internal use only for now). Additionally, FS syncing is done **once** for every loop if at least one file in a persistent path was open for writing and closed, and if the FS is not syncing already. This should potentially fix issues reported by users where "autosave" would not work on the web (never calling `syncfs` because of too many writes).
* [HTML5] Add override keyword, cleanup methods.Fabio Alessandrelli2020-09-181-25/+19
|
* Use dummy driver when JS AudioContext is unavailable.Fabio Alessandrelli2020-07-011-1/+1
|
* Limit FPS in JS by skipping iterations.Fabio Alessandrelli2020-07-011-0/+3
|
* Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde2020-05-141-1/+0
| | | | | | | | | | | | | | 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.
* DisplayServerJavaScript implementation.Fabio Alessandrelli2020-05-101-81/+15
|
* Rename InputFilter back to InputRémi Verschelde2020-04-281-1/+1
| | | | | | | | | | | | | | | | It changed name as part of the DisplayServer and input refactoring in #37317, with the rationale that input no longer goes through the main loop, so the previous Input singleton now only does filtering. But the gains in consistency are quite limited in the renaming, and it breaks compatibility for all scripts and tutorials that access the Input singleton via the scripting language. A temporary option was suggested to keep the scripting singleton named `Input` even if its type is `InputFilter`, but that adds inconsistency and breaks C#. Fixes godotengine/godot-proposals#639. Fixes #37319. Fixes #37690.
* Replace NULL with nullptrlupoDharkael2020-04-021-1/+1
|
* Renaming of servers for coherency.Juan Linietsky2020-03-271-1/+1
| | | | | | | | | | VisualServer -> RenderingServer PhysicsServer -> PhysicsServer3D Physics2DServer -> PhysicsServer2D NavigationServer -> NavigationServer3D Navigation2DServer -> NavigationServer2D Also renamed corresponding files.
* Refactored input, goes all via windows now.Juan Linietsky2020-03-261-1/+1
| | | | Also renamed Input to InputFilter because all it does is filter events.
* Refactored Input, create DisplayServer and DisplayServerX11Juan Linietsky2020-03-261-1/+1
|
* Style: Set clang-format Standard to Cpp11Rémi Verschelde2020-03-171-1/+1
| | | | | | | | | | For us, it practically only changes the fact that `A<A<int>>` is now used instead of the C++03 compatible `A<A<int> >`. Note: clang-format 10+ changed the `Standard` arguments to fully specified `c++11`, `c++14`, etc. versions, but we can't use `c++17` now if we want to preserve compatibility with clang-format 8 and 9. `Cpp11` is still supported as deprecated alias for `Latest`.
* Remove incomplete battery status/power APIRémi Verschelde2020-02-141-4/+0
| | | | | | | | | | | 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.
* Allow per pixel transparency in javascript platformmuiroc2020-02-101-0/+4
|
* Make `OS.execute()` blocking by default if not specifiedHugo Locurcio2020-01-231-1/+1
| | | | | This makes `OS.execute()` calls quicker to set up when calling programs in a blocking fashion.
* HTML5: Address removal of 'timestamp' in Emscripten 1.39.5Rémi Verschelde2020-01-171-1/+1
| | | | | | | | | | | | | | | It was removed as noted in the changelog: https://github.com/emscripten-core/emscripten/blob/1.39.5/ChangeLog.md#v1395-12202019 > Removed `timestamp` field from mouse, wheel, devicemotion and > deviceorientation events. The presence of a `timestamp` on these > events was slightly arbitrary, and populating this field caused > a small profileable overhead that all users might not care about. > It is easy to get a timestamp of an event by calling > `emscripten_get_now()` or `emscripten_performance_now()` inside > the event handler function of any event. Fixes #34648.
* Update copyright statements to 2020Rémi Verschelde2020-01-011-2/+2
| | | | | | | | | | | 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.
* iOS modular build and export implementation.bruvzg2019-12-011-3/+0
|
* Fix cursor blinking in integrated GPUsGuilherme Felipe2019-07-091-0/+1
| | | | | Optimization for Input::set_custom_mouse_cursor when used inside _process function. (Avoids cursor blinking in low end devices)
* Adding a new Camera Server implementation to Godot.BastiaanOlij2019-06-151-0/+3
| | | | | | 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.
* Implement Clipboard API read when supported.Fabio Alessandrelli2019-05-291-0/+1
| | | | | | | Being async, the first time a value is pasted GUI elements will still return the previous one. This at least until 'clipboardchange' window event gets implemented by user agents.
* Add OS clipboard set support to OS JavascriptFabio Alessandrelli2019-05-281-0/+2
|
* added a const keyword for a methods that return constant literal...hbina0852019-05-211-1/+1
|
* Fix OS_Javascript execute methodFabio Alessandrelli2019-05-151-1/+1
| | | | | | Signature was changed in OS via: cd4449e7abe97b2bc883e2d182db2cc41eb35f8c
* Refactor OS_JavaScript headerLeon Krause2019-01-201-2/+1
|
* Implements OS_JavaScript::set_custom_mouse_cursorGuilherme Felipe2019-01-031-0/+1
|
* Update copyright statements to 2019Rémi Verschelde2019-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Merge pull request #20385 from moiman100/unify-double-clickingRémi Verschelde2018-12-141-0/+4
|\ | | | | Added double clicking to all buttons on Linux and Javascript
| * Added double clicking to all buttonsMikko Mustonen2018-08-121-0/+4
| |
* | Add proper stubs for OS_JavaScript::execute(), get_process_id(), kill()Leon Krause2018-10-291-0/+4
| | | | | | | | Avoids linker warnings and errors about undefined references.
* | Fix build for Javascript platformmuiroc2018-10-011-1/+1
| |
* | Implement OS::set_icon in HTML5 platformLeon Krause2018-09-161-0/+1
| |
* | Merge pull request #21330 from eska014/html5-canvas-resizeRémi Verschelde2018-08-231-3/+2
|\ \ | |/ |/| Facilitate external modification of HTML5 canvas size
| * Facilitate external modification of HTML5 canvas sizeLeon Krause2018-08-231-3/+2
| |
* | -Project/Editor settings now use new inspectorJuan Linietsky2018-07-191-0/+4
|/ | | | | | | -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
* Refactor OS_JavaScriptLeon Krause2018-07-101-71/+62
|
* Refactor JavaScript platform build scriptLeon Krause2018-03-261-3/+0
|
* Fix HTML5 feature tagsLeon Krause2018-01-121-3/+0
| | | | | | | 'HTML5' is the platform tag, the 'JavaScript' tag indicates availability of the JavaScript.eval singleton. Also report texture compression support.
* Add missing method for javascriptGuilherme Silva2018-01-051-0/+1
|
* Add missing copyright headers and fix formattingRémi Verschelde2018-01-051-0/+1
| | | | | | 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.
* Change OS::initialize signature to return Error (fix segfault on x11)Emmanuel Leblond2018-01-041-1/+1
|
* Update copyright statements to 2018Rémi Verschelde2018-01-011-2/+2
| | | | Happy new year to the wonderful Godot community!
* Return and repair file loggingRuslan Mustakov2017-11-211-1/+0
| | | | And make it configurable, too.
* Merge pull request #12988 from akien-mga/xdg-home-pathsRémi Verschelde2017-11-201-4/+4
|\ | | | | Add support for XDG Base Directory spec
| * Rename OS::get_data_dir to OS::get_user_data_dirRémi Verschelde2017-11-171-4/+4
| | | | | | | | | | Will be needed to avoid confusion with system data path (XDG_DATA_HOME) and editor data dir in upcoming refactoring.
* | Facilitate exposing platform-exclusive interfaces to all platformsLeon Krause2017-11-181-5/+0
|/ | | | | | | | | | | This makes the interfaces available, without implementation, in other platforms and the editor, which facilitates documenting platform-exclusive classes. Platform-exclusive APIs must be set up in platform/<platform>/api/api.cpp. Provide noop method-implementations where necessary. Also setup and document the HTML5 platform's JavaScript singleton.
* Make video mode initialization more intuitive, fixes #12022Juan Linietsky2017-11-091-2/+0
|
* Merge pull request #12691 from eska014/webaudioRémi Verschelde2017-11-061-1/+0
|\ | | | | Fix WebAudio and HTML5 build