diff --git a/src/platforms/rcore_web.c b/src/platforms/rcore_web.c index cc89098fb..9156f1599 100644 --- a/src/platforms/rcore_web.c +++ b/src/platforms/rcore_web.c @@ -1132,15 +1132,7 @@ int InitPlatform(void) if ((CORE.Window.flags & FLAG_WINDOW_UNDECORATED) > 0) glfwWindowHint(GLFW_DECORATED, GLFW_FALSE); // Border and buttons on Window else glfwWindowHint(GLFW_DECORATED, GLFW_TRUE); // Decorated window - if ((CORE.Window.flags & FLAG_WINDOW_RESIZABLE) > 0) - { - glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE); // Resizable window - - // bypass hidpi code block in libglfw.js - // https://github.com/raysan5/raylib/pull/4945#issuecomment-2906956170 - //------------------------------------------------------------------------ - glfwWindowHint(GLFW_SCALE_TO_MONITOR, GLFW_TRUE); - } + if ((CORE.Window.flags & FLAG_WINDOW_RESIZABLE) > 0) glfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE); // Resizable window else glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE); // Avoid window being resizable // Disable FLAG_WINDOW_MINIMIZED, not supported on initialization @@ -1633,24 +1625,7 @@ static void MouseEnterCallback(GLFWwindow *window, int enter) static EM_BOOL EmscriptenKeyboardCallback(int eventType, const EmscriptenKeyboardEvent *keyboardEvent, void *userData) { // WARNING: Keyboard inputs already processed through GLFW callback - - // NOTE: 1. Reset the fullscreen flags if the user left fullscreen manually by pressing the Escape key - // 2. Which is a necessary safeguard because that case will bypass the toggles CORE.Window.flags resets - if (platform.ourFullscreen) platform.ourFullscreen = false; - else - { - const bool wasFullscreen = EM_ASM_INT( { if (document.fullscreenElement) return 1; }, 0); - if (!wasFullscreen) - { - CORE.Window.fullscreen = false; - CORE.Window.flags &= ~FLAG_FULLSCREEN_MODE; - CORE.Window.flags &= ~FLAG_BORDERLESS_WINDOWED_MODE; - } - } - - // Trigger resize event after a brief pause to ensure the canvas exists to resize - EM_ASM({ setTimeout(function() { window.dispatchEvent(new Event("resize")); }, 50); }); - + return 1; // The event was consumed by the callback handler } */ @@ -1658,42 +1633,7 @@ static EM_BOOL EmscriptenKeyboardCallback(int eventType, const EmscriptenKeyboar // Emscripten: Called on mouse input events static EM_BOOL EmscriptenMouseCallback(int eventType, const EmscriptenMouseEvent *mouseEvent, void *userData) { - // NOTE: Current code solves mouse position problems with the 3 possible approaches to canvas scaling - // 1. Canvas not scaled, framebuffer size is fixed - // 2. Canvas is scaled to 100% browser size, framebuffer size is fixed - // 3. Canvas is resized to browser size, framebuffer is resized - - // Don't resize non-resizeable windows - if ((CORE.Window.flags & FLAG_WINDOW_RESIZABLE) == 0) return 1; - - // This event is called whenever the window changes sizes, - // so the size of the canvas object is explicitly retrieved below - int width = EM_ASM_INT( return window.innerWidth; ); - int height = EM_ASM_INT( return window.innerHeight; ); - - if (width < (int)CORE.Window.screenMin.width) width = CORE.Window.screenMin.width; - else if ((width > (int)CORE.Window.screenMax.width) && (CORE.Window.screenMax.width > 0)) width = CORE.Window.screenMax.width; - - if (height < (int)CORE.Window.screenMin.height) height = CORE.Window.screenMin.height; - else if ((height > (int)CORE.Window.screenMax.height) && (CORE.Window.screenMax.height > 0)) height = CORE.Window.screenMax.height; - - emscripten_set_canvas_element_size(GetCanvasId(), width, height); - - glfwSetWindowSize(platform.handle, width, height); // Inform glfw of the new size - - SetupViewport(width, height); // Reset viewport and projection matrix for new size - - CORE.Window.currentFbo.width = width; - CORE.Window.currentFbo.height = height; - CORE.Window.resizedLastFrame = true; - - if (IsWindowFullscreen()) return 1; - - // Set current screen size - CORE.Window.screen.width = width; - CORE.Window.screen.height = height; - - // WARNING: RenderTextures are not scaled to new size + // This is only for registering mouse click events with emscripten and doesn't need to do anything return 1; // The event was consumed by the callback handler }