summaryrefslogtreecommitdiffstats
path: root/platform/javascript/display_server_javascript.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-02-12 12:53:14 +0100
committerGitHub <noreply@github.com>2021-02-12 12:53:14 +0100
commitdbddf52c12300db171cdf1e55d7c20bab228eca5 (patch)
treeb240540e903d3f9606907a9c2d5bed5ec91ff3c1 /platform/javascript/display_server_javascript.cpp
parent49122588391b5159fada6d33f136d169b5a01ae5 (diff)
parent6cff589b5bd483b563fe465bde74ca94902aab41 (diff)
downloadredot-engine-dbddf52c12300db171cdf1e55d7c20bab228eca5.tar.gz
Merge pull request #45920 from Faless/js/4.x_dpi
[HTML5] Detect screen scale and DPI.
Diffstat (limited to 'platform/javascript/display_server_javascript.cpp')
-rw-r--r--platform/javascript/display_server_javascript.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/platform/javascript/display_server_javascript.cpp b/platform/javascript/display_server_javascript.cpp
index b54ac5230a..5e2dddd8e7 100644
--- a/platform/javascript/display_server_javascript.cpp
+++ b/platform/javascript/display_server_javascript.cpp
@@ -845,7 +845,8 @@ Size2i DisplayServerJavaScript::screen_get_size(int p_screen) const {
EmscriptenFullscreenChangeEvent ev;
EMSCRIPTEN_RESULT result = emscripten_get_fullscreen_status(&ev);
ERR_FAIL_COND_V(result != EMSCRIPTEN_RESULT_SUCCESS, Size2i());
- return Size2i(ev.screenWidth, ev.screenHeight);
+ double scale = godot_js_display_pixel_ratio_get();
+ return Size2i(ev.screenWidth * scale, ev.screenHeight * scale);
}
Rect2i DisplayServerJavaScript::screen_get_usable_rect(int p_screen) const {
@@ -855,7 +856,11 @@ Rect2i DisplayServerJavaScript::screen_get_usable_rect(int p_screen) const {
}
int DisplayServerJavaScript::screen_get_dpi(int p_screen) const {
- return 96; // TODO maybe check pixel ratio via window.devicePixelRatio * 96? Inexact.
+ return godot_js_display_screen_dpi_get();
+}
+
+float DisplayServerJavaScript::screen_get_scale(int p_screen) const {
+ return godot_js_display_pixel_ratio_get();
}
Vector<DisplayServer::WindowID> DisplayServerJavaScript::get_window_list() const {