colors: implement no-op color conversions.
parent
ad04c4bb1d
commit
6d9f5c7f00
|
@ -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
|
||||
|
|
|
@ -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 )
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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* ;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue