 
 (comment
 
-(swap! app-state assoc-in [:canvas :actions 0 :props :strokeStyle] "#999999")
-(swap! app-state update-in [:canvas :actions] pop)
-
 (deref app-state)
 
-(swap! app-state assoc-in [:tools :props :lineWidth] 3)
-(swap! app-state assoc-in [:tools :current] :line)
-
 (swap! app-state update-in [:canvas :dimensions] assoc :width 900 :height 300)
 
+(square [[587 229] [554 333]])
 
 )

      (adjust-points m points))
    points))

(defn next-point [points x y]
  (if (zero? (count points))
    [[x y]]
    (let [points (assoc points 1 [x y])]
      (snap points))))

(def straight-line-tool
  (reify

(defn slope [[[x0 y0] [x1 y1]]]
  (/ (- y1 y0) (- x1 x0)))

(defn distance [[x0 y0] [x1 y1]]
  (let [a (- x1 x0)
        b (- y1 y0)]
    (Math/sqrt (+ (* a a) (* b b)))))

(defn adjusted-slope [m]
  (cond
    (< 0.5 m 2) 1
