[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/sketch-mode 8111309 02/12: Add first sketch for simple
From: |
ELPA Syncer |
Subject: |
[elpa] externals/sketch-mode 8111309 02/12: Add first sketch for simple rotate function |
Date: |
Tue, 26 Oct 2021 14:57:41 -0400 (EDT) |
branch: externals/sketch-mode
commit 8111309b9a7f4d726b0c86e6d8759a0d3660116f
Author: Daniel Nicolai <dalanicolai@gmail.com>
Commit: Daniel Nicolai <dalanicolai@gmail.com>
Add first sketch for simple rotate function
---
sketch-mode.el | 40 +++++++++++++++++++++++++++++++++++++++-
1 file changed, 39 insertions(+), 1 deletion(-)
diff --git a/sketch-mode.el b/sketch-mode.el
index 5deb44d..92b8c60 100644
--- a/sketch-mode.el
+++ b/sketch-mode.el
@@ -876,6 +876,43 @@ selection shows all object in sketch."
value)
" "))
+(defun sketch--svg-rotate (dt &optional object-def)
+ (interactive)
+ (let ((transform (sketch-parse-transform-value
+ (or (dom-attr object-def 'transform)
+ "rotate(0)"))))
+ (cl-decf (cl-first (alist-get 'rotate transform)) dt)
+ (dom-set-attribute object-def
+ 'transform
+ (sketch-format-transfrom-value transform))))
+
+(defun sketch-rotate (deg)
+ (interactive)
+ (let ((node (car (dom-by-id sketch-svg (car sketch-selection)))))
+ (sketch--svg-rotate deg node)
+ (sketch-redraw)))
+
+(defun sketch-rotate-by-5 (arg)
+ (interactive)
+ (let ((node (car (dom-by-id sketch-svg (car sketch-selection)))))
+ (sketch--svg-rotate (if arg -5 5) node)
+ (sketch-redraw)))
+
+(defun sketch-rotate-by-min-5 ()
+ (interactive)
+ (sketch-rotate-by-5 t))
+
+(defun sketch--svg-translate (dx dy &optional object-def)
+ (interactive)
+ (let ((transform (sketch-parse-transform-value
+ (or (dom-attr object-def 'transform)
+ "translate(0,0)"))))
+ (cl-decf (cl-first (alist-get 'translate transform)) dx)
+ (cl-decf (cl-second (alist-get 'translate transform)) dy)
+ (dom-set-attribute object-def
+ 'transform
+ (sketch-format-transfrom-value transform))))
+
(defun sketch--svg-translate (dx dy &optional object-def)
(interactive)
(let ((transform (sketch-parse-transform-value
@@ -1303,7 +1340,8 @@ color."
(insert " ")
(insert s)
(insert "\n"))
- (goto-char (point-min)))))
+ (goto-char (point-min))
+ (special-mode))))
(defun sketch-set-color ()
(interactive)
- [elpa] externals/sketch-mode 800cd1a 01/12: Create major mode (instead of minor mode); better for Spacemacs, (continued)
- [elpa] externals/sketch-mode 800cd1a 01/12: Create major mode (instead of minor mode); better for Spacemacs, ELPA Syncer, 2021/10/26
- [elpa] externals/sketch-mode 570f977 03/12: Implement bbob(-transform), transform and rotate basics, ELPA Syncer, 2021/10/26
- [elpa] externals/sketch-mode 5631fef 06/12: Side-window behavior improvements (e.g. add no-other-win win-param), ELPA Syncer, 2021/10/26
- [elpa] externals/sketch-mode 55e1389 08/12: Change default grid format (grid-param 100, minor-grid-freq 5), ELPA Syncer, 2021/10/26
- [elpa] externals/sketch-mode ff42a58 12/12: Merge branch 'add-rotate-functionality', ELPA Syncer, 2021/10/26
- [elpa] externals/sketch-mode f356810 04/12: Use (temporary patched version of) list-colors-display, ELPA Syncer, 2021/10/26
- [elpa] externals/sketch-mode 443cc68 09/12: Add selection rotate-by-5 (right mouse button drag), ELPA Syncer, 2021/10/26
- [elpa] externals/sketch-mode bb2ee17 11/12: Add show XML command, ELPA Syncer, 2021/10/26
- [elpa] externals/sketch-mode 4fd7932 05/12: Fix (uncomment) labels, ELPA Syncer, 2021/10/26
- [elpa] externals/sketch-mode f901c50 10/12: Add/improve color keybindings (and fix show toolbar), ELPA Syncer, 2021/10/26
- [elpa] externals/sketch-mode 8111309 02/12: Add first sketch for simple rotate function,
ELPA Syncer <=
- [elpa] externals/sketch-mode 587301a 07/12: Add opacity (slider in toolbar), ELPA Syncer, 2021/10/26