aboutsummaryrefslogtreecommitdiffstats
path: root/src/colorramp.c
diff options
context:
space:
mode:
authorJon Lund Steffensen <jonlst@gmail.com>2015-01-04 16:35:05 -0500
committerJon Lund Steffensen <jonlst@gmail.com>2015-01-04 16:35:05 -0500
commit6711be464ff2b8e08501d776e57b6f47e29af245 (patch)
tree9df16107d36ac46344fa1866ba957f105b2d5345 /src/colorramp.c
parentredshift: Add gamma_is_valid function to check gamma (diff)
parentw32gdi: Add preserve option to windows GDI method (diff)
downloadredshift-ng-6711be464ff2b8e08501d776e57b6f47e29af245.tar.gz
redshift-ng-6711be464ff2b8e08501d776e57b6f47e29af245.tar.bz2
redshift-ng-6711be464ff2b8e08501d776e57b6f47e29af245.tar.xz
Merge branch 'preserve-gamma'
Diffstat (limited to 'src/colorramp.c')
-rw-r--r--src/colorramp.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/colorramp.c b/src/colorramp.c
index d732a18..fda75f2 100644
--- a/src/colorramp.c
+++ b/src/colorramp.c
@@ -297,9 +297,12 @@ colorramp_fill(uint16_t *gamma_r, uint16_t *gamma_g, uint16_t *gamma_b,
&blackbody_color[temp_index+3], white_point);
for (int i = 0; i < size; i++) {
- gamma_r[i] = F((float)i/size, 0) * (UINT16_MAX+1);
- gamma_g[i] = F((float)i/size, 1) * (UINT16_MAX+1);
- gamma_b[i] = F((float)i/size, 2) * (UINT16_MAX+1);
+ gamma_r[i] = F((double)gamma_r[i]/(UINT16_MAX+1), 0) *
+ (UINT16_MAX+1);
+ gamma_g[i] = F((double)gamma_g[i]/(UINT16_MAX+1), 1) *
+ (UINT16_MAX+1);
+ gamma_b[i] = F((double)gamma_b[i]/(UINT16_MAX+1), 2) *
+ (UINT16_MAX+1);
}
}
@@ -315,9 +318,9 @@ colorramp_fill_float(float *gamma_r, float *gamma_g, float *gamma_b,
&blackbody_color[temp_index+3], white_point);
for (int i = 0; i < size; i++) {
- gamma_r[i] = F((float)i/size, 0);
- gamma_g[i] = F((float)i/size, 1);
- gamma_b[i] = F((float)i/size, 2);
+ gamma_r[i] = F((double)gamma_r[i], 0);
+ gamma_g[i] = F((double)gamma_g[i], 1);
+ gamma_b[i] = F((double)gamma_b[i], 2);
}
}