Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(322)

Unified Diff: Source/platform/graphics/StaticBitmapImage.cpp

Issue 1093673002: Removing the dependency on GraphicsContext for drawing images in 2D canvas (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: fix for overdraw optimization failures and fix for mac build Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/platform/graphics/StaticBitmapImage.cpp
diff --git a/Source/platform/graphics/StaticBitmapImage.cpp b/Source/platform/graphics/StaticBitmapImage.cpp
index 52b88e9fe2d976f63d0409e00fd457f47a8e1609..9ff92675f609361050cac2965ae3faecb743e342 100644
--- a/Source/platform/graphics/StaticBitmapImage.cpp
+++ b/Source/platform/graphics/StaticBitmapImage.cpp
@@ -36,7 +36,7 @@ bool StaticBitmapImage::currentFrameKnownToBeOpaque()
return m_image->isOpaque();
}
-void StaticBitmapImage::draw(GraphicsContext* ctx, const FloatRect& dstRect, const FloatRect& srcRect, SkXfermode::Mode compositeOp, RespectImageOrientationEnum)
+void StaticBitmapImage::draw(SkCanvas* canvas, const SkPaint& paint, const FloatRect& dstRect, const FloatRect& srcRect, RespectImageOrientationEnum)
{
FloatRect normDstRect = adjustForNegativeSize(dstRect);
FloatRect normSrcRect = adjustForNegativeSize(srcRect);
@@ -48,18 +48,10 @@ void StaticBitmapImage::draw(GraphicsContext* ctx, const FloatRect& dstRect, con
ASSERT(normSrcRect.width() <= m_image->width() && normSrcRect.height() <= m_image->height());
- {
- SkCanvas* canvas = ctx->canvas();
+ SkRect srcSkRect = WebCoreFloatRectToSKRect(normSrcRect);
+ SkRect dstSkRect = WebCoreFloatRectToSKRect(normDstRect);
- SkPaint paint;
- int initialSaveCount = ctx->preparePaintForDrawRectToRect(&paint, srcRect, dstRect, compositeOp, !currentFrameKnownToBeOpaque());
-
- SkRect srcSkRect = WebCoreFloatRectToSKRect(normSrcRect);
- SkRect dstSkRect = WebCoreFloatRectToSKRect(normDstRect);
-
- canvas->drawImageRect(m_image.get(), &srcSkRect, dstSkRect, &paint);
- canvas->restoreToCount(initialSaveCount);
- }
+ canvas->drawImageRect(m_image.get(), &srcSkRect, dstSkRect, &paint);
if (ImageObserver* observer = imageObserver())
observer->didDraw(this);
« Source/platform/graphics/GraphicsContext.cpp ('K') | « Source/platform/graphics/StaticBitmapImage.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698