aboutsummaryrefslogtreecommitdiffstats
path: root/src/libgamma-method.h
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2014-05-21 07:43:09 +0200
committerMattias Andrée <maandree@operamail.com>2014-05-21 07:43:09 +0200
commit35444bf35a56805029a090a408d5a51464803cae (patch)
tree4bd2c51ebfba4ab4a7ef6e47f034941146de9afb /src/libgamma-method.h
parentreorder functions (diff)
downloadlibgamma-35444bf35a56805029a090a408d5a51464803cae.tar.gz
libgamma-35444bf35a56805029a090a408d5a51464803cae.tar.bz2
libgamma-35444bf35a56805029a090a408d5a51464803cae.tar.xz
m + add gamma sets with mapping function rather than lookup tables
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r--src/libgamma-method.h35
1 files changed, 27 insertions, 8 deletions
diff --git a/src/libgamma-method.h b/src/libgamma-method.h
index 1f54f62..8e953b3 100644
--- a/src/libgamma-method.h
+++ b/src/libgamma-method.h
@@ -148,10 +148,18 @@ typedef struct libgamma_method_capabilities {
* Whether the adjustment method supports `libgamma_crtc_restore`
*/
int crtc_restore : 1;
+
+ /**
+ * Whether the `red_gamma_size`, `green_gamma_size` and `blue_gamma_size`
+ * fields in `libgamma_crtc_information_t` will always have the same
+ * values as each other for the adjustment method
+ */
+ int identical_gamma_sizes : 1;
/**
- * Whether the `gamma_size` field in `libgamma_crtc_information_t`
- * will always be filled with the same value for the adjustment method
+ * Whether the `red_gamma_size`, `green_gamma_size` and `blue_gamma_size`
+ * fields in `libgamma_crtc_information_t` will always be filled with the
+ * same value for the adjustment method
*/
int fixed_gamma_size : 1;
@@ -324,7 +332,8 @@ typedef struct libgamma_crtc_state {
/**
* For a `libgamma_crtc_information_t` fill in the
- * value for `gamma_size` and report errors to `gamma_size_error`
+ * values for `red_gamma_size`, `green_gamma_size` and `blue_gamma_size`
+ * and report errors to `gamma_size_error`
*/
#define CRTC_INFO_GAMMA_SIZE (1 << 5)
@@ -477,9 +486,19 @@ typedef struct libgamma_crtc_information {
/**
- * The size of the encoding axes of gamma ramps
+ * The size of the encoding axis of the red gamma ramp
+ */
+ size_t red_gamma_size;
+
+ /**
+ * The size of the encoding axis of the green gamma ramp
+ */
+ size_t green_gamma_size;
+
+ /**
+ * The size of the encoding axis of the blue gamma ramp
*/
- size_t gamma_size;
+ size_t blue_gamma_size;
/**
* Zero on success, positive it holds the value `errno` had
@@ -790,17 +809,17 @@ typedef struct libgamma_gamma_rampsd
/**
* The gamma ramp for the red channel
*/
- float* red;
+ double* red;
/**
* The gamma ramp for the green channel
*/
- float* green;
+ double* green;
/**
* The gamma ramp for the blue channel
*/
- float* blue;
+ double* blue;
} libgamma_gamma_rampsd_t;