diff options
author | John Reck <jreck@google.com> | 2012-05-29 20:56:39 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-05-29 20:56:39 -0700 |
commit | 4a0b0816608c283488485073839d944a077b15e8 (patch) | |
tree | 07426737c1d36c5c184d1723d7645c4d89660cfe | |
parent | 86c18a99738c3f0c6afd5a4949be274f7d7522fd (diff) | |
parent | d3bac753aa885a5dd91c4e608cc6c770d3d80daf (diff) | |
download | external_webkit-4a0b0816608c283488485073839d944a077b15e8.zip external_webkit-4a0b0816608c283488485073839d944a077b15e8.tar.gz external_webkit-4a0b0816608c283488485073839d944a077b15e8.tar.bz2 |
Merge "Don't use setupPaintFill for drawBitmap" into jb-dev
3 files changed, 15 insertions, 2 deletions
diff --git a/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContext.cpp b/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContext.cpp index bb5d990..ce9ce5a 100644 --- a/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContext.cpp +++ b/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContext.cpp @@ -229,6 +229,16 @@ void PlatformGraphicsContext::setAlpha(float alpha) m_state->alpha = alpha; } +int PlatformGraphicsContext::getNormalizedAlpha() const +{ + int alpha = roundf(m_state->alpha * 256); + if (alpha > 255) + alpha = 255; + else if (alpha < 0) + alpha = 0; + return alpha; +} + void PlatformGraphicsContext::setCompositeOperation(CompositeOperator op) { m_state->mode = WebCoreCompositeToSkiaComposite(op); diff --git a/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContext.h b/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContext.h index 601de0f..1916014 100644 --- a/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContext.h +++ b/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContext.h @@ -59,6 +59,7 @@ public: // State values virtual void setAlpha(float alpha); + int getNormalizedAlpha() const; virtual void setCompositeOperation(CompositeOperator op); virtual void setFillColor(const Color& c); virtual void setFillShader(SkShader* fillShader); diff --git a/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextSkia.cpp b/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextSkia.cpp index 9b32726..f00bb02 100644 --- a/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextSkia.cpp +++ b/Source/WebCore/platform/graphics/android/context/PlatformGraphicsContextSkia.cpp @@ -234,7 +234,8 @@ void PlatformGraphicsContextSkia::drawBitmapPattern( SkShader::kRepeat_TileMode); shader->setLocalMatrix(matrix); SkPaint paint; - setupPaintFill(&paint); + setupPaintCommon(&paint); + paint.setAlpha(getNormalizedAlpha()); paint.setShader(shader); paint.setXfermodeMode(WebCoreCompositeToSkiaComposite(compositeOp)); fixPaintForBitmapsThatMaySeam(&paint); @@ -246,7 +247,8 @@ void PlatformGraphicsContextSkia::drawBitmapRect(const SkBitmap& bitmap, CompositeOperator op) { SkPaint paint; - setupPaintFill(&paint); + setupPaintCommon(&paint); + paint.setAlpha(getNormalizedAlpha()); paint.setXfermodeMode(WebCoreCompositeToSkiaComposite(op)); fixPaintForBitmapsThatMaySeam(&paint); |