| Index: src/core/SkShader.cpp
|
| diff --git a/src/core/SkShader.cpp b/src/core/SkShader.cpp
|
| index b49dae8b5d5769bf5bb745498c165861c22244cc..4ddd29150b182f13505597e4449f3a046eeb9427 100644
|
| --- a/src/core/SkShader.cpp
|
| +++ b/src/core/SkShader.cpp
|
| @@ -15,8 +15,12 @@
|
| #include "SkShader.h"
|
| #include "SkWriteBuffer.h"
|
|
|
| -SkShader::SkShader() {
|
| - fLocalMatrix.reset();
|
| +SkShader::SkShader(const SkMatrix* localMatrix) {
|
| + if (localMatrix) {
|
| + fLocalMatrix = *localMatrix;
|
| + } else {
|
| + fLocalMatrix.reset();
|
| + }
|
| }
|
|
|
| SkShader::SkShader(SkReadBuffer& buffer)
|
| @@ -180,9 +184,9 @@ GrEffectRef* SkShader::asNewEffect(GrContext*, const SkPaint&) const {
|
| return NULL;
|
| }
|
|
|
| -SkShader* SkShader::CreateBitmapShader(const SkBitmap& src,
|
| - TileMode tmx, TileMode tmy) {
|
| - return ::CreateBitmapShader(src, tmx, tmy, NULL);
|
| +SkShader* SkShader::CreateBitmapShader(const SkBitmap& src, TileMode tmx, TileMode tmy,
|
| + const SkMatrix* localMatrix) {
|
| + return ::CreateBitmapShader(src, tmx, tmy, localMatrix, NULL);
|
| }
|
|
|
| SkShader* SkShader::CreatePictureShader(SkPicture* src, TileMode tmx, TileMode tmy) {
|
| @@ -252,11 +256,8 @@ SkColorShader::ColorShaderContext::ColorShaderContext(const SkColorShader& shade
|
| const SkMatrix& matrix)
|
| : INHERITED(shader, device, paint, matrix)
|
| {
|
| - SkColor color;
|
| - unsigned a;
|
| -
|
| - color = shader.fColor;
|
| - a = SkAlphaMul(SkColorGetA(color), SkAlpha255To256(paint.getAlpha()));
|
| + SkColor color = shader.fColor;
|
| + unsigned a = SkAlphaMul(SkColorGetA(color), SkAlpha255To256(paint.getAlpha()));
|
|
|
| unsigned r = SkColorGetR(color);
|
| unsigned g = SkColorGetG(color);
|
|
|