hunk ./doc/commentary.text 1 -Calculate the straight line distance between two s. - -Special case for distance from the origin. - -Generate a set of s on the line from `a' to `b' with an x axis -distance increment of `xn'. - - rmfile ./doc/commentary.text rmdir ./doc hunk ./src/hsva.scm 1 -;; hsva.scm - (c) rohan drape, 2005-2007 +(define-record-type hsva h s v a) hunk ./src/hsva.scm 3 -(module hsva (lib "lang.ss" "r5rs") -(#%require (lib "rsc3.ss" "rsc3") - (lib "rsc3-lambda.ss" "rsc3-lambda") - "hsv.scm" - "rgb.scm" - "rgba.scm") -(#%provide (all-defined)) +(define hsva-inverse + (lambda (c) + (let ((h (hsva-h c)) + (s (hsva-s c)) + (v (hsva-v c))) + (make-hsva (- a h) (- a s) (- a v) a)))) hunk ./src/hsva.scm 10 -(define-structure hsva h s v a) - -(define-m (hsva-inverse (hsva h s v a)) - (make-hsva (- a h) (- a s) (- a v) a)) - -(define-m (hsva-scale (hsva h s v a) n) +(define hsva-scale + (lambda (c n) + (let ((h (hsva-h c)) + (s (hsva-s c)) + (v (hsva-v c)) + (a (hsva-a c))) hunk ./src/hsva.scm 18 -(define-m (hsv->hsva (hsv h s v) a) - (make-hsva h s v a)) - -(define-m (rgba->hsva (rgba r g b a)) - (hsv->hsva (rgb->hsv (make-rgb r g b)) a)) - -(define-m (hsva->rgba (hsva h s v a)) - (rgb->rgba (hsv->rgb (make-hsv h s v)) a)) - -) +(define hsv->hsva + (lambda (c a) + (let ((h (hsv-h c)) + (s (hsv-s c)) + (v (hsv-v c))) + (make-hsva h s v a)))) hunk ./src/bgra.scm 1 -(define-record-type bgra - (fields b g r a)) - -(define-m (bgra-inverse (bgra b g r a)) - (make-bgra (- a b) (- a g) (- a r) a)) - -(define-m (bgra-scale n (bgra b g r a)) - (make-bgra (* n b) (* n g) (* n r) (* n a))) - -(define-m (bgra-interpolate w (bgra b1 g1 r1 a1) (bgra b2 g2 r2 a2)) - (let ((f (lambda (x1 x2) (+ (* w x1) (* (- 1 w) x2))))) - (make-bgra (f b1 b2) (f g1 g2) (f r1 r2) (f a1 a2)))) - -(define-m (bgra-overlay w (bgra b1 g1 r1 a1) (bgra b2 g2 r2 a2)) - (let ((f (lambda (x1 x2) (+ x1 (* (- 1 a1) x2))))) - (make-bgra (f b1 b2) (f g1 g2) (f r1 r2) (f a1 a2)))) rmfile ./src/bgra.scm hunk ./src/hsva.scm 1 -(define-record-type hsva h s v a) - -(define hsva-inverse - (lambda (c) - (let ((h (hsva-h c)) - (s (hsva-s c)) - (v (hsva-v c))) - (make-hsva (- a h) (- a s) (- a v) a)))) - -(define hsva-scale - (lambda (c n) - (let ((h (hsva-h c)) - (s (hsva-s c)) - (v (hsva-v c)) - (a (hsva-a c))) - (make-hsva (* h n) (* s n) (* v n) (* a n))) - -(define hsv->hsva - (lambda (c a) - (let ((h (hsv-h c)) - (s (hsv-s c)) - (v (hsv-v c))) - (make-hsva h s v a)))) rmfile ./src/hsva.scm hunk ./src/rgba.scm 1 -(define-structure rgba r g b a) - -(define-m (rgb->rgba (rgb r g b) a) - (make-rgba r g b a)) - -(define-m (rgba-scale n (rgba r g b a)) - (make-rgba (* n r) (* n g) (* n b) (* n a))) - -(define-m (rgba-inverse (rgba r g b a)) - (make-rgba (- a r) (- a g) (- a b) a)) - -(define (rgba-average r) - (let ((n (length r))) - (make-rgba (/ (fold-left + 0 (map rgba-r r)) n) - (/ (fold-left + 0 (map rgba-g r)) n) - (/ (fold-left + 0 (map rgba-b r)) n) - (/ (fold-left + 0 (map rgba-a r)) n)))) rmfile ./src/rgba.scm hunk ./README 1 -rsc3-interface +rsc3-interface -- plt/mred rsc3 related interface code hunk ./README 3 -(c) rohan drape, 1998-2008 +(c) rohan drape, 1998-2011 hunk ./README 3 +To use rsc3 emacs mode set rsc3-interpreter to ("mred" "-iz") + hunk ./help/tracer.help.scm 1 -(require rsc3-interface/plt/rsc3-interface) +(require rsc3-interface/plt/rsc3-interface + rsc3-schedule/rsc3-schedule)