| 214 | void doMasking(bool v) {_doMasking = v; } |
| 215 | |
| 216 | void setValues(bool premult, |
| 217 | int premultChannel, |
| 218 | double mix, |
| 219 | bool processR, |
| 220 | bool processG, |
| 221 | bool processB, |
| 222 | double black[3], |
| 223 | double white[3], |
| 224 | double gamma[3]) |
| 225 | { |
| 226 | _premult = premult; |
| 227 | _premultChannel = premultChannel; |
| 228 | _mix = mix; |
| 229 | _processR = processR; |
| 230 | _processG = processG; |
| 231 | _processB = processB; |
| 232 | for (int c = 0; c < 3; ++c) { |
| 233 | _offset[c] = std::pow(10., (black[c] - white[c]) * 0.002 / gamma[c]); |
| 234 | _gain[c] = 1. / (1. - _offset[c]); |
| 235 | _whitepoint[c] = white[c]; |
| 236 | _gamma[c] = gamma[c]; |
| 237 | } |
| 238 | } |
| 239 | }; |
| 240 | |
| 241 | |