GNU bug report logs -
#69992
Minor improvement to image map transformation logic
Previous Next
Reported by: Joseph Turner <joseph <at> ushin.org>
Date: Mon, 25 Mar 2024 01:03:01 UTC
Severity: normal
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
David Ponce <da_vid <at> orange.fr> writes:
> Here is my last patch. The only change compared to the previous patch is that
> now the scale factor is correctly calculated based on the size of the image and
> the displayed size. To minimize the performance impact, I saved a call to
> `image-size' by doing the calculation directly in the `image--compute-map' and
> `image--compute-original-map' functions. I did some benchmarks and the
> difference is not significant. The tests still give the same results :-)
Thank you for these fixes and optimizations!!! The tests pass for me.
> Here is the new change log:
>
> 2024-03-30 David Ponce <da_vid <at> orange.fr>
>
> * lisp/image.el (image--compute-rotation): New function.
> (image--compute-map, image--compute-original-map): Use it.
> Ensure all transformations are applied or undone according to what
> Emacs does internally. Call a transformation function only when
> needed. Fix doc string.
With this fix, I think we can remove `image-tests--map-equal'. I'll
submit a new bug.
> (image--scale-map): Assume effective scale argument.
> (image--rotate-map): Assume effective rotation argument.
> (image--rotate-coord): Improve doc string.
> (image--flip-map): Remove no more used flip argument.
>
> * test/lisp/image-tests.el (image-create-image-with-map): Use a
> valid SVG image otherwise `image-size' will not return a valid
> value and calculation of scale could fail.
> (image-transform-map): Update according to changed signature of
> image--flip-map.
>
> Thanks!
>
> [2. text/x-patch; image-compute-map-V2.patch]...
This bug report was last modified 1 year and 56 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.