1 ! Copyright (C) 2013 John Benediktsson
2 ! See http://factorcode.org/license.txt for BSD license
4 USING: accessors colors combinators kernel locals math
28 { [ y>> ] [ u>> ] [ v>> ] [ alpha>> ] } cleave
33 Wb 1 Wb - * Umax Wg * / neg u *
34 Wr 1 Wr - * Vmax Wg * / neg v * + +
38 [ 0.0 1.0 clamp ] tri@
41 GENERIC: >yuva ( color -- yuva )
43 M: object >yuva >rgba >yuva ;
45 M: yuva >yuva ; inline
47 M:: rgba >yuva ( rgba -- yuva )
48 rgba >rgba-components :> ( r g b a )
49 Wr r * Wg g * Wb b * + + :> y
50 Umax 1 Wb - / b y - * :> u
51 Vmax 1 Wr - / r y - * :> v