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

Unified Diff: third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp

Issue 2559013002: Add ColorBehavior to blink::Image draw methods (Closed)
Patch Set: Rebase Created 4 years 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: third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp
diff --git a/third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp b/third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp
index 453ce6a4c6a1b1c64ccb5e3b011e6e69949bce74..157544d1caa7d3d780140e283397b33892abbc43 100644
--- a/third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp
+++ b/third_party/WebKit/Source/platform/graphics/CrossfadeGeneratedImage.cpp
@@ -41,9 +41,11 @@ CrossfadeGeneratedImage::CrossfadeGeneratedImage(PassRefPtr<Image> fromImage,
m_percentage(percentage),
m_crossfadeSize(crossfadeSize) {}
-void CrossfadeGeneratedImage::drawCrossfade(SkCanvas* canvas,
- const SkPaint& paint,
- ImageClampingMode clampMode) {
+void CrossfadeGeneratedImage::drawCrossfade(
+ SkCanvas* canvas,
+ const SkPaint& paint,
+ ImageClampingMode clampMode,
+ const ColorBehavior& colorBehavior) {
FloatRect fromImageRect(FloatPoint(), FloatSize(m_fromImage->size()));
FloatRect toImageRect(FloatPoint(), FloatSize(m_toImage->size()));
FloatRect destRect((FloatPoint()), FloatSize(m_crossfadeSize));
@@ -67,12 +69,12 @@ void CrossfadeGeneratedImage::drawCrossfade(SkCanvas* canvas,
// written this way during refactoring to avoid modifying existing behavior,
// but this warrants further investigation. crbug.com/472634
m_fromImage->draw(canvas, imagePaint, destRect, fromImageRect,
- DoNotRespectImageOrientation, clampMode);
+ DoNotRespectImageOrientation, clampMode, colorBehavior);
imagePaint.setBlendMode(SkBlendMode::kPlus);
imageAlpha = clampedAlphaForBlending(m_percentage);
imagePaint.setAlpha(imageAlpha > 255 ? 255 : imageAlpha);
m_toImage->draw(canvas, imagePaint, destRect, toImageRect,
- DoNotRespectImageOrientation, clampMode);
+ DoNotRespectImageOrientation, clampMode, colorBehavior);
}
void CrossfadeGeneratedImage::draw(SkCanvas* canvas,
@@ -80,7 +82,8 @@ void CrossfadeGeneratedImage::draw(SkCanvas* canvas,
const FloatRect& dstRect,
const FloatRect& srcRect,
RespectImageOrientationEnum,
- ImageClampingMode clampMode) {
+ ImageClampingMode clampMode,
+ const ColorBehavior& colorBehavior) {
// Draw nothing if either of the images hasn't loaded yet.
if (m_fromImage == Image::nullImage() || m_toImage == Image::nullImage())
return;
@@ -93,7 +96,7 @@ void CrossfadeGeneratedImage::draw(SkCanvas* canvas,
dstRect.height() / srcRect.height());
canvas->translate(-srcRect.x(), -srcRect.y());
- drawCrossfade(canvas, paint, clampMode);
+ drawCrossfade(canvas, paint, clampMode, colorBehavior);
}
void CrossfadeGeneratedImage::drawTile(GraphicsContext& context,
@@ -107,7 +110,8 @@ void CrossfadeGeneratedImage::drawTile(GraphicsContext& context,
paint.setAntiAlias(context.shouldAntialias());
FloatRect destRect((FloatPoint()), FloatSize(m_crossfadeSize));
paint.setFilterQuality(context.computeFilterQuality(this, destRect, srcRect));
- drawCrossfade(context.canvas(), paint, ClampImageToSourceRect);
+ drawCrossfade(context.canvas(), paint, ClampImageToSourceRect,
+ context.getColorBehavior());
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698