12const std::array<DlScalar, 12> kP3ToSrgb = {
13 1.306671048092539, -0.298061942172353,
14 0.213228303487995, -0.213580156254466,
15 -0.117390025596251, 1.127722006101976,
16 0.109727644608938, -0.109450321455370,
17 0.214813187718391, 0.054268702864647,
18 1.406898424029350, -0.364892765879631};
21 const std::array<DlScalar, 12>& matrix,
23 return DlColor(color.getAlphaF(),
24 matrix[0] * color.getRedF() +
25 matrix[1] * color.getGreenF() +
26 matrix[2] * color.getBlueF() +
28 matrix[4] * color.getRedF() +
29 matrix[5] * color.getGreenF() +
30 matrix[6] * color.getBlueF() +
32 matrix[8] * color.getRedF() +
33 matrix[9] * color.getGreenF() +
34 matrix[10] * color.getBlueF() +
41 switch (color_space_) {
43 switch (color_space) {
47 return DlColor(alpha_, red_, green_, blue_,
54 switch (color_space) {
56 return DlColor(alpha_, std::clamp(red_, 0.0f, 1.0f),
57 std::clamp(green_, 0.0f, 1.0f),
66 switch (color_space) {
#define FML_CHECK(condition)
DlColor withColorSpace(DlColorSpace color_space) const