all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: storm@cua.dk (Kim F. Storm)
Cc: rms@gnu.org, emacs-devel@gnu.org
Subject: Re: Several suggestions for image support
Date: 18 Apr 2004 23:30:27 +0200	[thread overview]
Message-ID: <m3u0zhvurw.fsf@kfs-l.imdomain.dk> (raw)
In-Reply-To: <x54qriiise.fsf@lola.goethe.zz>

David Kastrup <dak@gnu.org> writes:

> Richard Stallman <rms@gnu.org> writes:
>
> > Emacs should have a way to scroll through an image,
> > so that C-v each time can advance one window-height
> > through the image.
> >
> > It would be inelegant to handle this by treating the tall
> > image as several lines--but perhaps that might actually
> > work more easily than some other methods.
>
> I don't think that splitting the image into lines by Emacs itself is
> feasible: the cursor positions on the image would need to correspond
> to actual cursor positions in the buffer, or things get inconsistent
> (Emacs moves out of cursor positions in the image automatically).
> While it would be a real boost of usability for my main application
> (preview-latex) if I could walk the cursor across lines or other areas
> of an image, the correlation between buffer positions and
> corresponding location of the cursor display would need to get
> explicitly established by the application: it would imply "stopping
> points" when Emacs is trying to move the cursor out of visually
> inaccessible areas.  And then Emacs would have to draw a cursor box or
> other indicator according to the location in there.  Substructuring an
> image like that would be a very nice feature.  But I don't see that
> it is possible to make the decision of where to split an image
> mechanically.

I have written some code (not too complex) which can split an image
into individual row, and each of those rows into individual "slices"
on each row, e.g.

   +--------+--------------+--------------+
   |        |              |              |
   |        |              |              |   POSSIBLE
   +--------+-----+-----------------------+   SLICING
   |              |                       |
   |              |                       |
   |              |                       |
   |              |                       |
   +--------------+-----------------------+

The major limitation of this is that all "slices" in one row
is (and must be) of equal height - the height of the row.

This is because emacs display engine is still row based, meaning that
all "glyphs" on a row are padded with empty space in top and bottom
to make all glyphs on the row of the same height  (this is not entirely
true, but you get the picture.)

In principle, my implementation can take any slice of an image and
combine it with any other slice of the same image, but the display
engine does not allow those slices to be placed arbitrarily in the
window, i.e. overlap rows like this:

   +----------------+---------------------+
   |                |                     |
   |                |                     |
   |                +---------------------+   IMPOSSIBLE
   |                |                     |   SLICING
   |                |                     |
   +----------------|                     |
   |                |                     |
   |                |                     |
   +----------------+---------------------+


David, what are the requirements for preview-latex ?

>
> Of course, scrolling through large images should be possible, anyway,
> and quite independent from that fanciful features.  Emacs already has
> set-window-vscroll in its display engine in order to deal perfectly
> well with that.

Yes, and it could probably be done entirely in lisp !?

