aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 ...)))))