colors: implement no-op color conversions.

db4
John Benediktsson 2013-11-20 19:33:47 -08:00
parent ad04c4bb1d
commit 6d9f5c7f00
6 changed files with 14 additions and 4 deletions

View File

@ -16,11 +16,11 @@ C: <rgba> rgba
GENERIC: >rgba ( color -- rgba )
M: rgba >rgba ( rgba -- rgba ) ; inline
M: rgba >rgba ; inline
M: color red>> ( color -- red ) >rgba red>> ;
M: color green>> ( color -- green ) >rgba green>> ;
M: color blue>> ( color -- blue ) >rgba blue>> ;
M: color red>> >rgba red>> ;
M: color green>> >rgba green>> ;
M: color blue>> >rgba blue>> ;
: >rgba-components ( object -- r g b a )
>rgba { [ red>> ] [ green>> ] [ blue>> ] [ alpha>> ] } cleave ; inline

View File

@ -53,6 +53,8 @@ GENERIC: >hsva ( color -- hsva )
M: object >hsva >rgba >hsva ;
M: hsva >hsva ; inline
M:: rgba >hsva ( rgba -- hsva )
rgba >rgba-components :> ( r g b a )
r g b sort-triple :> ( z y x )

View File

@ -47,6 +47,8 @@ GENERIC: >hsla ( color -- hsla )
M: object >hsla >rgba >hsla ;
M: hsla >hsla ; inline
M: rgba >hsla
>rgba-components [| r g b |
r g b min min :> min-c

View File

@ -71,5 +71,7 @@ GENERIC: >ryba ( color -- ryba )
M: object >ryba >rgba >ryba ;
M: ryba >ryba ; inline
M: rgba >ryba
>rgba-components [ [ rgb>ryb ] normalized ] [ <ryba> ] bi* ;

View File

@ -28,6 +28,8 @@ GENERIC: >yiqa ( color -- yiqa )
M: object >yiqa >rgba >yiqa ;
M: yiqa >yiqa ; inline
M:: rgba >yiqa ( rgba -- yiqa )
rgba >rgba-components :> ( r g b a )
0.30 r * 0.59 g * 0.11 b * + + :> y

View File

@ -42,6 +42,8 @@ GENERIC: >yuva ( color -- yuva )
M: object >yuva >rgba >yuva ;
M: yuva >yuva ; inline
M:: rgba >yuva ( rgba -- yuva )
rgba >rgba-components :> ( r g b a )
Wr r * Wg g * Wb b * + + :> y