Skip to content

Commit 85a87ba

Browse files
authored
Support IsWindowHidden() on web. (#4789)
1 parent 015ab9d commit 85a87ba

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

src/platforms/rcore_web.c

+12
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ static EM_BOOL EmscriptenFullscreenChangeCallback(int eventType, const Emscripte
134134
// static EM_BOOL EmscriptenWindowResizedCallback(int eventType, const EmscriptenUiEvent *event, void *userData);
135135
static EM_BOOL EmscriptenResizeCallback(int eventType, const EmscriptenUiEvent *event, void *userData);
136136
static EM_BOOL EmscriptenFocusCallback(int eventType, const EmscriptenFocusEvent *focusEvent, void *userData);
137+
static EM_BOOL EmscriptenVisibilityChangeCallback(int eventType, const EmscriptenVisibilityChangeEvent *visibilityChangeEvent, void *userData);
137138

138139
// Emscripten input callback events
139140
static EM_BOOL EmscriptenMouseMoveCallback(int eventType, const EmscriptenMouseEvent *mouseEvent, void *userData);
@@ -1383,6 +1384,10 @@ int InitPlatform(void)
13831384
// Support focus events
13841385
emscripten_set_blur_callback(GetCanvasId(), platform.handle, 1, EmscriptenFocusCallback);
13851386
emscripten_set_focus_callback(GetCanvasId(), platform.handle, 1, EmscriptenFocusCallback);
1387+
1388+
// Support visibility events
1389+
emscripten_set_visibilitychange_callback(NULL, 1, EmscriptenVisibilityChangeCallback);
1390+
13861391
//----------------------------------------------------------------------------
13871392

13881393
// Initialize timing system
@@ -1758,6 +1763,13 @@ static EM_BOOL EmscriptenFocusCallback(int eventType, const EmscriptenFocusEvent
17581763
return consumed;
17591764
}
17601765

1766+
static EM_BOOL EmscriptenVisibilityChangeCallback(int eventType, const EmscriptenVisibilityChangeEvent *visibilityChangeEvent, void *userData)
1767+
{
1768+
if (visibilityChangeEvent->hidden) CORE.Window.flags |= FLAG_WINDOW_HIDDEN; // The window was hidden
1769+
else CORE.Window.flags &= ~FLAG_WINDOW_HIDDEN; // The window was restored
1770+
return 1; // The event was consumed by the callback handler
1771+
}
1772+
17611773
// Register touch input events
17621774
static EM_BOOL EmscriptenTouchCallback(int eventType, const EmscriptenTouchEvent *touchEvent, void *userData)
17631775
{

0 commit comments

Comments
 (0)