Include transformed windows in quad transition
Only transformed quads may not be changed, so we skip those.
This commit is contained in:
parent
572368ea27
commit
55c1f3ae96
1 changed files with 5 additions and 1 deletions
|
@ -476,11 +476,15 @@ void SceneOpenGL::Window::performPaint(int mask, QRegion region, WindowPaintData
|
||||||
if (region.isEmpty())
|
if (region.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (region != infiniteRegion() && !(mask & PAINT_WINDOW_TRANSFORMED)) {
|
if (region != infiniteRegion()) {
|
||||||
WindowQuadList quads;
|
WindowQuadList quads;
|
||||||
const QRegion filterRegion = region.translated(-x(), -y());
|
const QRegion filterRegion = region.translated(-x(), -y());
|
||||||
// split all quads in bounding rect with the actual rects in the region
|
// split all quads in bounding rect with the actual rects in the region
|
||||||
foreach (const WindowQuad &quad, data.quads) {
|
foreach (const WindowQuad &quad, data.quads) {
|
||||||
|
if (quad.isTransformed()) {
|
||||||
|
quads << quad;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
foreach (const QRect &r, filterRegion.rects()) {
|
foreach (const QRect &r, filterRegion.rects()) {
|
||||||
const QRectF rf(r);
|
const QRectF rf(r);
|
||||||
const QRectF quadRect(QPointF(quad.left(), quad.top()), QPointF(quad.right(), quad.bottom()));
|
const QRectF quadRect(QPointF(quad.left(), quad.top()), QPointF(quad.right(), quad.bottom()));
|
||||||
|
|
Loading…
Reference in a new issue