mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-29 03:47:31 +09:00
Issue #2982 - clamp oklab/oklch to [0,1] before conversion to closer match spec
This commit is contained in:
parent
956b9caced
commit
8c4b5a0e58
2 changed files with 8 additions and 3 deletions
|
|
@ -184,9 +184,12 @@ LinearSRGBToEncoded(float aValue)
|
|||
static nscolor
|
||||
OKLabToSRGBColor(float aL, float aA, float aB, float aAlpha)
|
||||
{
|
||||
float lRoot = aL + 0.3963377774f * aA + 0.2158037573f * aB;
|
||||
float mRoot = aL - 0.1055613458f * aA - 0.0638541728f * aB;
|
||||
float sRoot = aL - 0.0894841775f * aA - 1.2914855480f * aB;
|
||||
// Per CSS Color, the lightness component for Oklab/Oklch is clamped.
|
||||
float lightness = mozilla::clamped(aL, 0.0f, 1.0f);
|
||||
|
||||
float lRoot = lightness + 0.3963377774f * aA + 0.2158037573f * aB;
|
||||
float mRoot = lightness - 0.1055613458f * aA - 0.0638541728f * aB;
|
||||
float sRoot = lightness - 0.0894841775f * aA - 1.2914855480f * aB;
|
||||
|
||||
float l = lRoot * lRoot * lRoot;
|
||||
float m = mRoot * mRoot * mRoot;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue