aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2015-05-08 17:05:44 +0200
committerMattias Andrée <maandree@operamail.com>2015-05-08 17:05:44 +0200
commit60450891857950ba543ceedd6b87a938d3032cd3 (patch)
treed19a0da9f1ef26e7beffdf6546ec44c80f433cb5
parentm (diff)
downloadlibgamma-60450891857950ba543ceedd6b87a938d3032cd3.tar.gz
libgamma-60450891857950ba543ceedd6b87a938d3032cd3.tar.bz2
libgamma-60450891857950ba543ceedd6b87a938d3032cd3.tar.xz
Gamma ramp support test return yes, no or maybe.
Signed-off-by: Mattias Andrée <maandree@operamail.com>
-rw-r--r--TODO2
-rw-r--r--src/lib/libgamma-method.h32
2 files changed, 30 insertions, 4 deletions
diff --git a/TODO b/TODO
index 68a42b6..fbee3cf 100644
--- a/TODO
+++ b/TODO
@@ -11,7 +11,5 @@ Unsupported display servers:
Mir I do not think Mir have gamma ramp support
-Gamma ramp support test should return yes, no or maybe.
-
Add hotplug support.
diff --git a/src/lib/libgamma-method.h b/src/lib/libgamma-method.h
index fc402ec..6e0cff1 100644
--- a/src/lib/libgamma-method.h
+++ b/src/lib/libgamma-method.h
@@ -473,6 +473,29 @@ typedef enum libgamma_subpixel_order
/**
+ * Answer enum to a decision problem.
+ */
+typedef enum libgamma_decision
+ {
+ /**
+ * The answer is negative.
+ */
+ LIBGAMMA_NO = 0,
+
+ /**
+ * The answer is unknown.
+ */
+ LIBGAMMA_MAYBE = 1,
+
+ /**
+ * The answer is positive.
+ */
+ LIBGAMMA_YES = 2
+
+ } libgamma_decision_t;
+
+
+/**
* For a `libgamma_crtc_information_t` fill in the
* values for `edid` and `edid_length` and report errors to `edid_error`.
*/
@@ -755,9 +778,14 @@ typedef struct libgamma_crtc_information
/**
- * Non-zero gamma ramp adjustments are supported.
+ * `LIBGAMMA_NO` indicates that the CRTC does not support
+ * gamma ramp adjustments. `LIBGAMMA_MAYBE` indicates that
+ * the CRTC may or may not support gamma ramp adjustments,
+ * meaning that the display server really does not know, but
+ * the protocol is available. `LIBGAMMA_NO` indicates that
+ * the CRTC does support gamma ramp adjustments.
*/
- int gamma_support;
+ libgamma_decision_t gamma_support;
/**
* Zero on success, positive it holds the value `errno` had