mirror of
https://github.com/brl/mutter.git
synced 2025-02-14 04:14:10 +00:00
monitor: Add API to get monitor mode from spec
https://bugzilla.gnome.org/show_bug.cgi?id=777732
This commit is contained in:
parent
536ae8430b
commit
4c1b48d0cc
@ -539,6 +539,35 @@ meta_monitor_get_spec (MetaMonitor *monitor)
|
|||||||
return priv->spec;
|
return priv->spec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
meta_monitor_mode_spec_equals (MetaMonitorModeSpec *monitor_mode_spec,
|
||||||
|
MetaMonitorModeSpec *other_monitor_mode_spec)
|
||||||
|
{
|
||||||
|
return (monitor_mode_spec->width == other_monitor_mode_spec->width &&
|
||||||
|
monitor_mode_spec->height == other_monitor_mode_spec->height &&
|
||||||
|
(monitor_mode_spec->refresh_rate ==
|
||||||
|
other_monitor_mode_spec->refresh_rate));
|
||||||
|
}
|
||||||
|
|
||||||
|
MetaMonitorMode *
|
||||||
|
meta_monitor_get_mode_from_spec (MetaMonitor *monitor,
|
||||||
|
MetaMonitorModeSpec *monitor_mode_spec)
|
||||||
|
{
|
||||||
|
MetaMonitorPrivate *priv = meta_monitor_get_instance_private (monitor);
|
||||||
|
GList *l;
|
||||||
|
|
||||||
|
for (l = priv->modes; l; l = l->next)
|
||||||
|
{
|
||||||
|
MetaMonitorMode *monitor_mode = l->data;
|
||||||
|
|
||||||
|
if (meta_monitor_mode_spec_equals (monitor_mode_spec,
|
||||||
|
&monitor_mode->spec))
|
||||||
|
return monitor_mode;
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
MetaMonitorMode *
|
MetaMonitorMode *
|
||||||
meta_monitor_get_preferred_mode (MetaMonitor *monitor)
|
meta_monitor_get_preferred_mode (MetaMonitor *monitor)
|
||||||
{
|
{
|
||||||
|
@ -109,6 +109,9 @@ const char * meta_monitor_get_product (MetaMonitor *monitor);
|
|||||||
|
|
||||||
uint32_t meta_monitor_tiled_get_tile_group_id (MetaMonitorTiled *monitor_tiled);
|
uint32_t meta_monitor_tiled_get_tile_group_id (MetaMonitorTiled *monitor_tiled);
|
||||||
|
|
||||||
|
MetaMonitorMode * meta_monitor_get_mode_from_spec (MetaMonitor *monitor,
|
||||||
|
MetaMonitorModeSpec *monitor_mode_spec);
|
||||||
|
|
||||||
MetaMonitorMode * meta_monitor_get_preferred_mode (MetaMonitor *monitor);
|
MetaMonitorMode * meta_monitor_get_preferred_mode (MetaMonitor *monitor);
|
||||||
|
|
||||||
GList * meta_monitor_get_modes (MetaMonitor *monitor);
|
GList * meta_monitor_get_modes (MetaMonitor *monitor);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user