[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/sketch-mode d5bb2b7: Implement freehand drawing
From: |
ELPA Syncer |
Subject: |
[elpa] externals/sketch-mode d5bb2b7: Implement freehand drawing |
Date: |
Sun, 10 Oct 2021 16:57:25 -0400 (EDT) |
branch: externals/sketch-mode
commit d5bb2b7b87ca2da5c74458e0b307d17efa7a7df9
Author: Daniel Nicolai <dalanicolai@gmail.com>
Commit: Daniel Nicolai <dalanicolai@gmail.com>
Implement freehand drawing
---
sketch-mode.el | 29 +++++++++++++++++++++++++----
1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/sketch-mode.el b/sketch-mode.el
index 04885d1..7e4b3e2 100644
--- a/sketch-mode.el
+++ b/sketch-mode.el
@@ -767,6 +767,7 @@ else return nil"
("ellipse" "e")
("polyline" "p")
("polygon" "g")
+ ("freehand" "f")
("text" "t")
("group" "g"))))
(idx 0)
@@ -952,9 +953,9 @@ else return nil"
(car start-coords) (cdr
start-coords)
(sketch--circle-radius
start-coords start-coords)))
("ellipse" `(svg-ellipse
,@(sketch--ellipse-coords start-coords start-coords)))
- (var (list (if (string= var "polyline")
- 'svg-polyline
- 'svg-polygon)
+ (var (list (pcase var
+ ((or "polyline" "freehand")
'svg-polyline)
+ ("polygon" 'svg-polygon))
points))))
(label (sketch-create-label object-type)))
(apply (car start-command-and-coords)
@@ -1012,7 +1013,27 @@ else return nil"
(if (eq (car event)
'down-mouse-1)
(push
end-coords points)
(cons end-coords
points)))
- ",
"))))))
+ ",
")))))
+ ((string= object-type "freehand")
+ (track-mouse
+ (while (not (eq (car event) 'drag-mouse-1))
+ (setq event (read-event))
+ (let* ((end (if (eq (car event) 'drag-mouse-1)
+ (event-end event)
+ (event-start event)))
+ (end-coords (if (or (not snap) (string= snap "nil"))
+ (posn-object-x-y end)
+ (sketch--snap-to-grid (posn-object-x-y
end) grid-param))))
+ (setf (dom-attr node 'points) (mapconcat (lambda (pair)
+
(format "%s %s" (car pair) (cdr pair)))
+
(reverse (cl-pushnew end-coords points))
+
", "))
+ (sketch-update nil nil (cons (car end-coords) (cdr
end-coords)))
+ (setq sketch-cursor-position (format "(%s, %s)"
+ (car end-coords)
+ (cdr end-coords)))
+ (force-mode-line-update))))))
+ ;; (sketch-possibly-update-image sketch-svg)))
;; (sketch-possibly-update-image sketch-svg
;; :pointer 'arrow
;; :map `(((rect . ((0 . 0) .
(,(dom-attr sketch-svg 'width) . ,(dom-attr sketch-svg 'height))))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/sketch-mode d5bb2b7: Implement freehand drawing,
ELPA Syncer <=