Index: src/core/SkShader.cpp |
diff --git a/src/core/SkShader.cpp b/src/core/SkShader.cpp |
index 40e52a05cbf59e217a644195fa7a957c5c543719..2cce5dbccdfa72fe456bdee5bdae96de992b16ed 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) { |
@@ -203,13 +207,15 @@ void SkShader::toString(SkString* str) const { |
#include "SkColorShader.h" |
#include "SkUtils.h" |
-SkColorShader::SkColorShader() |
- : fColor() |
+SkColorShader::SkColorShader(const SkMatrix* localMatrix) |
+ : INHERITED(localMatrix) |
+ , fColor() |
, fInheritColor(true) { |
} |
-SkColorShader::SkColorShader(SkColor c) |
- : fColor(c) |
+SkColorShader::SkColorShader(SkColor c, const SkMatrix* localMatrix) |
+ : INHERITED(localMatrix) |
+ , fColor(c) |
, fInheritColor(false) { |
} |