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().
Edited by Vlad Zahorodnii