Implement HTML5 cancel/ok button swap on Windows.

Platform is detected on init via the `navigator.platform` string.
This commit is contained in:
Fabio Alessandrelli 2020-07-27 13:53:03 +02:00
parent 3e96ba220e
commit 0b286a287c
2 changed files with 18 additions and 0 deletions

View file

@ -831,6 +831,17 @@ DisplayServer *DisplayServerJavaScript::create_func(const String &p_rendering_dr
DisplayServerJavaScript::DisplayServerJavaScript(const String &p_rendering_driver, WindowMode p_mode, uint32_t p_flags, const Vector2i &p_resolution, Error &r_error) {
r_error = OK; // Always succeeds for now.
/* clang-format off */
swap_cancel_ok = EM_ASM_INT({
const win = (['Windows', 'Win64', 'Win32', 'WinCE']);
const plat = navigator.platform || "";
if (win.indexOf(plat) !== -1) {
return 1;
}
return 0;
}) == 1;
/* clang-format on */
RasterizerDummy::make_current(); // TODO GLES2 in Godot 4.0... or webgpu?
#if 0
EmscriptenWebGLContextAttributes attributes;
@ -1183,6 +1194,10 @@ int DisplayServerJavaScript::get_current_video_driver() const {
return 1;
}
bool DisplayServerJavaScript::get_swap_cancel_ok() {
return swap_cancel_ok;
}
void DisplayServerJavaScript::swap_buffers() {
//emscripten_webgl_commit_frame();
}