diff --git a/css-color-hdr/Overview.bs b/css-color-hdr/Overview.bs index b70b4e058ac..4947762b46f 100644 --- a/css-color-hdr/Overview.bs +++ b/css-color-hdr/Overview.bs @@ -257,12 +257,12 @@ The 'dynamic-range-limit' property {#the-dynamic-range-limit-property}
 		Name: dynamic-range-limit
-		Value: standard | high | constrained-high
+		Value: standard | high | constrained-high | ''dynamic-range-limit-mix()''
 		Initial: high
 		Applies to: all elements
 		Inherited: no
 		Percentages: n/a
-		Computed value: specified value
+		Computed value: see Computed Value for 'dynamic-range-limit'
 		Animation type: by ''dynamic-range-limit-mix()'' 
 		Canonical order: per grammar
 	
@@ -309,10 +309,49 @@ Mixing Dynamic Range Limits: the ''dynamic-range-limit-mix()'' function {#dynami
-	dynamic-range-limit-mix() = dynamic-range-limit-mix( [ <> && <>? ]#{2})
+	dynamic-range-limit-mix() = dynamic-range-limit-mix( [ <> && <> ]+)
 
- Percentages are normalized in the same way as ''color-mix()''. + If the sum of all percentages is 0%, then the function is invalid. + +

+ Computed Value for 'dynamic-range-limit' +

+ + If the specified value is ''standard'', ''constrained-high'', or ''high'', then the computed value is the specified value. + + If the specified value is ''dynamic-range-limit-mix()'', then the computed value is determined by the following algorithm: + + 1. Let v1, ..., vN be the computed values for the parameters to be mixed. + 2. Let p1, ..., pN be the mixing percentages, normalized to sum to 100%. + 3. Define the contributing percentages as: + * Let p1_standard,...,pN_standard be the percentages for ''standard'' in v1,...,vN + * Let p1_constrained_high,...,pN_constrained_high be the percentages for ''constrained-high'' in v1,...,vN + * Let p1_high,...,pN_high be the percentages for ''high'' in v1,...,vN + 4. Compute the weighted sums as: + * p_standard=(p1_standard*p1+...+pN_standard*pN)/100. + * p_constrained_high=(p1_constrained_high*p1+...+pN_constrained_high*pN)/100. + * p_high=(p1_high*p1+...+pN_high*pN)/100. + 5. If p_standard, p_constrained_high, or p_high equals 100%, then + the computed value is ''standard'', ''constrained-high'', or ''high'', respectively. + 6. Otherwise, the computed value is ''dynamic-range-limit-mix()'', with parameters + ''standard'', ''constrained-high'', and ''high'', in that order, and percentages + p_standard, p_constrained_high, and p_high, + omitting parameters with a percentage equal to 0%. + +
+ The computed value of +
+    dynamic-range-limit-mix(
+        high 10%,
+        dynamic-range-limit-mix(standard 25%, constrained-high 75%) 20%,
+        dynamic-range-limit-mix(constrained-high 10%, high 30%) 20%)
+    
+ is +
+        dynamic-range-limit-mix(standard 10%, constrained-high 40%, high 50%)
+    
+

Specifying Predefined and Custom Color Spaces: the ''color()'' Function