unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Marc Feeley <feeley@iro.umontreal.ca>
To: Eli Zaretskii <eliz@gnu.org>
Cc: "Stephen J. Turnbull" <stephen@xemacs.org>, emacs-devel@gnu.org
Subject: Re: There should be an option to set the display size of an image to	zero
Date: Tue, 17 Sep 2013 08:50:45 -0400	[thread overview]
Message-ID: <CD65E78E-F409-4EFC-9FC9-B69169E39EFA@iro.umontreal.ca> (raw)
In-Reply-To: <83hadjq4zf.fsf@gnu.org>

Let me explain the context so that you better understand my specific needs.  I want to use emacs as a programming tool to display the result of some program analyses of the code currently in the buffer.  Specifically I want to display arrows that indicate how data flows in the program.  For example, what are all the places in the code where the value resulting from a given constructor are referenced, or inversely, what are all the calls to constructors whose resulting value can flow to a particular point in the code.

My plan is to display arrows indicating these relationships and to overlay them on top of the program source code.  It would be ideal if it was possible to place an image on top of the text that scrolls with the text.  The arrows would only appear if the cursor (or mouse) is placed on top of a constructor or accessor, so it must be efficient to change the image dynamically.  An SVG image would be ideal because the image can easily be constructed and takes little space.

I've prototyped such an interface in JavaScript by using a web browser as a display engine.  However, editing is not easy to achieve.  I really want emacs for this.

How hard would it be to implement such a feature in emacs?

Here's a wild idea: has anyone compiled emacs using emscripten to allow emacs to run in a web browser?  It would then be easy to overlay graphics on top of the emacs text.

Marc


On 2013-09-17, at 3:31 AM, Eli Zaretskii <eliz@gnu.org> wrote:

>> From: "Stephen J. Turnbull" <stephen@xemacs.org>
>> Date: Tue, 17 Sep 2013 16:19:48 +0900
>> Cc: Marc Feeley <feeley@iro.umontreal.ca>, emacs-devel@gnu.org
>> 
>> As he phrased it, yes.  But the use-case he described could be
>> accomodated fairly simply by blitting the image to the *background*
>> rather than treating it as a (more or less) giant character in the
>> foreground.
> 
> I'm not sure we have that capability.  I may be wrong, though.
> 
>> I think Emacs allows background pixmaps, doesn't it?
> 
> I don't think so.  We only support :stipple.  Again, I know almost
> nothing about this.
> 
>> What I do (in XEmacs) when translating or inputting from a
>> photographed page image is to make that image the background pixmap,
>> then just type right over the text I'm working on.
>> 
>> Of course it wouldn't be particularly robust to scrolling and such.
> 
> Right.  The Emacs redisplay never redraws the background, except when
> it completely erases the frame.
> 
>> To get a relatively robust version, you'd just need to be able to
>> "pin" rectangular objects to the background canvas, which shouldn't be
>> too hard.  Allowing you to pin those things relative to a particular
>> marker in text might be quite a bit more complex, though.
> 
> We don't have a canvas in Emacs, I think.




  reply	other threads:[~2013-09-17 12:50 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-17  2:37 There should be an option to set the display size of an image to zero Marc Feeley
2013-09-17  6:26 ` Eli Zaretskii
2013-09-17  7:19   ` Stephen J. Turnbull
2013-09-17  7:31     ` Eli Zaretskii
2013-09-17 12:50       ` Marc Feeley [this message]
2013-09-17 14:02         ` Eli Zaretskii
2013-09-17 14:43           ` Marc Feeley
2013-09-17 16:10             ` Eli Zaretskii
2013-09-17 16:15               ` Marc Feeley
2013-09-17 16:56                 ` chad
2013-09-17 21:57               ` Stefan Monnier
2013-09-18  6:56                 ` Eli Zaretskii
2013-09-18 15:18                   ` Jan Djärv
2013-09-18 16:10                   ` Stefan Monnier
2013-09-18 16:38                     ` Eli Zaretskii
2013-09-18 17:06                       ` Stefan Monnier

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CD65E78E-F409-4EFC-9FC9-B69169E39EFA@iro.umontreal.ca \
    --to=feeley@iro.umontreal.ca \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=stephen@xemacs.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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).