HDR color picking was not working for node space

This commit is contained in:
Campbell Barton
2012-08-17 13:00:11 +00:00
parent 6547b1e770
commit 2845816863
2 changed files with 5 additions and 5 deletions

View File

@@ -1975,7 +1975,7 @@ int ED_space_image_color_sample(SpaceImage *sima, ARegion *ar, int mval[2], floa
if (ibuf->rect_float) {
fp = (ibuf->rect_float + (ibuf->channels) * (y * ibuf->x + x));
if (ibuf->profile == IB_PROFILE_LINEAR_RGB) {
if (ELEM(ibuf->profile, IB_PROFILE_LINEAR_RGB, IB_PROFILE_NONE)) {
linearrgb_to_srgb_v3_v3(r_col, fp);
}
else {

View File

@@ -383,8 +383,8 @@ int ED_space_node_color_sample(SpaceNode *snode, ARegion *ar, int mval[2], float
if (ibuf->rect_float) {
fp = (ibuf->rect_float + (ibuf->channels) * (y * ibuf->x + x));
if (ibuf->profile == IB_PROFILE_LINEAR_RGB) {
/* IB_PROFILE_NONE is default but infact its linear */
if (ELEM(ibuf->profile, IB_PROFILE_LINEAR_RGB, IB_PROFILE_NONE)) {
linearrgb_to_srgb_v3_v3(r_col, fp);
}
else {
@@ -437,7 +437,7 @@ static void sample_apply(bContext *C, wmOperator *op, wmEvent *event)
if (fx >= 0.0f && fy >= 0.0f && fx < 1.0f && fy < 1.0f) {
float *fp;
char *cp;
unsigned char *cp;
int x = (int)(fx * ibuf->x), y = (int)(fy * ibuf->y);
CLAMP(x, 0, ibuf->x - 1);
@@ -449,7 +449,7 @@ static void sample_apply(bContext *C, wmOperator *op, wmEvent *event)
info->channels = ibuf->channels;
if (ibuf->rect) {
cp = (char *)(ibuf->rect + y * ibuf->x + x);
cp = (unsigned char *)(ibuf->rect + y * ibuf->x + x);
info->col[0] = cp[0];
info->col[1] = cp[1];