]> gitweb.factorcode.org Git - factor.git/blob - basis/colors/colors.factor
Implement gesture>string for actions
[factor.git] / basis / colors / colors.factor
1 ! Copyright (C) 2003, 2009 Slava Pestov.
2 ! Copyright (C) 2008 Eduardo Cavazos.
3 ! See http://factorcode.org/license.txt for BSD license.
4 USING: kernel accessors combinators math ;
5 IN: colors
6
7 TUPLE: color ;
8
9 TUPLE: rgba < color { red read-only } { green read-only } { blue read-only } { alpha read-only } ;
10
11 C: <rgba> rgba
12
13 GENERIC: >rgba ( color -- rgba )
14
15 M: rgba >rgba ( rgba -- rgba ) ;
16
17 M: color red>> ( color -- red ) >rgba red>> ;
18 M: color green>> ( color -- green ) >rgba green>> ;
19 M: color blue>> ( color -- blue ) >rgba blue>> ;
20
21 : >rgba-components ( object -- r g b a )
22     >rgba { [ red>> ] [ green>> ] [ blue>> ] [ alpha>> ] } cleave ; inline
23
24 : opaque? ( color -- ? ) alpha>> 1 number= ;
25
26 CONSTANT: transparent T{ rgba f 0.0 0.0 0.0 0.0 }