diff options
Diffstat (limited to 'guile')
-rw-r--r-- | guile/starlet/colours.scm | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/guile/starlet/colours.scm b/guile/starlet/colours.scm index d390c5d..5ed4f81 100644 --- a/guile/starlet/colours.scm +++ b/guile/starlet/colours.scm @@ -19,12 +19,24 @@ #:getter colour-value)) -(define-method (write (col <colour>) port) +(define cyan car) +(define magenta cadr) +(define yellow caddr) + +(define-method (display (col <colour>) port) (format port "#<<colour> ~a ~a>" (colour-type col) (colour-value col))) +(define-method (write (col <colour>) port) + (let ((cmy (colour-as-cmy col))) + (format port "(make-colour-cmy ~a ~a ~a)" + (cyan cmy) + (magenta cmy) + (yellow cmy)))) + + (define (make-colour-cmy c m y) (make <colour> #:type 'cmy |