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

Reply via email to