From: Andy Moreton <andrewjmoreton@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: can someone help me with the image elisp API
Date: Tue, 08 Dec 2015 09:30:41 +0000 [thread overview]
Message-ID: <86mvtl2sou.fsf@gmail.com> (raw)
In-Reply-To: 72e35ecc-e4bf-4d32-bc7f-e47c87e758e4@googlegroups.com
On Mon 07 Dec 2015, Jim Newton wrote:
> I've opened an image (a .png) file in an emacs buffer.
> I'd like to be able to click in the image with the RMB (or any good mouse event),
> and somehow relate the point the user clicked to the
> coordinates in the image.
>
> For example, this elisp function gets the x-y position. Suppose it is (609 . 41)
> I want to know if that is in the box within the image coordinates
> (( 447.32 199.28) ( 449.7426 199.9871))
>
> I need of course to consider that the user might have scrolled or panned or zoomed
> within the image before calling the class-graph-from-click function.
>
> (defun class-graph-from-click (event)
> (interactive "e")
> (let ((position (event-start event)))
> (posn-x-y position) ;; this is the x-y where the mouse was clicked-down
> (message "xy=%s" (posn-x-y position))))
Have a look at the manual at (info "(elisp) Accessing Mouse") which
shows the utility functions provided for handling mouse position data.
It looks like 'posn-image and 'posn-object-x-y position are what you
need.
AndyM
prev parent reply other threads:[~2015-12-08 9:30 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-07 15:25 can someone help me with the image elisp API Jim Newton
2015-12-08 7:23 ` Alexis
2015-12-08 9:30 ` Andy Moreton [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86mvtl2sou.fsf@gmail.com \
--to=andrewjmoreton@gmail.com \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.