--
Kim F. Storm <storm@cua.dk> http://www.cua.dk

  reply	other threads:[~2004-04-18 21:30 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-16  0:21 Several suggestions for image support David Kastrup
2004-04-16  9:29 ` YAMAMOTO Mitsuharu
2004-04-16 14:02   ` Kim F. Storm
2004-04-16 12:50     ` Jason Rumney
2004-04-16 16:59       ` Kim F. Storm
2004-04-16 15:18         ` Jason Rumney
2004-04-16 10:22 ` Kim F. Storm
2004-04-16  9:09   ` Jason Rumney
2004-04-16 10:06   ` David Kastrup
2004-04-16 12:38     ` Kim F. Storm
2004-04-16 11:09       ` Jason Rumney
2004-04-16 11:34         ` David Kastrup
2004-04-16 12:29           ` Jason Rumney
2004-04-16 12:56             ` David Kastrup
2004-04-16 17:08         ` Kim F. Storm
2004-04-16 13:39     ` Stefan Monnier
2004-04-16 13:49       ` David Kastrup
2004-04-17  7:16 ` Richard Stallman
2004-04-17 13:02   ` Werner LEMBERG
2004-04-17 19:24     ` David Kastrup
2004-04-17 18:03   ` David Kastrup
2004-04-18 21:30     ` Kim F. Storm [this message]
2004-04-19  1:51       ` Stefan Monnier
2004-04-19  7:57         ` David Kastrup
2004-04-19 10:34           ` Kim F. Storm
2004-04-19 14:29             ` Stefan Monnier
2004-04-19 15:17               ` David Kastrup
2004-04-19 15:37                 ` Stefan Monnier
2004-04-19 15:56         ` Kim F. Storm
2004-04-19 14:15           ` David Kastrup
2004-04-19 21:59             ` Kim F. Storm
2004-04-21  0:53         ` Kim F. Storm
2004-04-21  1:08 ` Kim F. Storm
2004-04-20 23:31   ` David Kastrup
2004-04-21  3:04     ` Piet van Oostrum
2004-04-22  0:43       ` Kim F. Storm
2004-04-22  1:18         ` YAMAMOTO Mitsuharu
2004-04-22 22:03           ` Piet van Oostrum
2004-04-23  4:02             ` YAMAMOTO Mitsuharu
2004-04-24 14:48               ` Piet van Oostrum
2004-04-21 10:10     ` Kim F. Storm
2004-04-21  8:51       ` David Kastrup
2004-04-21 12:51         ` Kim F. Storm
2004-04-22 17:40       ` Richard Stallman
2004-04-22 18:17         ` David Kastrup
2004-04-24 14:26           ` Richard Stallman
2004-04-22 23:53         ` Kim F. Storm
2004-04-22 23:02           ` David Kastrup
2004-04-23 12:36             ` Kim F. Storm
2004-04-23 15:02             ` Stefan Monnier
2004-04-23 15:05               ` David Kastrup
2004-04-23  0:33           ` Kenichi Handa
2004-04-23  0:51             ` David Kastrup
2004-04-23 12:58               ` Kenichi Handa
2004-04-23 14:53                 ` David Kastrup
2004-04-24 14:27               ` Richard Stallman
2004-04-24 15:16                 ` David Kastrup
2004-04-25  1:56             ` Kim F. Storm
2004-04-25  2:06               ` David Kastrup
2004-04-26  9:38                 ` Kim F. Storm
2004-04-27  0:34                   ` Kim F. Storm
2004-04-26 22:50                     ` David Kastrup
2004-04-27  1:30                       ` Miles Bader
2004-04-27  9:30                         ` Kim F. Storm
2004-04-27 13:22                           ` David Kastrup
2004-04-27 14:00                             ` David Kastrup
2004-04-28 10:12                               ` Richard Stallman
2004-04-28 10:58                                 ` David Kastrup
2004-04-29  0:29                                   ` Kim F. Storm
2004-04-28 22:52                                     ` David Kastrup
2004-04-29 13:31                                   ` Richard Stallman
2004-04-29  2:06                     ` Kenichi Handa
2004-04-29 10:00                       ` Kim F. Storm
2004-04-30  1:54                         ` Kenichi Handa
2004-04-29  2:20               ` Kenichi Handa
2004-04-25 18:09           ` Richard Stallman
2004-04-29  0:17             ` Kim F. Storm
2004-04-28 23:02               ` David Kastrup
2004-04-29  9:51                 ` Kim F. Storm
2004-04-29  8:08                   ` David Kastrup
2004-04-29 11:24                     ` Kim F. Storm
2004-04-30  1:07                 ` Kim F. Storm
2004-04-30 11:31                   ` David Kastrup
2004-04-30 14:21                     ` Kim F. Storm
2004-04-30 13:30                       ` David Kastrup
2004-04-30 13:49                       ` preview-latex in Emacs (was: Several suggestions for image support) Stefan Monnier
2004-05-01  9:44                   ` Several suggestions for image support Richard Stallman
2004-05-01 19:56                     ` Kim F. Storm
2004-05-02 19:52                       ` Richard Stallman
2004-05-03  9:19                         ` David Kastrup
2004-04-30  9:02               ` Richard Stallman
2004-04-30 11:27                 ` David Kastrup
2004-04-30 14:19                   ` Kim F. Storm
     [not found]   ` <E1BGiB8-00087H-Tz@fencepost.gnu.org>
     [not found]     ` <x5brljkgk5.fsf@lola.goethe.zz>
2004-04-22 23:32       ` Kim F. Storm
2004-04-22 21:50         ` David Kastrup

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=m3u0zhvurw.fsf@kfs-l.imdomain.dk \
    --to=storm@cua.dk \
    --cc=emacs-devel@gnu.org \
    --cc=rms@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.