summaryrefslogtreecommitdiffstats
path: root/modules/webxr/webxr_interface_js.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/webxr/webxr_interface_js.cpp')
-rw-r--r--modules/webxr/webxr_interface_js.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/modules/webxr/webxr_interface_js.cpp b/modules/webxr/webxr_interface_js.cpp
index 97b2eea4d7..9c8b08cf04 100644
--- a/modules/webxr/webxr_interface_js.cpp
+++ b/modules/webxr/webxr_interface_js.cpp
@@ -202,6 +202,30 @@ PackedVector3Array WebXRInterfaceJS::get_play_area() const {
return ret;
}
+float WebXRInterfaceJS::get_display_refresh_rate() const {
+ return godot_webxr_get_frame_rate();
+}
+
+void WebXRInterfaceJS::set_display_refresh_rate(float p_refresh_rate) {
+ godot_webxr_update_target_frame_rate(p_refresh_rate);
+}
+
+Array WebXRInterfaceJS::get_available_display_refresh_rates() const {
+ Array ret;
+
+ float *rates;
+ int rate_count = godot_webxr_get_supported_frame_rates(&rates);
+ if (rate_count > 0) {
+ ret.resize(rate_count);
+ for (int i = 0; i < rate_count; i++) {
+ ret[i] = rates[i];
+ }
+ free(rates);
+ }
+
+ return ret;
+}
+
StringName WebXRInterfaceJS::get_name() const {
return "WebXR";
};