Bug 586954 - Set a proper clip region so that PushGroup doesn't allocate a giant surface. This speeds up drawing of masked non-SVG elements. r+a=roc

This commit is contained in:
Markus Stange 2010-11-05 17:01:17 +01:00
Родитель d3ebaf1d84
Коммит c484053837
1 изменённых файлов: 2 добавлений и 0 удалений

Просмотреть файл

@ -290,6 +290,8 @@ nsSVGIntegrationUtils::PaintFramesWithEffects(nsIRenderingContext* aCtx,
if (opacity != 1.0f || maskFrame || (clipPathFrame && !isTrivialClip)) {
complexEffects = PR_TRUE;
gfx->Save();
aCtx->SetClipRect(aEffectsFrame->GetVisualOverflowRect(),
nsClipCombine_kIntersect);
gfx->PushGroup(gfxASurface::CONTENT_COLOR_ALPHA);
}