Skip to content

Commit

Permalink
Implement FLAG_WINDOW_RESIZABLE for web (#3305)
Browse files Browse the repository at this point in the history
Fixes #3231
  • Loading branch information
Peter0x44 authored Sep 11, 2023
1 parent e75f85c commit 9d230d7
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/rcore.c
Original file line number Diff line number Diff line change
Expand Up @@ -914,9 +914,9 @@ void InitWindow(int width, int height, const char *title)
// Check fullscreen change events(note this is done on the window since most browsers don't support this on #canvas)
//emscripten_set_fullscreenchange_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, NULL, 1, EmscriptenResizeCallback);
// Check Resize event (note this is done on the window since most browsers don't support this on #canvas)
//emscripten_set_resize_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, NULL, 1, EmscriptenResizeCallback);
emscripten_set_resize_callback(EMSCRIPTEN_EVENT_TARGET_WINDOW, NULL, 1, EmscriptenResizeCallback);
// Trigger this once to get initial window sizing
//EmscriptenResizeCallback(EMSCRIPTEN_EVENT_RESIZE, NULL, NULL);
EmscriptenResizeCallback(EMSCRIPTEN_EVENT_RESIZE, NULL, NULL);

// Support keyboard events -> Not used, GLFW.JS takes care of that
//emscripten_set_keypress_callback("#canvas", NULL, 1, EmscriptenKeyboardCallback);
Expand Down Expand Up @@ -6165,8 +6165,8 @@ static EM_BOOL EmscriptenWindowResizedCallback(int eventType, const EmscriptenUi
return 1; // The event was consumed by the callback handler
}

EM_JS(int, GetCanvasWidth, (), { return canvas.clientWidth; });
EM_JS(int, GetCanvasHeight, (), { return canvas.clientHeight; });
EM_JS(int, GetWindowInnerWidth, (), { return window.innerWidth; });
EM_JS(int, GetWindowInnerHeight, (), { return window.innerHeight; });

// Register DOM element resize event
static EM_BOOL EmscriptenResizeCallback(int eventType, const EmscriptenUiEvent *event, void *userData)
Expand All @@ -6176,8 +6176,8 @@ static EM_BOOL EmscriptenResizeCallback(int eventType, const EmscriptenUiEvent *

// This event is called whenever the window changes sizes,
// so the size of the canvas object is explicitly retrieved below
int width = GetCanvasWidth();
int height = GetCanvasHeight();
int width = GetWindowInnerWidth();
int height = GetWindowInnerHeight();
emscripten_set_canvas_element_size("#canvas",width,height);

SetupViewport(width, height); // Reset viewport and projection matrix for new size
Expand Down

0 comments on commit 9d230d7

Please sign in to comment.