From 6d9f5c7f000a09126af252b0c6811925eaa40e35 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Wed, 20 Nov 2013 19:33:47 -0800 Subject: [PATCH] colors: implement no-op color conversions. --- basis/colors/colors.factor | 8 ++++---- basis/colors/hsv/hsv.factor | 2 ++ extra/colors/hsl/hsl.factor | 2 ++ extra/colors/ryb/ryb.factor | 2 ++ extra/colors/yiq/yiq.factor | 2 ++ extra/colors/yuv/yuv.factor | 2 ++ 6 files changed, 14 insertions(+), 4 deletions(-) diff --git a/basis/colors/colors.factor b/basis/colors/colors.factor index 5932d0ff15..9e5fef1134 100644 --- a/basis/colors/colors.factor +++ b/basis/colors/colors.factor @@ -16,11 +16,11 @@ C: 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 diff --git a/basis/colors/hsv/hsv.factor b/basis/colors/hsv/hsv.factor index d1f107144c..194845efd1 100644 --- a/basis/colors/hsv/hsv.factor +++ b/basis/colors/hsv/hsv.factor @@ -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 ) diff --git a/extra/colors/hsl/hsl.factor b/extra/colors/hsl/hsl.factor index 79b4966fe6..f61bc6e6a9 100644 --- a/extra/colors/hsl/hsl.factor +++ b/extra/colors/hsl/hsl.factor @@ -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 diff --git a/extra/colors/ryb/ryb.factor b/extra/colors/ryb/ryb.factor index 96d975263c..d96cc15f6a 100644 --- a/extra/colors/ryb/ryb.factor +++ b/extra/colors/ryb/ryb.factor @@ -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 ] [ ] bi* ; diff --git a/extra/colors/yiq/yiq.factor b/extra/colors/yiq/yiq.factor index 66aa32b628..2ab943baa7 100644 --- a/extra/colors/yiq/yiq.factor +++ b/extra/colors/yiq/yiq.factor @@ -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 diff --git a/extra/colors/yuv/yuv.factor b/extra/colors/yuv/yuv.factor index ff0fd838a6..4c06eedde7 100644 --- a/extra/colors/yuv/yuv.factor +++ b/extra/colors/yuv/yuv.factor @@ -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