Mac and Linux SDL2 binary snapshots
Edward Rudd
2021-06-15 dec7875a6e23212021e4d9080330a42832dfe02a
source/src/video/emscripten/SDL_emscriptenvideo.c
@@ -42,6 +42,7 @@
static int Emscripten_VideoInit(_THIS);
static int Emscripten_SetDisplayMode(_THIS, SDL_VideoDisplay * display, SDL_DisplayMode * mode);
static void Emscripten_VideoQuit(_THIS);
static int Emscripten_GetDisplayUsableBounds(_THIS, SDL_VideoDisplay * display, SDL_Rect * rect);
static int Emscripten_CreateWindow(_THIS, SDL_Window * window);
static void Emscripten_SetWindowSize(_THIS, SDL_Window * window);
@@ -52,12 +53,6 @@
/* Emscripten driver bootstrap functions */
static int
Emscripten_Available(void)
{
    return (1);
}
static void
Emscripten_DeleteDevice(SDL_VideoDevice * device)
@@ -86,6 +81,7 @@
    /* Set the function pointers */
    device->VideoInit = Emscripten_VideoInit;
    device->VideoQuit = Emscripten_VideoQuit;
    device->GetDisplayUsableBounds = Emscripten_GetDisplayUsableBounds;
    device->SetDisplayMode = Emscripten_SetDisplayMode;
@@ -130,7 +126,7 @@
VideoBootStrap Emscripten_bootstrap = {
    EMSCRIPTENVID_DRIVER_NAME, "SDL emscripten video driver",
    Emscripten_Available, Emscripten_CreateDevice
    Emscripten_CreateDevice
};
@@ -175,6 +171,22 @@
Emscripten_VideoQuit(_THIS)
{
    Emscripten_FiniMouse();
}
static int
Emscripten_GetDisplayUsableBounds(_THIS, SDL_VideoDisplay * display, SDL_Rect * rect)
{
    if (rect) {
        rect->x = 0;
        rect->y = 0;
        rect->w = EM_ASM_INT_V({
            return window.innerWidth;
        });
        rect->h = EM_ASM_INT_V({
            return window.innerHeight;
        });
    }
    return 0;
}
static void
@@ -348,8 +360,8 @@
static void
Emscripten_SetWindowTitle(_THIS, SDL_Window * window) {
    EM_ASM_INT({
      if (typeof Module['setWindowTitle'] !== 'undefined') {
        Module['setWindowTitle'](UTF8ToString($0));
      if (typeof setWindowTitle !== 'undefined') {
        setWindowTitle(UTF8ToString($0));
      }
      return 0;
    }, window->title);