Open
Description
It would be nice if we could share functionality between sketches, and also if the sketch could be instantiated with user-supplied parameters. For this I suggest an alternative defsketch
interface, while keeping the old one for simplicity / backward compatibility.
Example defsketchx
interface (x
is for "extended", maybe?):
(defsketchx my-sketch (some-mixin-class another-mixin-class)
;; These can be passed by the user to make-instance
(x (y 100))
((width 200)
(height 400))
(circle (or x 50) y))
Then instantiation might look like (make-instance 'my-sketch :x 70 :y 120)
. Maybe some-mixin-class
hooks into draw
and always provides a black background.
The specific application I have in mind is having a widgets-window
class that automatically creates a separate window with sliders/buttons to modify the sketch
parameters.
(defsketchx my-sketch (widgets-window) ()
((x (widget:slider 0 width))
(y (widget:dropdown 10 50 100)))
(circle (widget:get-value x) (widget:get-value y) 10))
Metadata
Metadata
Assignees
Labels
No labels