[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/sketch-mode da9e1d7 13/38: Implement help-echo showing
From: |
ELPA Syncer |
Subject: |
[elpa] externals/sketch-mode da9e1d7 13/38: Implement help-echo showing coordinates |
Date: |
Wed, 15 Sep 2021 16:57:35 -0400 (EDT) |
branch: externals/sketch-mode
commit da9e1d7ff54a532df76976e3555e7f2fcd2f4424
Author: Daniel Nicolai <dalanicolai@gmail.com>
Commit: Daniel Nicolai <dalanicolai@gmail.com>
Implement help-echo showing coordinates
---
sketch-mode.el | 40 ++++++++++++++++++++++++++++++++++------
1 file changed, 34 insertions(+), 6 deletions(-)
diff --git a/sketch-mode.el b/sketch-mode.el
index 0f820af..713c67c 100644
--- a/sketch-mode.el
+++ b/sketch-mode.el
@@ -67,6 +67,14 @@
(defgroup sketch nil
"Configure default sketch (object) properties.")
+(defcustom sketch-im-x-offset 7
+ "Default grid line separation distance (integer)."
+ :type 'integer)
+
+(defcustom sketch-im-y-offset 1
+ "Default grid line separation distance (integer)."
+ :type 'integer)
+
(defcustom sketch-default-image-size '(800 . 600)
"Default size for sketch canvas.
Cons cell with car and cdr both integers, respectively
@@ -157,7 +165,7 @@ In sketch-mode buffer press \\[sketch-transient] to
activate the
transient."
:lighter "sketch-mode"
:keymap
- '(([drag-mouse-1] . sketch-interactively)
+ '(([sketch drag-mouse-1] . sketch-interactively)
;; ([C-S-drag-mouse-1] . sketch-interactively)
("" . sketch-transient)))
@@ -203,7 +211,17 @@ transient."
(svg-line svg-grid 0 pos width pos :stroke-dasharray (when dash
"2,4"))
(setq dash (if dash nil t)))))
(setq svg (append svg-canvas (when sketch-show-grid (cddr svg-grid))))
- (svg-image svg :pointer 'arrow :grid-param grid-param)))
+ (svg-image svg
+ :grid-param grid-param
+ :pointer 'arrow
+ :map `(((rect . ((0 . 0) . (,(dom-attr svg 'width) .
,(dom-attr svg 'height))))
+ ;; :map '(((rect . ((0 . 0) . (800 . 600)))
+ sketch
+ (pointer arrow help-echo (lambda (_ _ pos)
+ (let ((coords (cdr
(mouse-pixel-position))))
+ (print (format "(%s,
%s)"
+ (- (car
coords) sketch-im-x-offset)
+ (+ (cdr
coords) sketch-im-y-offset)))))))))))
(sketch-mode)
(call-interactively 'sketch-transient)
(setq svg-sketch (svg-create width height)))
@@ -367,9 +385,9 @@ values"
["Labels"
("l" "Toggle labels" sketch-toggle-labels)]]
["Commands"
- [([drag-mouse-1] "Draw object" sketch-interactively-1)
- ([mouse-1] "Draw text" sketch-text-interactively)
- ([C-S-drag-mouse-1] "Crop image" sketch-crop)]
+ [([sketch drag-mouse-1] "Draw object" sketch-interactively-1)
+ ([sketch mouse-1] "Draw text" sketch-text-interactively)
+ ([sketch C-S-drag-mouse-1] "Crop image" sketch-crop)]
[("R" "Remove object" sketch-remove-object)
("u" "Undo" sketch-undo)
("r" "Redo" sketch-redo)]
@@ -493,7 +511,17 @@ values"
(cddr svg-sketch)
(when sketch-show-labels (sketch-labels))))
(erase-buffer) ;; a (not exact) alternative is to use (kill-backward-chars 1)
- (insert-image (svg-image svg :pointer 'arrow :grid-param grid-param)))
+ (insert-image (svg-image svg
+ :pointer 'arrow
+ :grid-param grid-param
+ :map `(((rect . ((0 . 0) . (,(dom-attr svg 'width)
. ,(dom-attr svg 'height))))
+ ;; :map '(((rect . ((0 . 0) . (800 . 600)))
+ sketch
+ (pointer arrow help-echo (lambda (_ _ pos)
+ (let ((coords
(mouse-pixel-position)))
+ (print (format
"(%s, %s)"
+
(- (cadr coords) pos)
+
(cddr coords)))))))))))
(transient-define-suffix sketch-interactively-1 (event)
(interactive "@e")
- [elpa] branch externals/sketch-mode created (now aaac04d), ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 3c8f9f1 05/38: Add documentation (prepare for publishing), ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 04dd1db 07/38: Add sketch fonts, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode ccff908 03/38: Implement toggle grid, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 96ce92b 02/38: First sketch of sketch-mode, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode d3b1831 14/38: Move transient quit for more sketch space, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode a715b8a 12/38: Reformat/compactify transient, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 35255d0 04/38: Implement undo/redo and show/edit/(re)load definition, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 56d7b5d 08/38: Create FUNDING.yml, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode da9e1d7 13/38: Implement help-echo showing coordinates,
ELPA Syncer <=
- [elpa] externals/sketch-mode 32559c4 06/38: Add remove functionality (id's and labels), ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 5c37145 09/38: Add sponsor button, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode b944693 10/38: Add crop image feature AND add text transient into main, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode f82ed74 11/38: Update documentation (add screencast), ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 4d78311 18/38: Experimental object modify tabulated list, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode d42f84a 22/38: Add svg and sketch group definitions, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode e3c16c7 26/38: Merge branch 'implement-layers' (incl. undo-tree undo/redo), ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 951c284 28/38: Fix dot marker and rename (make internal) sketch-snap-to-grid, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode f0465ec 29/38: Remove sketch-interactive function, ELPA Syncer, 2021/09/15
- [elpa] externals/sketch-mode 4c6a675 36/38: Fix load definition functionality (also set layers list), ELPA Syncer, 2021/09/15