aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2022-01-23 15:27:15 +0100
committerThomas White <taw@physics.org>2022-01-25 20:15:12 +0100
commitf7cedbe0ff797df7580908e8fe16d182671e02b2 (patch)
tree4128fff8ba38b64f24e9530532eef0f970df934d
parentc05008529130d03387858725a5ac5778a20fb4b3 (diff)
Syntax for creating transition effects
-rw-r--r--guile/starlet/snap-transition.scm6
-rw-r--r--guile/starlet/transition-effect.scm10
2 files changed, 12 insertions, 4 deletions
diff --git a/guile/starlet/snap-transition.scm b/guile/starlet/snap-transition.scm
index c44a2ea..ed9df4b 100644
--- a/guile/starlet/snap-transition.scm
+++ b/guile/starlet/snap-transition.scm
@@ -25,6 +25,6 @@
#:export (snap))
(define (snap)
- (make <transition-effect>
- #:func (lambda (incoming-state clock)
- incoming-state)))
+ (make-transition
+ (incoming-state clock)
+ incoming-state))
diff --git a/guile/starlet/transition-effect.scm b/guile/starlet/transition-effect.scm
index 6b59be4..7594b05 100644
--- a/guile/starlet/transition-effect.scm
+++ b/guile/starlet/transition-effect.scm
@@ -22,7 +22,8 @@
#:use-module (oop goops)
#:export (<transition-effect>
transition-effect?
- transition-func))
+ transition-func
+ make-transition))
(define-class <transition-effect> (<object>)
@@ -35,3 +36,10 @@
(define (transition-effect? a)
(is-a? a <transition-effect>))
+
+(define-syntax make-transition
+ (syntax-rules ()
+ ((_ (a b) expr ...)
+ (make <transition-effect>
+ #:func (lambda (a b)
+ expr ...)))))