diff options
Diffstat (limited to 'guile/starlet/base.scm')
-rw-r--r-- | guile/starlet/base.scm | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/guile/starlet/base.scm b/guile/starlet/base.scm index ea7850c..bbb98e2 100644 --- a/guile/starlet/base.scm +++ b/guile/starlet/base.scm @@ -1,5 +1,6 @@ (define-module (starlet base) #:use-module (starlet utils) + #:use-module (starlet colours) #:use-module (oop goops) #:use-module (ice-9 threads) #:use-module (ice-9 atomic) @@ -22,12 +23,14 @@ <fixture-attribute> attr-continuous attr-list + attr-colour get-attr-type get-attr-range get-attr-name get-attr-home-val intensity? continuous-attribute? + colour-attribute? <starlet-state> make-empty-state @@ -207,6 +210,11 @@ (get-attr-type aobj))) +(define (colour-attribute? aobj) + (eq? 'colour + (get-attr-type aobj))) + + (define (append-or-replace-named-state orig-list name new-state) (let ((new-list (map (lambda (st) (if (eq? (get-state-name st) name) @@ -520,6 +528,15 @@ pre-existing contents." #:home-value attr-home-value)))) +(define-syntax attr-colour + (syntax-rules () + ((_ attr-name attr-home-value) + (make <fixture-attribute> + #:name attr-name + #:type 'colour + #:home-value attr-home-value)))) + + (define current-state (make-parameter programmer-state)) |