Added :d to mouse shapes

This commit is contained in:
Devine Lu Linvega 2019-07-26 12:21:50 +09:00
parent c88968bf05
commit bcd98907c9
4 changed files with 19 additions and 41 deletions

View File

@ -113,7 +113,6 @@ function Lisp (lib = {}, includes = []) {
const interpret = async function (input, context) {
if (!input) { console.warn('Lisp', 'error', context.scope); return null }
if (context === undefined) {
return interpret(input, new Context(lib))
} else if (input instanceof Array) {

View File

@ -126,13 +126,13 @@ function Ronin () {
a: { x: this.mouseOrigin.x, y: this.mouseOrigin.y },
b: { x: pos.x, y: pos.y }
}
const distance = Math.sqrt(((line.a.x - line.b.x) * (line.a.x - line.b.x)) + ((line.a.y - line.b.y) * (line.a.y - line.b.y)))
const d = Math.sqrt(((line.a.x - line.b.x) * (line.a.x - line.b.x)) + ((line.a.y - line.b.y) * (line.a.y - line.b.y)))
const circle = {
cx: this.mouseOrigin.x,
cy: this.mouseOrigin.y,
r: distance
r: d
}
return { x, y, line, rect, pos, circle, type, 'is-down': type !== 'mouse-up' ? true : null }
return { x, y, d, line, rect, pos, circle, type, 'is-down': type !== 'mouse-up' ? true : null }
}
// Zoom

View File

@ -0,0 +1,16 @@
; this demo shows how to use the mouse events to draw make a simple drawing tool.
;
(clear)
;
(def gradient-line
(line frame-rect:c 0 frame-rect:c frame-rect:h))
;
(defn draw-circle
(e)
(
(stroke
(circle e:x e:y e:d) 1
(gradient gradient-line
("black" "#ffb545")))))
;
(on "mouse-move" draw-circle)

View File

@ -1,37 +0,0 @@
; this demo shows how to use the mouse events to draw make a simple drawing tool.
;
(clear)
;
(def prev-pos {:x 0 :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) 2 "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) 4
(stroke-color e))))
;
(on "mouse-down" draw-circle)
(on "mouse-up" draw-circle)
(on "mouse-move" draw-line)