- const int left = rect.x;
- const int top = rect.y;
- const int right = rect.x + rect.width;
- const int bottom = rect.y + rect.height;
- rect.x = (left / 16) * 16;
- rect.y = (top / 16) * 16;
- rect.width = ((right + 16) / 16) * 16 - rect.x;
- rect.height = ((bottom + 16) / 16) * 16 - rect.y;
-
- // Found valid dirty rect.
- // 1. Insert it in the sorted array of the dirty rects.
- // 2. Mark the related dirty rects as visited so they will not be removed below.
- // 3. Keep only last 3 dirty rects for the same node and renderer (Tizen uses 3 back buffers, Ubuntu 1).
- dirtyRect.rect = rect;
- auto dirtyRectPos = std::lower_bound(itemsDirtyRects.begin(), itemsDirtyRects.end(), dirtyRect);
- dirtyRectPos = itemsDirtyRects.insert(dirtyRectPos, dirtyRect);
+ item.mIsUpdated = false;
+
+ Vector4 updateArea = item.mRenderer ? item.mRenderer->GetVisualTransformedUpdateArea(mImpl->renderBufferIndex, item.mUpdateArea) : item.mUpdateArea;