colors: Add color tuples
parent
32325079ab
commit
e9e1313b6c
|
@ -1,7 +1,43 @@
|
||||||
! Copyright (C) 2003, 2007 Slava Pestov.
|
! Copyright (C) 2003, 2007 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
|
||||||
|
USING: kernel combinators sequences arrays
|
||||||
|
classes.tuple multi-methods accessors colors.hsv ;
|
||||||
|
|
||||||
IN: colors
|
IN: colors
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
TUPLE: color ;
|
||||||
|
|
||||||
|
TUPLE: rgba < color red green blue alpha ;
|
||||||
|
|
||||||
|
TUPLE: hsva < color hue saturation value alpha ;
|
||||||
|
|
||||||
|
TUPLE: grey < color grey alpha ;
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
GENERIC: >rgba ( object -- rgba )
|
||||||
|
|
||||||
|
METHOD: >rgba { rgba } ;
|
||||||
|
|
||||||
|
METHOD: >rgba { hsva }
|
||||||
|
{ [ hue>> ] [ saturation>> ] [ value>> ] [ alpha>> ] } cleave 4array
|
||||||
|
[ hsv>rgb ] [ peek ] bi suffix first4 rgba boa ;
|
||||||
|
|
||||||
|
METHOD: >rgba { grey } [ grey>> dup dup ] [ alpha>> ] bi rgba boa ;
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
|
USE: syntax
|
||||||
|
|
||||||
|
M: color red>> >rgba red>> ;
|
||||||
|
M: color green>> >rgba green>> ;
|
||||||
|
M: color blue>> >rgba blue>> ;
|
||||||
|
|
||||||
|
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
|
|
||||||
: black { 0.0 0.0 0.0 1.0 } ;
|
: black { 0.0 0.0 0.0 1.0 } ;
|
||||||
: blue { 0.0 0.0 1.0 1.0 } ;
|
: blue { 0.0 0.0 1.0 1.0 } ;
|
||||||
: cyan { 0 0.941 0.941 1 } ;
|
: cyan { 0 0.941 0.941 1 } ;
|
||||||
|
|
Loading…
Reference in New Issue