Skip to content

kwineffects: Strip ScreenPaintData of transforms

Vlad Zahorodnii requested to merge work/zzag/strip-screen-paint-data into master

ScreenPaintData provides a way to transform the painted screen, e.g. scale or translate. From API point of view, it's great. It allows fullscreen effects to transform the workspace in various ways.

On the other hand, such effects end up fighting the default scene painting algorithm. For example, just have a look at the slide effect! With fullscreen effects, it's better to leave to them the decision how the screen should be painted. For example, such approach is taken in some wayland compositors, e.g. wayfire, and our qtquick effects already operate in similar fashion.

Given that, strip the ScreenPaintData of all available transforms. The main motivation behind this change is to improve encapsulation of item painting code and simplify model-view-projection code in kwin. It will also make the job of extracting item code for sharing purposes easier.

This is an API breaking change.

Edited by Vlad Zahorodnii

Merge request reports