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

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

bug#5721: Feature request: Function that returns absolute coordinates


From: Jan Djärv
Subject: bug#5721: Feature request: Function that returns absolute coordinates
Date: Thu, 15 Jul 2010 10:59:52 +0200
User-agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; sv-SE; rv:1.9.2.4) Gecko/20100608 Thunderbird/3.1



YAMAMOTO Mitsuharu skrev 2010-07-15 10.44:
On Thu, 15 Jul 2010 10:35:47 +0200, Jan Djärv<jan.h.d@swipnet.se>  said:

That would require unscaled everywhere, even in pos-x-y, window
sizes, font sizes and so on.  I didin't think that was your
suggestion.

No, they are all frame-relative, so scaled by the scaling factor.

The only places currently I can think of in the "absolute" category
are the frame parameters `left' and `top', and some screen parameters
such as `display-pixel-height', etc.  Most of the values in Lisp are
designed as frame-relative.

But many operations add and subtract from frame top, left and display width/height. How many? I don't know, I just suspect that there are many based on what I've seen when editing existing lisp files in Emacs. Not to mention C files.


Again, if we used absolute scaled coordinates to specify `left' and
`top' frame parameters, we could only place the frame to the
position whose coordinates are multiples of the scale factor.

As I said earlier, special functions to deal with that for those that care.

I don't understand.  What happens if a user moved the frame to (101,
101) using the mouse under the scale factor 2, and he checked
(frame-parameter nil 'left)?

Is 101 scaled or unscaled?  If scaled, left would be 101.
If not scaled, left would be 50. Loss of precision? Sure, but does it matter in most cases?

Another idea would be if Emacs had its own internal coordinate system, say 0.0 to 1.0 or some integer based one, that already is display independent.
It would fit nicely with the GnomeCanvas idea (see other thread).
A bunch of work though...

        Jan D.





reply via email to

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