mirror of https://github.com/encounter/SDL.git
emscripten: check if device pixel ratio has changed
This commit is contained in:
parent
bc93bdb921
commit
01f6273675
|
@ -545,6 +545,10 @@ EM_BOOL
|
||||||
Emscripten_HandleResize(int eventType, const EmscriptenUiEvent *uiEvent, void *userData)
|
Emscripten_HandleResize(int eventType, const EmscriptenUiEvent *uiEvent, void *userData)
|
||||||
{
|
{
|
||||||
SDL_WindowData *window_data = userData;
|
SDL_WindowData *window_data = userData;
|
||||||
|
|
||||||
|
/* update pixel ratio */
|
||||||
|
window_data->pixel_ratio = emscripten_get_device_pixel_ratio();
|
||||||
|
|
||||||
if(!(window_data->window->flags & FULLSCREEN_MASK))
|
if(!(window_data->window->flags & FULLSCREEN_MASK))
|
||||||
{
|
{
|
||||||
/* this will only work if the canvas size is set through css */
|
/* this will only work if the canvas size is set through css */
|
||||||
|
|
|
@ -209,7 +209,7 @@ Emscripten_CreateWindow(_THIS, SDL_Window * window)
|
||||||
|
|
||||||
emscripten_get_element_css_size(NULL, &css_w, &css_h);
|
emscripten_get_element_css_size(NULL, &css_w, &css_h);
|
||||||
|
|
||||||
wdata->external_size = css_w != scaled_w || css_h != scaled_h;
|
wdata->external_size = SDL_floor(css_w) != scaled_w || SDL_floor(css_h) != scaled_h;
|
||||||
|
|
||||||
if ((window->flags & SDL_WINDOW_RESIZABLE) && wdata->external_size) {
|
if ((window->flags & SDL_WINDOW_RESIZABLE) && wdata->external_size) {
|
||||||
/* external css has resized us */
|
/* external css has resized us */
|
||||||
|
@ -262,6 +262,8 @@ static void Emscripten_SetWindowSize(_THIS, SDL_Window * window)
|
||||||
|
|
||||||
if (window->driverdata) {
|
if (window->driverdata) {
|
||||||
data = (SDL_WindowData *) window->driverdata;
|
data = (SDL_WindowData *) window->driverdata;
|
||||||
|
/* update pixel ratio */
|
||||||
|
data->pixel_ratio = emscripten_get_device_pixel_ratio();
|
||||||
emscripten_set_canvas_size(window->w * data->pixel_ratio, window->h * data->pixel_ratio);
|
emscripten_set_canvas_size(window->w * data->pixel_ratio, window->h * data->pixel_ratio);
|
||||||
|
|
||||||
/*scale canvas down*/
|
/*scale canvas down*/
|
||||||
|
|
Loading…
Reference in New Issue