Przeglądaj źródła

[rcore] Add `ToggleBorderlessWindowed()` implementation for `PLATFORM_WEB` (#3622)

* Add ToggleBorderlessWindowed() for PLATFORM_WEB

* Fix coding convention
pull/3628/head
ubkp 1 rok temu
committed by GitHub
rodzic
commit
39457ace2f
Nie znaleziono w bazie danych klucza dla tego podpisu ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 27 dodań i 1 usunięć
  1. +27
    -1
      src/platforms/rcore_web.c

+ 27
- 1
src/platforms/rcore_web.c Wyświetl plik

@ -211,7 +211,33 @@ void ToggleFullscreen(void)
// Toggle borderless windowed mode
void ToggleBorderlessWindowed(void)
{
TRACELOG(LOG_WARNING, "ToggleBorderlessWindowed() not available on target platform");
const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0);
if (wasFullscreen)
{
EM_ASM(document.exitFullscreen(););
CORE.Window.fullscreen = false;
CORE.Window.flags &= ~FLAG_FULLSCREEN_MODE;
}
if (!IsWindowState(FLAG_BORDERLESS_WINDOWED_MODE))
{
// NOTE: 1. The setTimeouts handle the browser mode change delay
// 2. The style unset handles the possibility of a width="100%" like on the default shell.html file
EM_ASM(
setTimeout(function()
{
Module.requestFullscreen(true, true);
setTimeout(function()
{
canvas.style.width="unset";
}, 100);
}, 100);
);
CORE.Window.flags |= FLAG_BORDERLESS_WINDOWED_MODE;
}
else CORE.Window.flags &= ~FLAG_BORDERLESS_WINDOWED_MODE;
}
// Set window state: maximized, if resizable

Ładowanie…
Anuluj
Zapisz