aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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