Pekka Paalanen wrote:
To which surface are these values relative to, the parent, or the
hypothetical popup?
The implementation shows the parent surface. Also seems a lot easier for
a client to handle that.
"Distance to the edge" is a bit vague, I'm not sure how to use that
based on this description alone. Can you write a formula on what
coordinates to try next to make the area maximally visible?
The supplied code is not doing this (instead it returns the top-left of
the requested area). But the intention is that if the width is zero then
the returned x is the nearest position horizontally that is not clipped
(either to the right or left of the requested position), and the same
vertically.
This will figure out a non-clipped position to place a WxH window,
assuming the clip is a rectangle larger than WxH:
X,Y = client's preferred position
x,y,w,h = probe(X,Y,W,H);
if (w < W) { // clipped horizontally
if (x > X) X = x; // move right
else X = x + w - W; // move left
}
if (h < H) { // clipped vertically
if (y > Y) Y = y; // move down
else Y = y + h - H; // move up
}
X,Y,W,H is now where to place the window
If width and/or height is zero, is it always both x and y, or just the
corresponding x and/or y that is the distance?
I think it is very useful for the two to be independent.
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel