bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#46464: 27.1; wide images are hidden partially at the right edge of w


From: Eli Zaretskii
Subject: bug#46464: 27.1; wide images are hidden partially at the right edge of window
Date: Mon, 15 Feb 2021 17:41:15 +0200

> From: ynyaaa@gmail.com
> Cc: 46464@debbugs.gnu.org
> Date: Mon, 15 Feb 2021 22:40:56 +0900
> 
> >> If a edge of a image is near the right edge of the window,
> >> the image is mostly hidden. It is not preferable.
> >
> > That's how Emacs behaved since v21.
> 
> If the width of the iamge is 200 pixels, typing some characters at the
> beginning of the same line, the image moves to the right and gets hidden
> gradually and is wrapped to the next visual line.
> 
> If the width of the image is 150 pixels, the entire image does not get
> hidden and it is wrapped when the image right edge is going to across
> the right edge of the window.
> 
> What is the difference?

There's a heuristic that changes behavior when the image becomes
wider than 1/4 of the window.  By default, the "emacs -Q" window is
640 pixels wide, so that's what you see.

> >> And if :margin is specified, the image may be hidden completely.
> >> 
> >> By the way, if :margin is specified, a partial image on the right edge
> >> of the window is displayed with right margin.
> >
> > I don't think I understand what you mean by that.  Can you show a test
> > case?
> 
> Evaluating the form below, four images are supposed to be displayed in
> the first visual line. But the fourth image is invisible. Similar for
> the second visual line.
> 
> If ':margin 5' is replaced with ':margin 20', three images are displayed
> in the first to third visual lines. Third image in each visual line is
> truncated at the x-coordinate 20 pixels apart from the right edge of the
> window. It looks as if the image is not truncated and is small.
> 
> (dotimes (i 10)
>   (let* ((w 200) (h 30) (sw 6)
>          (color (nth (% i 5) '("red" "green" "blue" "yellow" "orange")))
>          (svg (format "<svg width=\"%g\" height=\"%g\"
>  version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\";>
> <rect x=\"%g\" y=\"%g\" width=\"%g\" height=\"%g\" stroke=\"%s\"
>  stroke-width=\"%g\" fill=\"grey\"/>
> </svg>" w h (/ sw 2) (/ sw 2) (- w sw) (- h sw) color sw)))
>     (insert-image (create-image svg 'svg t :margin 5 :scale 1))))

I will look into this and see if this is a bug or intended behavior.

In general, Lisp programs that display wide images should be careful
about these aspects to make sure images aren't clipped and appear in
their entirety.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]