weston/clients
Pekka Paalanen 8060d826b7 Redefine output rotations
It was discovered in issue #99 that the implementations of the 90 and 270
degree rotations were actually the inverse of what the Wayland specification
spelled out. This patch fixes the libweston implementation to follow the
specification.

As a result, the behaviour of the the weston.ini transform key also changes. To
force all users to re-think their configuration, the transform key values are
also changed. Since Weston and libweston change their behaviour, the handling
of clients' buffer transform changes too.

All the functions had their 90/270 cases simply swapped, probably due to
confusion of whether WL_OUTPUT_TRANSFORM_* refers to rotating the monitor or
the content.

Hint: a key to understanding weston_matrix_rotate_xy(m, c, s) is that the
rotation matrix is formed as

  c -s
  s  c

that is, it's column-major. This fooled me at first.

Fixing window.c fixes weston-terminal and weston-transformed.

In simple-damage, window_get_transformed_ball() is fixed to follow the proper
transform definitions, but the fix to the viewport path in redraw() is purely
mechanical.  The viewport path looks broken to me in the presence of any
transform, but it is not this patch's job to fix it.

Screen-share fix just repeats the general code fix pattern, I did not even try
to understand that bit.

https://gitlab.freedesktop.org/wayland/weston/issues/99

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2020-02-27 11:08:48 +00:00
..
calibrator.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
clickdot.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
cliptest.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
confine.c option-parser: Make bools boolean 2019-11-28 19:24:13 +00:00
content_protection.c clients: Add content-protection client app 2019-07-05 14:13:30 +05:30
desktop-shell.c config-parser: Make get_bool be bool 2019-11-28 19:24:13 +00:00
dnd.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
editor.c option-parser: Make bools boolean 2019-11-28 19:24:13 +00:00
eventdemo.c option-parser: Make bools boolean 2019-11-28 19:24:13 +00:00
flower.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
fullscreen.c clients/fullscreen: Refuse to resize the surface size when fullscreen'ed 2019-11-25 20:40:24 +00:00
gears.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
image.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
ivi-shell-user-interface.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
keyboard.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
meson.build clients/simple-dmabuf-v4l: Add 'weston-direct-display' protocol 2020-01-29 14:39:04 +00:00
multi-resource.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
nested-client.c Unify the include style of shared/ headers 2019-10-04 16:04:48 +03:00
nested.c option-parser: Make bools boolean 2019-11-28 19:24:13 +00:00
presentation-shm.c clients/presentation-shm: use xdg_shell instead of wl_shell 2019-06-27 17:44:19 +00:00
resizor.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
scaler.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
screenshot.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
simple-damage.c Redefine output rotations 2020-02-27 11:08:48 +00:00
simple-dmabuf-egl.c clients/simple-dmabuf-egl: Add some notes when using direct-display 2019-12-11 19:40:24 +00:00
simple-dmabuf-v4l.c clients/simple-dmabuf-v4l: Dmabuf-contiguous for vivid module 2020-01-29 14:39:04 +00:00
simple-egl.c clients: fix len-string formatting 2019-09-23 17:27:09 +03:00
simple-im.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
simple-shm.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
simple-touch.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
smoke.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
stacking.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
subsurfaces.c option-parser: Make bools boolean 2019-11-28 19:24:13 +00:00
terminal.c option-parser: Make bools boolean 2019-11-28 19:24:13 +00:00
touch-calibrator.c clients: Fix/resolved doxygen warnings 2019-06-25 14:05:54 +00:00
transformed.c Redefine output rotations 2020-02-27 11:08:48 +00:00
weston-debug.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
weston-info.c log: remove "%m" from format strings by using strerror(errno) 2019-05-02 22:10:30 +02:00
window.c Redefine output rotations 2020-02-27 11:08:48 +00:00
window.h clients/window: drop support for rgb565 2019-12-11 19:28:30 +00:00