diff options
author | emersion <contact@emersion.fr> | 2018-07-25 14:37:10 +0100 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2018-08-02 23:33:59 +0100 |
commit | b0c32019c384b51fdd53e573c5e52fdf082a888d (patch) | |
tree | 97e481ddde64d3f7dc45ebb0480feba22f5763ec /examples | |
parent | 1d97202ec2b9ca3c4b77e0cc5ab2a574c3938447 (diff) |
examples/gamma-control: clamp values, default brightness to 1
Diffstat (limited to 'examples')
-rw-r--r-- | examples/gamma-control.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/examples/gamma-control.c b/examples/gamma-control.c index 161c6fd0..e2af9cdd 100644 --- a/examples/gamma-control.c +++ b/examples/gamma-control.c @@ -115,7 +115,12 @@ static void fill_gamma_table(uint16_t *table, uint32_t ramp_size, uint16_t *b = table + 2 * ramp_size; for (uint32_t i = 0; i < ramp_size; ++i) { double val = (double)i / (ramp_size - 1); - val = contrast * pow(val, 1.0 / gamma) + brightness; + val = contrast * pow(val, 1.0 / gamma) + (1 - brightness); + if (val > 1.0) { + val = 1.0; + } else if (val < 0.0) { + val = 0.0; + } r[i] = g[i] = b[i] = (uint16_t)(UINT16_MAX * val); } } @@ -123,13 +128,13 @@ static void fill_gamma_table(uint16_t *table, uint32_t ramp_size, static const char usage[] = "usage: gamma-control [options]\n" " -h show this help message\n" " -c <value> set contrast (default: 1)\n" - " -b <value> set brightness (default: 0)\n" + " -b <value> set brightness (default: 1)\n" " -g <value> set gamma (default: 1)\n"; int main(int argc, char *argv[]) { wl_list_init(&outputs); - double contrast = 1, brightness = 0, gamma = 1; + double contrast = 1, brightness = 1, gamma = 1; int opt; while ((opt = getopt(argc, argv, "hc:b:g:")) != -1) { switch (opt) { |