summaryrefslogtreecommitdiffstats
path: root/servers/display_server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'servers/display_server.cpp')
-rw-r--r--servers/display_server.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/servers/display_server.cpp b/servers/display_server.cpp
index b6e0d58af7..d362a4073a 100644
--- a/servers/display_server.cpp
+++ b/servers/display_server.cpp
@@ -759,6 +759,17 @@ DisplayServer::WindowID DisplayServer::get_focused_window() const {
void DisplayServer::set_context(Context p_context) {
}
+void DisplayServer::register_additional_output(Object *p_object) {
+ ObjectID id = p_object->get_instance_id();
+ if (!additional_outputs.has(id)) {
+ additional_outputs.push_back(id);
+ }
+}
+
+void DisplayServer::unregister_additional_output(Object *p_object) {
+ additional_outputs.erase(p_object->get_instance_id());
+}
+
void DisplayServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("has_feature", "feature"), &DisplayServer::has_feature);
ClassDB::bind_method(D_METHOD("get_name"), &DisplayServer::get_name);
@@ -997,6 +1008,10 @@ void DisplayServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("is_window_transparency_available"), &DisplayServer::is_window_transparency_available);
+ ClassDB::bind_method(D_METHOD("register_additional_output", "object"), &DisplayServer::register_additional_output);
+ ClassDB::bind_method(D_METHOD("unregister_additional_output", "object"), &DisplayServer::unregister_additional_output);
+ ClassDB::bind_method(D_METHOD("has_additional_outputs"), &DisplayServer::has_additional_outputs);
+
#ifndef DISABLE_DEPRECATED
BIND_ENUM_CONSTANT(FEATURE_GLOBAL_MENU);
#endif