Apply the zoom transformation before the output transformation
authorNeil Roberts <neil@linux.intel.com>
Tue, 6 May 2014 18:04:15 +0000 (19:04 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 6 May 2014 22:36:55 +0000 (15:36 -0700)
commit6c3b01f81e8e442b8c82efc702797aae629b33d2
tree795872d3cd6b1d1acb8e3512e6da9e77a8be5e5e
parent2ef1cd177e73173d8cd25325ce691a09187134cb
Apply the zoom transformation before the output transformation

The zoom translation is just a scale and a translate. The translation
is calculated based on the coordinates of the pointer which are in
global space. Previously the calculated translation was transformed by
the output transformation so that when the zoom transform is applied
after the output transform then it will be correct. However if we just
apply the zoom transformation first then we get the same result
without the zoom code having to be aware of the output transformation.

This also fixes weston_output_transform_coordinate which was applying
the output and zoom transforms in the wrong order.

https://bugs.freedesktop.org/show_bug.cgi?id=78211
src/compositor.c
src/zoom.c