From a2969a363f820f314aef178020295f225e2c57e5 Mon Sep 17 00:00:00 2001 From: reed Date: Wed, 6 May 2015 07:41:30 -0700 Subject: [PATCH] override drawImage BUG= Review URL: https://codereview.chromium.org/1126073002 Cr-Commit-Position: refs/heads/master@{#328530} --- skia/ext/analysis_canvas.cc | 23 +++++++++++++++++++++++ skia/ext/analysis_canvas.h | 8 ++++++++ 2 files changed, 31 insertions(+) diff --git a/skia/ext/analysis_canvas.cc b/skia/ext/analysis_canvas.cc index 066f35f7e04c20..a2d5d05107f58b 100644 --- a/skia/ext/analysis_canvas.cc +++ b/skia/ext/analysis_canvas.cc @@ -213,6 +213,29 @@ void AnalysisCanvas::onDrawBitmapNine(const SkBitmap& bitmap, ++draw_op_count_; } +void AnalysisCanvas::onDrawImage(const SkImage*, + SkScalar left, + SkScalar top, + const SkPaint*) { + is_solid_color_ = false; + is_transparent_ = false; + ++draw_op_count_; +} + +void AnalysisCanvas::onDrawImageRect(const SkImage*, + const SkRect* src, + const SkRect& dst, + const SkPaint* paint) { + // Call drawRect to determine transparency, + // but reset solid color to false. + SkPaint tmpPaint; + if (!paint) + paint = &tmpPaint; + drawRect(dst, *paint); + is_solid_color_ = false; + ++draw_op_count_; +} + void AnalysisCanvas::onDrawSprite(const SkBitmap& bitmap, int left, int top, diff --git a/skia/ext/analysis_canvas.h b/skia/ext/analysis_canvas.h index 6af139fd8a6545..1ae2a2d11942e5 100644 --- a/skia/ext/analysis_canvas.h +++ b/skia/ext/analysis_canvas.h @@ -52,6 +52,14 @@ class SK_API AnalysisCanvas : public SkCanvas, public SkDrawPictureCallback { const SkIRect& center, const SkRect& dst, const SkPaint* paint = NULL) override; + void onDrawImage(const SkImage*, + SkScalar left, + SkScalar top, + const SkPaint* paint = NULL) override; + void onDrawImageRect(const SkImage*, + const SkRect* src, + const SkRect& dst, + const SkPaint* paint) override; void onDrawSprite(const SkBitmap&, int left, int top,