mirror of
https://github.com/brl/mutter.git
synced 2025-03-28 06:03:47 +00:00
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:
parent
8698b4a493
commit
71bf31da83
@ -1169,6 +1169,7 @@ static MetaMonitorsConfig *
|
|||||||
create_for_switch_config_all_mirror (MetaMonitorConfigManager *config_manager)
|
create_for_switch_config_all_mirror (MetaMonitorConfigManager *config_manager)
|
||||||
{
|
{
|
||||||
MetaMonitorManager *monitor_manager = config_manager->monitor_manager;
|
MetaMonitorManager *monitor_manager = config_manager->monitor_manager;
|
||||||
|
MetaMonitor *primary_monitor;
|
||||||
MetaLogicalMonitorLayoutMode layout_mode;
|
MetaLogicalMonitorLayoutMode layout_mode;
|
||||||
MetaLogicalMonitorConfig *logical_monitor_config = NULL;
|
MetaLogicalMonitorConfig *logical_monitor_config = NULL;
|
||||||
GList *logical_monitor_configs;
|
GList *logical_monitor_configs;
|
||||||
@ -1182,6 +1183,11 @@ create_for_switch_config_all_mirror (MetaMonitorConfigManager *config_manager)
|
|||||||
MetaMonitorsConfig *monitors_config;
|
MetaMonitorsConfig *monitors_config;
|
||||||
int width, height;
|
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);
|
layout_mode = meta_monitor_manager_get_default_layout_mode (monitor_manager);
|
||||||
monitors = meta_monitor_manager_get_monitors (monitor_manager);
|
monitors = meta_monitor_manager_get_monitors (monitor_manager);
|
||||||
monitor = monitors->data;
|
monitor = monitors->data;
|
||||||
@ -1255,9 +1261,8 @@ create_for_switch_config_all_mirror (MetaMonitorConfigManager *config_manager)
|
|||||||
if (!mode)
|
if (!mode)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
scale = meta_monitor_manager_calculate_monitor_mode_scale (monitor_manager,
|
scale = compute_scale_for_monitor (config_manager, monitor,
|
||||||
layout_mode,
|
primary_monitor);
|
||||||
monitor, mode);
|
|
||||||
best_scale = MAX (best_scale, scale);
|
best_scale = MAX (best_scale, scale);
|
||||||
monitor_configs = g_list_prepend (monitor_configs, create_monitor_config (monitor, mode));
|
monitor_configs = g_list_prepend (monitor_configs, create_monitor_config (monitor, mode));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user