monitor-config-manager: Use helper to calculate mirroring scale

This will eventually help with better hueristics for finding a good
scale. It currently doesn't change much, but the helper will later gain
more functionality that will also help when coming up with mirroring
configs.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2479>
This commit is contained in:
Jonas Ådahl 2022-06-23 12:48:57 +02:00 committed by Marge Bot
parent 8698b4a493
commit 71bf31da83

View File

@ -1169,6 +1169,7 @@ static MetaMonitorsConfig *
create_for_switch_config_all_mirror (MetaMonitorConfigManager *config_manager)
{
MetaMonitorManager *monitor_manager = config_manager->monitor_manager;
MetaMonitor *primary_monitor;
MetaLogicalMonitorLayoutMode layout_mode;
MetaLogicalMonitorConfig *logical_monitor_config = NULL;
GList *logical_monitor_configs;
@ -1182,6 +1183,11 @@ create_for_switch_config_all_mirror (MetaMonitorConfigManager *config_manager)
MetaMonitorsConfig *monitors_config;
int width, height;
primary_monitor = find_primary_monitor (monitor_manager,
MONITOR_MATCH_ALLOW_FALLBACK);
if (!primary_monitor)
return NULL;
layout_mode = meta_monitor_manager_get_default_layout_mode (monitor_manager);
monitors = meta_monitor_manager_get_monitors (monitor_manager);
monitor = monitors->data;
@ -1255,9 +1261,8 @@ create_for_switch_config_all_mirror (MetaMonitorConfigManager *config_manager)
if (!mode)
continue;
scale = meta_monitor_manager_calculate_monitor_mode_scale (monitor_manager,
layout_mode,
monitor, mode);
scale = compute_scale_for_monitor (config_manager, monitor,
primary_monitor);
best_scale = MAX (best_scale, scale);
monitor_configs = g_list_prepend (monitor_configs, create_monitor_config (monitor, mode));
}