зеркало из https://github.com/mozilla/pjs.git
Bug 507939 - Remove erroneous clip rect fixup which caused repainting errors with repeating radial gradients on Mac. r=jmuizelaar
--HG-- extra : rebase_source : 24123ab8a6c676fa5e53e26820ac72cc575cc734
This commit is contained in:
Родитель
e730a3faa3
Коммит
27e3a4c05f
|
@ -1038,7 +1038,6 @@ _cairo_quartz_setup_fallback_source (cairo_quartz_surface_t *surface,
|
|||
const cairo_pattern_t *source)
|
||||
{
|
||||
CGRect clipBox = CGContextGetClipBoundingBox (surface->cgContext);
|
||||
CGAffineTransform ctm;
|
||||
double x0, y0, w, h;
|
||||
|
||||
cairo_surface_t *fallback;
|
||||
|
@ -1052,14 +1051,6 @@ _cairo_quartz_setup_fallback_source (cairo_quartz_surface_t *surface,
|
|||
clipBox.size.height == 0.0f)
|
||||
return DO_NOTHING;
|
||||
|
||||
// the clipBox is in userspace, so:
|
||||
ctm = CGContextGetCTM (surface->cgContext);
|
||||
ctm = CGAffineTransformInvert (ctm);
|
||||
clipBox = CGRectApplyAffineTransform (clipBox, ctm);
|
||||
|
||||
// get the Y flip right -- the CTM will always have a Y flip in place
|
||||
clipBox.origin.y = surface->extents.height - (clipBox.origin.y + clipBox.size.height);
|
||||
|
||||
x0 = floor(clipBox.origin.x);
|
||||
y0 = floor(clipBox.origin.y);
|
||||
w = ceil(clipBox.origin.x + clipBox.size.width) - x0;
|
||||
|
@ -1722,8 +1713,10 @@ _cairo_quartz_surface_paint (void *abstract_surface,
|
|||
surface->extents.width,
|
||||
surface->extents.height));
|
||||
} else if (action == DO_SHADING) {
|
||||
CGContextSaveGState (surface->cgContext);
|
||||
CGContextConcatCTM (surface->cgContext, surface->sourceTransform);
|
||||
CGContextDrawShading (surface->cgContext, surface->sourceShading);
|
||||
CGContextRestoreGState (surface->cgContext);
|
||||
} else if (action == DO_IMAGE || action == DO_TILED_IMAGE) {
|
||||
CGContextSaveGState (surface->cgContext);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче