From 6ca97207ad94316783bd8a7b605192caa7a95f0b Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Wed, 1 Jul 2015 18:03:04 -0700 Subject: gnome-rr: add a method to discover when underscanning is supported So that the control center will be able to hide/show a checkbox accordingly when the hardware supports it. https://bugzilla.gnome.org/show_bug.cgi?id=751814 --- docs/reference/gnome-desktop3/gnome-desktop3-sections.txt | 1 + libgnome-desktop/gnome-rr.c | 10 ++++++++++ libgnome-desktop/gnome-rr.h | 1 + 3 files changed, 12 insertions(+) diff --git a/docs/reference/gnome-desktop3/gnome-desktop3-sections.txt b/docs/reference/gnome-desktop3/gnome-desktop3-sections.txt index 0527ccdc..ecb2b4fc 100644 --- a/docs/reference/gnome-desktop3/gnome-desktop3-sections.txt +++ b/docs/reference/gnome-desktop3/gnome-desktop3-sections.txt @@ -292,6 +292,7 @@ gnome_rr_output_can_clone gnome_rr_output_list_modes gnome_rr_output_get_preferred_mode gnome_rr_output_supports_mode +gnome_rr_output_supports_underscanning gnome_rr_output_get_is_primary gnome_rr_output_get_backlight gnome_rr_output_set_backlight diff --git a/libgnome-desktop/gnome-rr.c b/libgnome-desktop/gnome-rr.c index fa6a7e35..84b0a44d 100644 --- a/libgnome-desktop/gnome-rr.c +++ b/libgnome-desktop/gnome-rr.c @@ -82,6 +82,8 @@ struct GnomeRROutput gboolean is_primary; gboolean is_presentation; gboolean is_underscanning; + gboolean supports_underscanning; + GnomeRRTile tile_info; }; @@ -1401,6 +1403,7 @@ output_initialize (GnomeRROutput *output, GVariant *info) g_variant_lookup (properties, "primary", "b", &output->is_primary); g_variant_lookup (properties, "presentation", "b", &output->is_presentation); g_variant_lookup (properties, "underscanning", "b", &output->is_underscanning); + g_variant_lookup (properties, "supports-underscanning", "b", &output->supports_underscanning); if ((edid = g_variant_lookup_value (properties, "edid", G_VARIANT_TYPE ("ay")))) { @@ -2213,6 +2216,13 @@ gnome_rr_output_get_is_underscanning (GnomeRROutput *output) return output->is_underscanning; } +gboolean +gnome_rr_output_supports_underscanning (GnomeRROutput *output) +{ + g_assert (output != NULL); + return output->supports_underscanning; +} + gboolean _gnome_rr_output_get_tile_info (GnomeRROutput *output, GnomeRRTile *tile) diff --git a/libgnome-desktop/gnome-rr.h b/libgnome-desktop/gnome-rr.h index 9311f07b..1f0e5f95 100644 --- a/libgnome-desktop/gnome-rr.h +++ b/libgnome-desktop/gnome-rr.h @@ -173,6 +173,7 @@ gboolean gnome_rr_output_supports_mode (GnomeRROutput *outpu GnomeRRMode *mode); gboolean gnome_rr_output_get_is_primary (GnomeRROutput *output); gboolean gnome_rr_output_get_is_underscanning (GnomeRROutput *output); +gboolean gnome_rr_output_supports_underscanning (GnomeRROutput *output); /* GnomeRRMode */ guint32 gnome_rr_mode_get_id (GnomeRRMode *mode); -- cgit v1.2.1