Chromium Code Reviews| Index: Source/platform/graphics/GradientGeneratedImage.cpp |
| diff --git a/Source/platform/graphics/GradientGeneratedImage.cpp b/Source/platform/graphics/GradientGeneratedImage.cpp |
| index 645664f142a8d70c84d758c594b21be1ac9beabf..42cdfd3fc15767c3a418c12d69926901ca49aacb 100644 |
| --- a/Source/platform/graphics/GradientGeneratedImage.cpp |
| +++ b/Source/platform/graphics/GradientGeneratedImage.cpp |
| @@ -31,16 +31,18 @@ |
| namespace blink { |
| -void GradientGeneratedImage::draw(GraphicsContext* destContext, const FloatRect& destRect, const FloatRect& srcRect, SkXfermode::Mode compositeOp, RespectImageOrientationEnum) |
| +void GradientGeneratedImage::draw(SkCanvas* canvas, const SkPaint& paint, const FloatRect& destRect, const FloatRect& srcRect, RespectImageOrientationEnum) |
| { |
| - GraphicsContextStateSaver stateSaver(*destContext); |
| - destContext->clip(destRect); |
| - destContext->translate(destRect.x(), destRect.y()); |
| + canvas->save(); |
|
f(malita)
2015/04/17 16:18:32
Nit: ditto
|
| + canvas->clipRect(destRect); |
| + canvas->translate(destRect.x(), destRect.y()); |
| if (destRect.size() != srcRect.size()) |
| - destContext->scale(destRect.width() / srcRect.width(), destRect.height() / srcRect.height()); |
| - destContext->translate(-srcRect.x(), -srcRect.y()); |
| - destContext->setFillGradient(m_gradient); |
| - destContext->fillRect(FloatRect(FloatPoint(), m_size), destContext->fillColor(), compositeOp); |
| + canvas->scale(destRect.width() / srcRect.width(), destRect.height() / srcRect.height()); |
| + canvas->translate(-srcRect.x(), -srcRect.y()); |
| + SkPaint gradientPaint(paint); |
| + gradientPaint.setShader(m_gradient->shader()); |
| + canvas->drawRect(SkRect::MakeWH(m_size.width(), m_size.height()), gradientPaint); |
| + canvas->restore(); |
| } |
| void GradientGeneratedImage::drawTile(GraphicsContext* context, const FloatRect& srcRect) |