39 lines
732 B
Common Lisp
39 lines
732 B
Common Lisp
; this demo shows how to use the mouse events to draw make a simple drawing tool.
|
|
;
|
|
(clear)
|
|
;
|
|
(def prev-pos:x 0)
|
|
(def prev-pos:y 0)
|
|
;
|
|
(defn stroke-color
|
|
(e)
|
|
(if
|
|
(eq e:is-down true) "#ffb545" "#72dec2"))
|
|
;
|
|
(defn draw-line
|
|
(e)
|
|
(
|
|
(if
|
|
(eq e:is-down true)
|
|
(
|
|
(debug e:is-down)
|
|
(stroke
|
|
(line prev-pos:x prev-pos:y e:x e:y) "white")
|
|
(set prev-pos "x" e:x "y" e:y)
|
|
(debug prev-pos)
|
|
(debug e)))))
|
|
;
|
|
(defn draw-circle
|
|
(e)
|
|
(
|
|
(debug e)
|
|
(set prev-pos "x" e:x "y" e:y)
|
|
(debug e:x)
|
|
(stroke
|
|
(circle e:x e:y 10)
|
|
(stroke-color e))))
|
|
;
|
|
(on "mouse-down" draw-circle)
|
|
(on "mouse-up" draw-circle)
|
|
(on "mouse-move" draw-line)
|