summaryrefslogtreecommitdiffstats
path: root/platform/javascript/display_server_javascript.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #61020 from timothyqiu/wait-busyRémi Verschelde2022-05-191-2/+2
|\
| * Swap the meaning of CURSOR_WAIT and CURSOR_BUSYHaoyu Qiu2022-05-141-2/+2
| |
* | Replace most uses of Map by HashMapreduz2022-05-161-2/+2
|/ | | | | | | | | | | | * Map is unnecessary and inefficient in almost every case. * Replaced by the new HashMap. * Renamed Map to RBMap and Set to RBSet for cases that still make sense (order matters) but use is discouraged. There were very few cases where replacing by HashMap was undesired because keeping the key order was intended. I tried to keep those (as RBMap) as much as possible, but might have missed some. Review appreciated!
* Remove `RES` and `REF` typedefs in favor of spelled out `Ref<>`Hugo Locurcio2022-05-031-1/+1
| | | | | | These typedefs don't save much typing compared to the full `Ref<Resource>` and `Ref<RefCounted>`, yet they sometimes introduce confusion among new contributors.
* Implement text-to-speech support on Android, iOS, HTML5, Linux, macOS and ↵bruvzg2022-04-281-0/+86
| | | | | | Windows. Implement TextServer word break method.
* Split dummy renderer classes into separate filesBastiaan Olij2022-03-161-1/+1
| | | | Split canvas_texture_storage and texture_storage from render_storage class
* Style: Cleanup single-line blocks, semicolons, dead codeRémi Verschelde2022-02-161-4/+7
| | | | | Remove currently unused implementation of TextureBasisU, could be re-added later on if needed and ported.
* Merge pull request #57341 from bruvzg/win_multiwin_fsRémi Verschelde2022-02-041-1/+2
|\
| * [Windows] Add WS_BORDER flag to windows in WINDOW_MODE_FULLSCREEN mode to ↵bruvzg2022-02-041-1/+2
| | | | | | | | | | | | allow multi-window interface in full-screen. [Windows] Add WINDOW_MODE_EXCLUSIVE_FULLSCREEN without WS_BORDER flag enabled (no multi-window support).
* | Add screen_get_refresh_rate to DisplayServerjordi2022-02-031-0/+4
|/
* Merge pull request #56754 from madmiraal/fix-45592Rémi Verschelde2022-01-241-3/+0
|\
| * Use mouse event relative motion to calculate mouse velocityMarcel Admiraal2022-01-131-3/+0
| |
* | Merge pull request #56012 from bruvzg/wt🤎4Rémi Verschelde2022-01-171-1/+0
|\ \
| * | [Windows] Improve console handling and execute/create_process.bruvzg2021-12-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Always build with the GUI subsystem. Redirect stdout and stderr output to the parent process console. Use CreateProcessW for blocking `execute` calls with piped stdout and stderr (prevent console windows for popping up when used with the GUI subsystem build, and have more consistent behavior with `create_process`). Add `open_console` argument to the `execute` and `create_process` to open a new console window. Remove `interface/editor/hide_console_window` editor setting. Remove `Toggle System Console` menu option. Remove `set_console_visible` and `is_console_visible` functions.
* | | Fix Actions mapped to triggers not using the full rangeMarcel Admiraal2022-01-141-11/+3
| |/ |/|
* | Merge pull request #56322 from madmiraal/fix-42450Rémi Verschelde2022-01-111-1/+1
|\ \
| * | Rename speed to velocity when it's a directional VectorMarcel Admiraal2021-12-291-1/+1
| |/
* | Fix multiple missing UTF-8 decoding.bruvzg2022-01-061-2/+2
| |
* | Update copyright statements to 2022Rémi Verschelde2022-01-031-2/+2
|/ | | | Happy new year to the wonderful Godot community!
* [HTML5] Add WebGL2 (GLES3) support using the OpenGL renderer.Fabio Alessandrelli2021-11-191-48/+54
| | | | | | | Note, the editor build requires the mbedtls module to be manually enabled, as it is currently needed as a ResourceUID dependency. This will need to be addressed in a separate PR.
* Use "enum class" for input enumsAaron Franke2021-11-121-24/+25
|
* Use OpenGL 3.3 core profile instead of compatibility profileClay John2021-10-311-3/+3
| | | | | | | | | | - Rename OpenGL to GLES3 in the source code per community feedback. - The renderer is still exposed as "OpenGL 3" to the user. - Hide renderer selection dropdown until OpenGL support is more mature. - The renderer can still be changed in the Project Settings or using the `--rendering-driver opengl` command line argument. - Remove commented out exporter code. - Remove some OpenGL/DisplayServer-related debugging prints.
* Rename GLES2 driver to OpenGL to prepare for the upgrade to GLES3Hugo Locurcio2021-10-301-4/+4
| | | | | - Use lowercase driver names for the `--rendering-driver` command line argument.
* [HTML5] Refactor display/input JS library code.Fabio Alessandrelli2021-10-051-11/+14
|
* [HTML5] Implement Pointer Lock API in JS library.Fabio Alessandrelli2021-10-051-8/+7
| | | | Removes more emscripten HTML5 library dependencies.
* [HTML5] Implement window blur in JS library.Fabio Alessandrelli2021-10-051-19/+2
| | | | Removes more emscripten HTML5 library dependencies.
* [HTML5] Implement fullscreenchange in JS library.Fabio Alessandrelli2021-10-051-16/+6
| | | | Removes more emscripten HTML5 library dependencies.
* [HTML5] Implement mouse/touch/key events in JS library.Fabio Alessandrelli2021-10-051-169/+99
| | | | | This makes us more independent from emscripten libraries, giving us more control on the application lifecycle.
* Release pressed events when the window is blurred on HTML5 platformSelgesel2021-09-231-0/+7
|
* [HTML5] Fix wheel/touch callback modifying event after parse.Fabio Alessandrelli2021-09-151-5/+6
| | | | | The events should be duplicated or reinstantiated without assuming that parse_input will consume them immediately.
* [HTML5] Fix input not working when buffered.Fabio Alessandrelli2021-09-121-0/+21
| | | | | | | | | | | After input buffering was reworked, input accumulation is now handled outside of OS, and the JavaScript plaform never implemented that. Additionally, the JavaScript platform is quite obnoxious about calling specific APIs outside specific user triggered events. This commit adds event flushing during the main iteration, and forces it during keydown/keyup/mousedown/mouseup/touchstart/touchend/touchcanel events (effectively only accumulating only "move" events).
* Use Key enum instead of plain integersAaron Franke2021-08-101-1/+1
|
* Move `alert` function from `DisplayServer` to `OS`.bruvzg2021-07-221-4/+0
|
* [HTML5] Fix build (with module_webxr_enabled=no).Fabio Alessandrelli2021-07-151-8/+8
| | | | | The XR API changed a bit, and it's not just a rename, though probably an easy update for someone who is qualified :).
* Use mouse and joypad enums instead of plain integersAaron Franke2021-06-201-4/+4
| | | | Also MIDIMessage
* Rename `instance()`->`instantiate()` when it's a verbLightning_A2021-06-191-8/+8
|
* Add MOUSE_MODE_CONFINED_HIDDENAaron Franke2021-06-031-2/+3
| | | | Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
* Move remaining dummy drivers to servers.Fabio Alessandrelli2021-06-011-1/+1
|
* Fix typos with codespellRémi Verschelde2021-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using codespell 2.0.0. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn GIRD leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
* Merge pull request #48168 from LightningAA/control-to-ctrl-4.0Rémi Verschelde2021-05-171-8/+8
|\
| * Rename "Control" key to "Ctrl" and add "_pressed" suffix to all ↵Lightning_A2021-05-071-8/+8
| | | | | | | | InputEventWithModifiers properties/methods
* | OS: Remove native video API only implemented on iOSRémi Verschelde2021-05-071-1/+0
|/ | | | | | See discussion in #43811, it was only implemented on iOS and even that implementation was fairly limited. This would best be provided as plugins for Android and iOS without cluttering the shared OS API.
* Rename `doubleclick` to `double_click`Aaron Franke2021-05-041-2/+2
|
* Replace remaining uses of `NULL` with `nullptr`Rémi Verschelde2021-04-291-3/+3
| | | | Follow-up to #38736 (these uses were likely added after this PR was merged).
* Rename Texture.get_data() to get_image()Marcel Admiraal2021-03-281-2/+2
|
* Rename some more global enums (Key, Joy, MIDI)Aaron Franke2021-03-231-2/+2
|
* Rename ButtonList enum and members to MouseButtonAaron Franke2021-03-231-9/+9
|
* [HTML5] Opt-in virtual keyboard support.Fabio Alessandrelli2021-03-111-2/+41
| | | | | | | | | | | | | | | 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-57/+18
| | | | | | | | | | | 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.