280280 < div class ="head ">
281281 < p data-fill-with ="logo "> < a class ="logo " href ="http://www.w3.org/ "> < img alt ="W3C " height ="48 " src ="https://www.w3.org/StyleSheets/TR/2016/logos/W3C " width ="72 "> </ a > </ p >
282282 < h1 > CSS Color Module Level 4</ h1 >
283- < h2 class ="no-num no-toc no-ref heading settled " id ="subtitle "> < span class ="content "> Editor’s Draft, < time class ="dt-updated " datetime ="2016-09-28 " > 28 September 2016</ time > </ span > </ h2 >
283+ < h2 class ="no-num no-toc no-ref heading settled " id ="subtitle "> < span class ="content "> Editor’s Draft, < time class ="dt-updated " datetime ="2016-09-29 " > 29 September 2016</ time > </ span > </ h2 >
284284 < div data-fill-with ="spec-metadata ">
285285 < dl >
286286 < dt > This version:
@@ -4660,7 +4660,11 @@ <h2 class="heading settled" data-level="17" id="color-conversion-code"><span cla
46604660</ span > < span class ="c1 "> // to linear light (un-companded) form.
46614661</ span >
46624662 < span class ="k "> return</ span > RGB< span class ="p "> .</ span > map< span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > val< span class ="p "> )</ span > < span class ="p "> {</ span >
4663- < span class ="k "> return</ span > Math< span class ="p "> .</ span > pow< span class ="p "> (</ span > val< span class ="p "> ,</ span > < span class ="mf "> 2.4</ span > < span class ="p "> )</ span > < span class ="p "> ;</ span >
4663+ < span class ="k "> if</ span > < span class ="p "> (</ span > val < span class ="o "> <</ span > < span class ="mf "> 0.04045</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
4664+ < span class ="k "> return</ span > val < span class ="o "> /</ span > < span class ="mf "> 12.92</ span > < span class ="p "> ;</ span >
4665+ < span class ="p "> }</ span >
4666+
4667+ < span class ="k "> return</ span > Math< span class ="p "> .</ span > pow< span class ="p "> (</ span > < span class ="p "> (</ span > val < span class ="o "> +</ span > < span class ="mf "> 0.055</ span > < span class ="p "> )</ span > < span class ="o "> /</ span > < span class ="mf "> 1.055</ span > < span class ="p "> ,</ span > < span class ="mf "> 2.4</ span > < span class ="p "> )</ span > < span class ="p "> ;</ span >
46644668 < span class ="p "> }</ span > < span class ="p "> )</ span > < span class ="p "> ;</ span >
46654669< span class ="p "> }</ span >
46664670
@@ -4669,7 +4673,11 @@ <h2 class="heading settled" data-level="17" id="color-conversion-code"><span cla
46694673</ span > < span class ="c1 "> // to gamma corrected form
46704674</ span >
46714675 < span class ="k "> return</ span > RGB< span class ="p "> .</ span > map< span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > val< span class ="p "> )</ span > < span class ="p "> {</ span >
4672- < span class ="k "> return</ span > Math< span class ="p "> .</ span > pow< span class ="p "> (</ span > val< span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="o "> /</ span > < span class ="mf "> 2.4</ span > < span class ="p "> )</ span > < span class ="p "> ;</ span >
4676+ < span class ="k "> if</ span > < span class ="p "> (</ span > val < span class ="o "> > </ span > < span class ="mf "> 0.0031308</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
4677+ < span class ="k "> return</ span > < span class ="mf "> 1.055</ span > < span class ="o "> *</ span > Math< span class ="p "> .</ span > pow< span class ="p "> (</ span > val< span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="o "> /</ span > < span class ="mf "> 2.4</ span > < span class ="p "> )</ span > < span class ="o "> -</ span > < span class ="mf "> 0.055</ span > < span class ="p "> ;</ span >
4678+ < span class ="p "> }</ span >
4679+
4680+ < span class ="k "> return</ span > < span class ="mf "> 12.92</ span > < span class ="o "> *</ span > val< span class ="p "> ;</ span >
46734681 < span class ="p "> }</ span > < span class ="p "> )</ span > < span class ="p "> ;</ span >
46744682< span class ="p "> }</ span >
46754683
@@ -4703,31 +4711,17 @@ <h2 class="heading settled" data-level="17" id="color-conversion-code"><span cla
47034711< span class ="kd "> function</ span > lin_2020< span class ="p "> (</ span > RGB< span class ="p "> )</ span > < span class ="p "> {</ span >
47044712 < span class ="c1 "> // convert an array of Rec. 2020 RGB values in the range 0.0 - 1.0
47054713</ span > < span class ="c1 "> // to linear light (un-companded) form.
4706- </ span > < span class ="kr "> const</ span > α < span class ="o "> =</ span > < span class ="mf "> 1.09929682680944</ span > < span class ="p "> ;</ span >
4707- < span class ="kr "> const</ span > β < span class ="o "> =</ span > < span class ="mf "> 0.018053968510807</ span > < span class ="p "> ;</ span >
4708-
4709- < span class ="k "> return</ span > RGB< span class ="p "> .</ span > map< span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > val< span class ="p "> )</ span > < span class ="p "> {</ span >
4710- < span class ="k "> if</ span > < span class ="p "> (</ span > val < span class ="o "> <</ span > β < span class ="o "> *</ span > < span class ="mf "> 4.5</ span > < span class ="p "> )</ span > < span class ="p "> {</ span >
4711- < span class ="k "> return</ span > val < span class ="o "> /</ span > < span class ="mf "> 4.5</ span > < span class ="p "> ;</ span >
4712- < span class ="p "> }</ span >
4713-
4714- < span class ="k "> return</ span > Math< span class ="p "> .</ span > pow< span class ="p "> (</ span > < span class ="p "> (</ span > val < span class ="o "> +</ span > α < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> )</ span > < span class ="o "> /</ span > α< span class ="p "> ,</ span > < span class ="mf "> 2.4</ span > < span class ="p "> )</ span > < span class ="p "> ;</ span >
4714+ </ span > < span class ="k "> return</ span > RGB< span class ="p "> .</ span > map< span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > val< span class ="p "> )</ span > < span class ="p "> {</ span >
4715+ < span class ="k "> return</ span > Math< span class ="p "> .</ span > pow< span class ="p "> (</ span > val< span class ="p "> ,</ span > < span class ="mf "> 2.4</ span > < span class ="p "> )</ span > < span class ="p "> ;</ span >
47154716 < span class ="p "> }</ span > < span class ="p "> )</ span > < span class ="p "> ;</ span >
47164717< span class ="p "> }</ span >
47174718< span class ="c1 "> //check with standard this really is 2.4 and 1/2.4, not 0.45 was wikipedia claims
47184719</ span >
47194720< span class ="kd "> function</ span > gam_2020< span class ="p "> (</ span > RGB< span class ="p "> )</ span > < span class ="p "> {</ span >
47204721 < span class ="c1 "> // convert an array of linear-light Rec. 2020 RGB in the range 0.0-1.0
47214722</ span > < span class ="c1 "> // to gamma corrected form
4722- </ span > < span class ="kr "> const</ span > α < span class ="o "> =</ span > < span class ="mf "> 1.09929682680944</ span > < span class ="p "> ;</ span >
4723- < span class ="kr "> const</ span > β < span class ="o "> =</ span > < span class ="mf "> 0.018053968510807</ span > < span class ="p "> ;</ span >
4724-
4725- < span class ="k "> return</ span > RGB< span class ="p "> .</ span > map< span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > val< span class ="p "> )</ span > < span class ="p "> {</ span >
4726- < span class ="k "> if</ span > < span class ="p "> (</ span > val < span class ="o "> > </ span > β < span class ="p "> )</ span > < span class ="p "> {</ span >
4727- < span class ="k "> return</ span > α < span class ="o "> *</ span > Math< span class ="p "> .</ span > pow< span class ="p "> (</ span > val< span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="o "> /</ span > < span class ="mf "> 2.4</ span > < span class ="p "> )</ span > < span class ="o "> -</ span > < span class ="p "> (</ span > α < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> )</ span > < span class ="p "> ;</ span >
4728- < span class ="p "> }</ span >
4729-
4730- < span class ="k "> return</ span > < span class ="mf "> 4.5</ span > < span class ="o "> *</ span > val< span class ="p "> ;</ span >
4723+ </ span > < span class ="k "> return</ span > RGB< span class ="p "> .</ span > map< span class ="p "> (</ span > < span class ="kd "> function</ span > < span class ="p "> (</ span > val< span class ="p "> )</ span > < span class ="p "> {</ span >
4724+ < span class ="k "> return</ span > Math< span class ="p "> .</ span > pow< span class ="p "> (</ span > val< span class ="p "> ,</ span > < span class ="mi "> 1</ span > < span class ="o "> /</ span > < span class ="mf "> 2.4</ span > < span class ="p "> )</ span > < span class ="p "> ;</ span >
47314725 < span class ="p "> }</ span > < span class ="p "> )</ span > < span class ="p "> ;</ span >
47324726< span class ="p "> }</ span >
47334727
0 commit comments