diff options
Diffstat (limited to 'servers/display_server.cpp')
-rw-r--r-- | servers/display_server.cpp | 15 |
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 |