; don't use wildcard import, it's slow in applets (import "shady.common.multi.MultiShadyCommonAPI") (import "shady.common.multi.MemberShadyCommonAPI") (import "shady.common.multi.MultiEnvironment") (import "shady.common.multi.MultiSegment") (import "shady.common.ui.multi.UI") ; shady.common.multi.MultiShadyCommonAPI (define num-members (lambda () (.numMembers multi-shady))) (define get-member (lambda (index) (.getMember multi-shady index))) (define add-member (lambda (pose) (.addMember multi-shady pose))) (define remove-last-member (lambda () (.removeLastMember multi-shady) (if (>= (get-selected-index) (num-members)) (set-selected-index -1)))) (define clear-members (lambda () (.clearMembers multi-shady) (set-selected-index -1))) (define multi-reset (lambda () (.reset multi-shady))) (define multi-stop (lambda args (if (null? args) (.stop multi-shady false) (.stop multi-shady (car args))))) (define multi-get-num-active-actuators (lambda () (.getNumActiveActuators multi-shady))) (define get-clock (lambda () (.getClock multi-shady))) ; shady.common.multi.MemberShadyCommonAPI ; shady.common.multi.MultiEnvironment (define add-multi-environment-segment (lambda (start-x start-y end-x end-y grounded) (.addSegment environment start-x start-y end-x end-y grounded))) (define set-defer-place (lambda (defer-place) (.setDeferPlace environment defer-place))) (define is-defer-place (lambda () (.isDeferPlace environment))) (define place (lambda () (.place environment))) ; shady.common.multi.MultiSegment (define is-grounded (lambda (index) (.grounded$ (get-environment-segment index)))) (define set-grounded (lambda (index grounded) (.grounded$ (get-environment-segment index) grounded))) ; shady.common.ui.multi.UI (define set-selected-index (lambda (index) (.setSelectedIndex ui index))) (define set-member set-selected-index) (define get-selected-index (lambda () (.getSelectedIndex ui)))