diff options
Diffstat (limited to 'platform/javascript/display_server_javascript.cpp')
| -rw-r--r-- | platform/javascript/display_server_javascript.cpp | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/platform/javascript/display_server_javascript.cpp b/platform/javascript/display_server_javascript.cpp index c00a1cd57b..04f3a3cbca 100644 --- a/platform/javascript/display_server_javascript.cpp +++ b/platform/javascript/display_server_javascript.cpp @@ -62,20 +62,13 @@ bool DisplayServerJavaScript::check_size_force_redraw() { return godot_js_display_size_update() != 0; } -EM_BOOL DisplayServerJavaScript::fullscreen_change_callback(int p_event_type, const EmscriptenFullscreenChangeEvent *p_event, void *p_user_data) { +void DisplayServerJavaScript::fullscreen_change_callback(int p_fullscreen) { DisplayServerJavaScript *display = get_singleton(); - // Empty ID is canvas. - String target_id = String::utf8(p_event->id); - if (target_id.is_empty() || target_id == String::utf8(&(display->canvas_id[1]))) { - // This event property is the only reliable data on - // browser fullscreen state. - if (p_event->isFullscreen) { - display->window_mode = WINDOW_MODE_FULLSCREEN; - } else { - display->window_mode = WINDOW_MODE_WINDOWED; - } + if (p_fullscreen) { + display->window_mode = WINDOW_MODE_FULLSCREEN; + } else { + display->window_mode = WINDOW_MODE_WINDOWED; } - return false; } // Drag and drop callback. @@ -736,7 +729,6 @@ DisplayServerJavaScript::DisplayServerJavaScript(const String &p_rendering_drive // These callbacks from Emscripten's html5.h suffice to access most // JavaScript APIs. SET_EM_WINDOW_CALLBACK(blur, blur_callback) - SET_EM_CALLBACK(EMSCRIPTEN_EVENT_TARGET_DOCUMENT, fullscreenchange, fullscreen_change_callback) #undef SET_EM_CALLBACK #undef EM_CHECK @@ -745,9 +737,7 @@ DisplayServerJavaScript::DisplayServerJavaScript(const String &p_rendering_drive godot_js_display_mouse_wheel_cb(&DisplayServerJavaScript::mouse_wheel_callback); godot_js_display_touch_cb(&DisplayServerJavaScript::touch_callback, touch_event.identifier, touch_event.coords); godot_js_display_key_cb(&DisplayServerJavaScript::key_callback, key_event.code, key_event.key); - - // For APIs that are not (sufficiently) exposed, a - // library is used below (implemented in library_godot_display.js). + godot_js_display_fullscreen_cb(&DisplayServerJavaScript::fullscreen_change_callback); godot_js_display_notification_cb(&send_window_event_callback, WINDOW_EVENT_MOUSE_ENTER, WINDOW_EVENT_MOUSE_EXIT, |