summaryrefslogtreecommitdiff
path: root/endless
diff options
context:
space:
mode:
Diffstat (limited to 'endless')
-rw-r--r--endless/endless.h3
-rw-r--r--endless/eosutil.c27
2 files changed, 30 insertions, 0 deletions
diff --git a/endless/endless.h b/endless/endless.h
index 4e9d3f2..2b328e2 100644
--- a/endless/endless.h
+++ b/endless/endless.h
@@ -28,6 +28,9 @@ gboolean eos_hello_sample_function (GFile *file,
EOS_SDK_AVAILABLE_IN_0_0
const gchar * eos_get_system_personality (void);
+EOS_SDK_AVAILABLE_IN_0_6
+gboolean eos_is_composite_tv_screen (GdkScreen *screen);
+
G_END_DECLS
#endif
diff --git a/endless/eosutil.c b/endless/eosutil.c
index 6ef12bf..7926cb5 100644
--- a/endless/eosutil.c
+++ b/endless/eosutil.c
@@ -66,3 +66,30 @@ eos_get_system_personality (void)
return personality;
}
+
+/**
+ * eos_is_composite_tv_screen:
+ * @screen: a #GdkScreen, or %NULL to use the default display's default screen.
+ *
+ * Determines whether @screen is a composite TV out.
+ *
+ * Returns: %TRUE if @screen is a composite TV, otherwise %FALSE.
+ *
+ * Since: 0.6
+ */
+gboolean
+eos_is_composite_tv_screen (GdkScreen *screen)
+{
+ if (screen == NULL)
+ screen = gdk_screen_get_default ();
+
+ if (gdk_screen_get_width (screen) != 720)
+ return FALSE;
+
+ int height = gdk_screen_get_height (screen);
+ if (height != 480 && height != 576)
+ return FALSE;
+
+ g_debug ("Composite screen detected for screen %p", screen);
+ return TRUE;
+}