diff options
author | Thomas White <taw@physics.org> | 2021-04-07 20:54:08 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2021-04-07 20:54:08 +0200 |
commit | 376f1322adf585617cf173ef34832ed910b6b49c (patch) | |
tree | 5fa1e642abd918ff8b24e4ecbd656b790100a230 | |
parent | dbab3e44d49eb6e478c488d1f767dc80bd5c3ec1 (diff) |
fixup initial abstraction
-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 |