https://bugs.kde.org/show_bug.cgi?id=440201

Vlad Zahorodnii <vlad.zahorod...@kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|CONFIRMED                   |RESOLVED
      Latest Commit|                            |https://invent.kde.org/plas
                   |                            |ma/kwin/commit/4912c7cfa2e5
                   |                            |4c2f5ad491f868aaae43135ca17
                   |                            |2

--- Comment #2 from Vlad Zahorodnii <vlad.zahorod...@kde.org> ---
Git commit 4912c7cfa2e54c2f5ad491f868aaae43135ca172 by Vlad Zahorodnii.
Committed on 11/08/2021 at 16:43.
Pushed by vladz into branch 'master'.

scenes/opengl: Calculate item transforms differently

Currently, a vertex coordinate is transformed first, then mapped to
the global screen coordinates. This causes a problem if a transform
is applied to the top-most item and child items are not at (0, 0).
For example, scaled windows may have popping out sub-surfaces, etc.

With this change, the item transforms will be computed differently. For
example, if the parent item is transformed, a child's transform will
look as follows

  [Parent's translation][Parent's transform][Child's translation]

instead of

  [Parent's translation][Child's translation][Parent's transform]

In the future, I'd like to get rid of the Item::setTransform() call in
OpenGLWindow::performPaint() and have either AnimationEffect or
libkwineffects call Item::setTransform().

M  +10   -0    src/item.cpp
M  +4    -0    src/item.h
M  +43   -32   src/plugins/scenes/opengl/scene_opengl.cpp
M  +1    -1    src/plugins/scenes/opengl/scene_opengl.h

https://invent.kde.org/plasma/kwin/commit/4912c7cfa2e54c2f5ad491f868aaae43135ca172

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to