From 8e9063f54783b015223346aac471c7b48c773438 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sun, 7 Sep 2014 22:09:07 -0400 Subject: scene: Add simple DSL for creating scene nodes. * sly/scene.scm (scene-root): Use make-scene-node instead of scene-node. (scene-node): Create a more pleasant syntax for defining scene nodes. --- sly/scene.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sly/scene.scm b/sly/scene.scm index d133d37..b523c72 100644 --- a/sly/scene.scm +++ b/sly/scene.scm @@ -62,7 +62,9 @@ (recompute-transform! node 0) node)) -(define scene-node make-scene-node) +(define-syntax-rule (scene-node (field val) ...) + (apply make-scene-node + (append (list (symbol->keyword 'field) val) ...))) (define (scene-node-dirty? node) (define (different? a b) @@ -73,7 +75,7 @@ (different? scene-node-rotation scene-node-prev-rotation))) (define (scene-root . children) - (scene-node #:children children)) + (make-scene-node #:children children)) (define (update-scene-node node) (signal-let ((node node)) -- cgit v1.2.3