This seems excessively complicated compared to a version that just
figures out an x/y pair to use instead of seat->pointer->x/y and leaves
the rest of the code alone.
On 01/09/2015 10:45 AM, Derek Foreman wrote:
Any time the zoom is updated the best zoom target will be calculated
with the following priority:
1) The current pointer location.
2) The last known location of the pointer that initiated the zoom.
3) The center of the current keyboard focus. If the focus is split across
heads, multiple heads may zoom.
This would have to be changed to only zoom the output containing the
center of the current keyboard focus in my proposal, but I kind of feel
that would be better anyway.
- wl_list_for_each(output, &compositor->output_list, link) {
- if (pixman_region32_contains_point(&output->region,
-
wl_fixed_to_double(seat->pointer->x),
-
wl_fixed_to_double(seat->pointer->y),
- NULL)) {
So I propose that the above code refer to two local variables instead of
using wl_fixed_to_double(seat->pointer->x/y). You set those two
variables by calling some function (since it may want to be reused
elsewhere) that turns a seat into an x/y location, using the rules you
suggested.
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel