mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-05-24 13:39:11 +00:00
emscripten: Add a hint for specifying the canvas selector
Now that we're not going through EGL, this is easy
This commit is contained in:
parent
b5aedaad59
commit
d75fb0995d
2 changed files with 16 additions and 1 deletions
|
@ -366,6 +366,15 @@ extern "C" {
|
||||||
*/
|
*/
|
||||||
#define SDL_HINT_EMSCRIPTEN_ASYNCIFY "SDL_EMSCRIPTEN_ASYNCIFY"
|
#define SDL_HINT_EMSCRIPTEN_ASYNCIFY "SDL_EMSCRIPTEN_ASYNCIFY"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Specify the CSS selector used for the "default" window/canvas
|
||||||
|
*
|
||||||
|
* This hint only applies to the emscripten platform
|
||||||
|
*
|
||||||
|
* The default value is "#canvas"
|
||||||
|
*/
|
||||||
|
#define SDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR "SDL_EMSCRIPTEN_CANVAS_SELECTOR"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief override the binding element for keyboard inputs for Emscripten builds
|
* \brief override the binding element for keyboard inputs for Emscripten builds
|
||||||
*
|
*
|
||||||
|
|
|
@ -215,6 +215,7 @@ Emscripten_CreateWindow(_THIS, SDL_Window * window)
|
||||||
SDL_WindowData *wdata;
|
SDL_WindowData *wdata;
|
||||||
double scaled_w, scaled_h;
|
double scaled_w, scaled_h;
|
||||||
double css_w, css_h;
|
double css_w, css_h;
|
||||||
|
const char *selector;
|
||||||
|
|
||||||
/* Allocate window internal data */
|
/* Allocate window internal data */
|
||||||
wdata = (SDL_WindowData *) SDL_calloc(1, sizeof(SDL_WindowData));
|
wdata = (SDL_WindowData *) SDL_calloc(1, sizeof(SDL_WindowData));
|
||||||
|
@ -222,7 +223,12 @@ Emscripten_CreateWindow(_THIS, SDL_Window * window)
|
||||||
return SDL_OutOfMemory();
|
return SDL_OutOfMemory();
|
||||||
}
|
}
|
||||||
|
|
||||||
wdata->canvas_id = SDL_strdup("#canvas");
|
selector = SDL_GetHint(SDL_HINT_EMSCRIPTEN_CANVAS_SELECTOR);
|
||||||
|
if (!selector) {
|
||||||
|
selector = "#canvas";
|
||||||
|
}
|
||||||
|
|
||||||
|
wdata->canvas_id = SDL_strdup(selector);
|
||||||
|
|
||||||
if (window->flags & SDL_WINDOW_ALLOW_HIGHDPI) {
|
if (window->flags & SDL_WINDOW_ALLOW_HIGHDPI) {
|
||||||
wdata->pixel_ratio = emscripten_get_device_pixel_ratio();
|
wdata->pixel_ratio = emscripten_get_device_pixel_ratio();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue