GraphicsContext::drawImageBuffer is inefficient
authorschenney@chromium.org <schenney@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 7 Feb 2013 15:53:50 +0000 (15:53 +0000)
committerschenney@chromium.org <schenney@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 7 Feb 2013 15:53:50 +0000 (15:53 +0000)
commit440afd1be146b8e2f51a37724cbbda50d714cbb5
tree0146efad2ed458614ecb18f0c7c854ac6cd44ada
parent3669cfe6cab5c308fc79589e83ebd5357f858ad5
GraphicsContext::drawImageBuffer is inefficient
https://bugs.webkit.org/show_bug.cgi?id=104367

Reviewed by Dirk Schulze.

This patch converts all of the drawImage and drawImageBuffer
convenience methods (those that take parameters of various types) to
invoke the implementing method (that takes FloatRect src and dest)
directly, rather than through the next-most-convenient method as was
done previously. This will knock some layers off the stack compared
to the existing code, and may remove one or two constructor invocations.
This may be slightly more efficient, and also makes debugging simpler.

Also removes the unused drawImage method that takes and IntRect source
area and IntRect destination. It is not invoked anywhere in a standard
WebKit checkout.

No new tests. No change in functionality, just refactoring.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage): Modify all the convenience versions to call
the implementing version directly.
(WebCore::GraphicsContext::drawImageBuffer): Modify all the convenience versions
to call the implementing version directly.
* platform/graphics/GraphicsContext.h:
(GraphicsContext): Remove IntRect, IntRect version of drawImage.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@142123 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/GraphicsContext.cpp
Source/WebCore/platform/graphics/GraphicsContext.h