[webkit-reviews] review granted: [Bug 70789] Optimize canvas fills / drawImage when covering entire canvas : [Attachment 113422] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Nov 3 08:29:35 PDT 2011
Stephen White <senorblanco at chromium.org> has granted Ben Wells
<benwells at chromium.org>'s request for review:
Bug 70789: Optimize canvas fills / drawImage when covering entire canvas
https://bugs.webkit.org/show_bug.cgi?id=70789
Attachment 113422: Patch
https://bugs.webkit.org/attachment.cgi?id=113422&action=review
------- Additional Comments from Stephen White <senorblanco at chromium.org>
View in context: https://bugs.webkit.org/attachment.cgi?id=113422&action=review
Looks good. Thanks for implementing this! r=me
> Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp:1566
> + Path transformedPath;
> + transformedPath.addRect(rect);
> + transformedPath.transform(state().m_transform);
> +
> + IntRect canvasRect(0, 0, canvas()->width(), canvas()->height());
> + return transformedPath.contains(canvasRect.minXMinYCorner()) &&
transformedPath.contains(canvasRect.minXMaxYCorner())
> + && transformedPath.contains(canvasRect.maxXMinYCorner()) &&
transformedPath.contains(canvasRect.maxXMaxYCorner());
This looks fine, but I'm wondering if it would be easier to use FloatQuad:
FloatQuad quad(rect);
FloatQuad canvasQuad(FloatRect(0, 0, canvas->width(), canvas->height()));
return state().m_transform.mapQuad(quad).containsQuad(canvasQuad);
OTOH, I've never actually tried it, so feel free to go with what you've already
got.
More information about the webkit-reviews
mailing list