mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-30 04:39:06 +00:00
LibWeb/CSS: Add support for the display-p3
color space in color()
This color space is often used as a reference in WPT tests, having support for it makes us pass 15 new tests: - css/css-color/display-p3-001.html - css/css-color/display-p3-002.html - css/css-color/display-p3-003.html - css/css-color/display-p3-004.html - css/css-color/display-p3-005.html - css/css-color/display-p3-006.html - css/css-color/lab-008.html - css/css-color/lch-008.html - css/css-color/oklab-008.html - css/css-color/oklch-008.html - css/css-color/predefined-005.html - css/css-color/predefined-006.html - css/css-color/xyz-005.html - css/css-color/xyz-d50-005.html - css/css-color/xyz-d65-005.html
This commit is contained in:
parent
f949334a9a
commit
596a4e55dd
Notes:
github-actions[bot]
2024-11-16 09:30:55 +00:00
Author: https://github.com/LucasChollet
Commit: 596a4e55dd
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2374
17 changed files with 216 additions and 1 deletions
|
@ -433,6 +433,26 @@ Color Color::from_a98rgb(float r, float g, float b, float alpha)
|
|||
return from_xyz65(x, y, z, alpha);
|
||||
}
|
||||
|
||||
// https://www.w3.org/TR/css-color-4/#predefined-a98-rgb
|
||||
Color Color::from_display_p3(float r, float g, float b, float alpha)
|
||||
{
|
||||
auto to_linear = [](float c) {
|
||||
if (c < 0.04045)
|
||||
return c / 12.92;
|
||||
return pow((c + 0.055) / (1.055), 2.4);
|
||||
};
|
||||
|
||||
auto linear_r = to_linear(r);
|
||||
auto linear_g = to_linear(g);
|
||||
auto linear_b = to_linear(b);
|
||||
|
||||
float x = 0.48657095 * linear_r + 0.26566769 * linear_g + 0.19821729 * linear_b;
|
||||
float y = 0.22897456 * linear_r + 0.69173852 * linear_g + 0.07928691 * linear_b;
|
||||
float z = 0.00000000 * linear_r + 0.04511338 * linear_g + 1.04394437 * linear_b;
|
||||
|
||||
return from_xyz65(x, y, z, alpha);
|
||||
}
|
||||
|
||||
Color Color::from_xyz50(float x, float y, float z, float alpha)
|
||||
{
|
||||
// See commit description for these values
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue