[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Smooth image scrolling
From: |
Eli Zaretskii |
Subject: |
Re: Smooth image scrolling |
Date: |
Thu, 08 Oct 2020 11:00:37 +0300 |
> From: Michael Heerdegen <michael_heerdegen@web.de>
> Date: Thu, 08 Oct 2020 06:25:10 +0200
>
> Normally, the calc buffers are only a few lines tall, and one image may
> be quite as large, or even larger. Everything is narrow.
>
> Normal mouse-whell scrolling just jumps past the image, so you have no
> chance to see the second half of it. Even if I scroll in one-line
> steps.
>
> So I experimented with scrolling by changing the window's vscroll (as
> image-mode uses to do). Oh, pixel-scroll-mode doesn't behave much
> nicer, so that didn't help.
>
> But now changing the windows vscroll comes with new problems. When
> increasing the window's vscroll (say, by one) moves the cursor out of
> view, Emacs (redisplay I guess) moves it back into the visible buffer
> part (it doesn't change point), and what I get is actually scrolling
> backwards.
>
> I then tried to adjust point manually, which is not that simple. But
> even then - when I want to get back to standard scrolling (say I have
> now scrolled past the first image), Emacs silently undoes the vscroll
> setting, again scrolling backwards in effect. So I would have to handle
> that effect as well, probably reimplementing more or less the whole
> scrolling algorithms.
>
> Do I miss something, or is this really ... a bit hard to achieve?
It's not easy.
First thing I don't understand is whether you are trying this with the
mouse or with C-n/C-p. The latter should already work reasonably well
for tall images (i.e. images taller than the window), see line-move
and its subroutines line-move-visual and line-move-partial. Maybe the
code there will give you ideas for how to solve your problem?