summaryrefslogtreecommitdiffstats
path: root/platform/javascript/godot_js.h
Commit message (Collapse)AuthorAgeFilesLines
* Add support for multiple virtual keyboard typesBrian Semrau2022-08-041-1/+1
|
* HTML5: Add support for `Input.vibrate_handheld()`pattlebass2022-07-271-0/+1
|
* Code quality: Fix header guards consistencyRémi Verschelde2022-07-251-1/+1
| | | | | Adds `header_guards.sh` bash script, used in CI to validate future changes. Can be run locally to fix invalid header guards.
* Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and ↵bruvzg2022-04-281-0/+10
| | | | | | Windows. Implement TextServer word break method.
* [HTML5] Implement JavaScript PWA update callbacks.Fabio Alessandrelli2022-02-061-0/+2
| | | | | | Allows detecting when a new version of the progressive web app service worker is waiting (i.e. an update is pending), along a function to force the update and reload all clients.
* Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
| | | | Happy new year to the wonderful Godot community!
* [HTML5] Refactor display/input JS library code.Fabio Alessandrelli2021-10-051-14/+16
|
* [HTML5] Implement Pointer Lock API in JS library.Fabio Alessandrelli2021-10-051-0/+2
| | | | Removes more emscripten HTML5 library dependencies.
* [HTML5] Implement window blur in JS library.Fabio Alessandrelli2021-10-051-0/+1
| | | | Removes more emscripten HTML5 library dependencies.
* [HTML5] Implement fullscreenchange in JS library.Fabio Alessandrelli2021-10-051-0/+1
| | | | Removes more emscripten HTML5 library dependencies.
* [HTML5] Implement mouse/touch/key events in JS library.Fabio Alessandrelli2021-10-051-1/+5
| | | | | This makes us more independent from emscripten libraries, giving us more control on the application lifecycle.
* [HTML5] Fix some JS library signature.Fabio Alessandrelli2021-06-141-1/+1
|
* [HTML5] Implement WebGL fallback.Fabio Alessandrelli2021-04-061-0/+1
| | | | | According to project settings and when WebGL2 is not available. This does nothing in current master, as we have no rendering yet!
* [HTML5] Opt-in virtual keyboard support.Fabio Alessandrelli2021-03-111-0/+7
| | | | | | | | | | | | | | | Added as an export option "Experimental Virtual Keyboard". There is no zoom, so text/line edit must be in the top part of the screen, or it will get hidden by the virtual keyboard. UTF8/Latin-1 only (I think regular UTF-8 should work out of the box in 4.0 but I can't test it). It uses an hidden textarea or input, based on the multiline variable, and only gets activated if the device has a touchscreen. This could cause problems on devices with both touchscreen and a real keyboard (although input should still work in general with some minor focus issues). I'm thinking of a system to detect the first physical keystroke and disable it in case, but it might do more harm then good, so it must be well thought.
* [HTML5] Respect allow_hidpi option during setupFabio Alessandrelli2021-03-081-1/+1
| | | | The option was forced to `true` before, unlike on other platforms.
* [HTML5] Better fullscreen, canvas resizing.Fabio Alessandrelli2021-02-191-4/+8
| | | | | | | | | | | Three canvas resize policies: - `None`: Godot window settings are ignored. - `Project`: Godot handles the canvas like a native app (resizing it when setting the window size). - `Adaptive`: Canvas size will always adapt to browser window size. Use `None` if you want to control the canvas size with custom JavaScript code.
* [HTML5] Easier HTML templates, better deinit/cleanup.Fabio Alessandrelli2021-02-191-1/+1
|
* [HTML5] Implement get_processor_count.Fabio Alessandrelli2021-02-171-0/+1
|
* [HTML5] Detect screen scale and DPI.Fabio Alessandrelli2021-02-121-0/+1
| | | | | | | | `OS.get_screen_scale` will now return the `window.devicePixelRatio` value, `OS.get_screen_dpi` uses CSS media queries to find approximate DPI value for the current display. `OS.get_screen_size` also return the actual screen size (not the CSS pixel size).
* [HTML5] Handle contextmenu, webglcontextlost internally.Fabio Alessandrelli2021-02-111-0/+1
| | | | | This way they are automatically cleaned up when the engine exits, landing a hand to browsers garbage collectors.
* [HTML5] Custom Gamepad library to allow remapping.Fabio Alessandrelli2021-01-181-0/+6
| | | | | | | No longer use emscripten functions for gamepads, implement them as library functions in library_godot_display.js instead. This allows us to do a better job at "guessing" vendorId, productId, OS, etc. thus allowing us to better find the remapping for the controller.
* Update copyright statements to 2021Rémi Verschelde2021-01-011-2/+2
| | | | | | | | | | | | | | Happy new year to the wonderful Godot community! 2020 has been a tough year for most of us personally, but a good year for Godot development nonetheless with a huge amount of work done towards Godot 4.0 and great improvements backported to the long-lived 3.2 branch. We've had close to 400 contributors to engine code this year, authoring near 7,000 commit! (And that's only for the `master` branch and for the engine code, there's a lot more when counting docs, demos and other first-party repos.) Here's to a great year 2021 for all Godot users 🎆
* [HTML5] Port JavaScript inline code to libraries.Fabio Alessandrelli2020-11-101-0/+87
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).