diff options
author | Thomas White <taw@physics.org> | 2021-04-06 21:45:15 +0200 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2021-04-06 23:05:44 +0200 |
commit | 686cad73eca73d9bbf7122e30bb5f433f0661b86 (patch) | |
tree | fadec0638ac245887817878b2e372286163da44e /guile/starlet/playback.scm | |
parent | 094e72b0e6215aa002a6a68951ba28521448185f (diff) |
Initial abstraction layer for colours
Diffstat (limited to 'guile/starlet/playback.scm')
-rw-r--r-- | guile/starlet/playback.scm | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/guile/starlet/playback.scm b/guile/starlet/playback.scm index c9153d8..9d372bf 100644 --- a/guile/starlet/playback.scm +++ b/guile/starlet/playback.scm @@ -304,7 +304,28 @@ (lambda (time) (cond ((< time fade-start-time) start-val) - ((> time (+ preset-start-time preset-time)) preset-val) + ((and (not (eq? 'no-value preset-val)) + (> time (+ preset-start-time preset-time))) + preset-val) + (else target-val)))) + + +(define (make-colour-fade start-val + target-val + preset-val + fade-time + fade-start-time + preset-time + preset-start-time) + (lambda (time) + (cond + + ((< time fade-start-time) start-val) + + ((and (not (eq? 'no-value preset-val)) + (> time (+ preset-start-time preset-time))) + preset-val) + (else target-val)))) @@ -449,6 +470,7 @@ (cond ((eq? type 'continuous) make-continuous-attr-fade) ((eq? type 'list) make-list-attr-fade) + ((eq? type 'colour) make-colour-fade) (else (raise-exception (make-exception (make-exception-with-message |