Index: src/image/SkImage.cpp |
diff --git a/src/image/SkImage.cpp b/src/image/SkImage.cpp |
index 66756cb512d99beb8dbf6708536194c588e939e2..12c5fe552ba2f87c1656dcf9a68f4c2d3c4fa1cb 100644 |
--- a/src/image/SkImage.cpp |
+++ b/src/image/SkImage.cpp |
@@ -64,12 +64,20 @@ SkData* SkImage::encode(SkImageEncoder::Type type, int quality) const { |
return NULL; |
} |
-SkImage* SkImage::NewFromData(SkData* data) { |
- if (NULL == data) { |
+SkData* SkImage::refEncodedData(SkIPoint* origin) const { |
+ SkIPoint storage; |
+ if (NULL == origin) { |
+ origin = &storage; |
+ } |
+ return as_IB(this)->onRefEncodedData(origin); |
+} |
+ |
+SkImage* SkImage::NewFromEncoded(SkData* encoded, const SkIRect* subset) { |
+ if (NULL == encoded || 0 == encoded->size()) { |
return NULL; |
} |
- SkImageGenerator* generator = SkImageGenerator::NewFromData(data); |
- return generator ? SkImage::NewFromGenerator(generator) : NULL; |
+ SkImageGenerator* generator = SkImageGenerator::NewFromData(encoded); |
+ return generator ? SkImage::NewFromGenerator(generator, subset) : NULL; |
} |
SkSurface* SkImage::newSurface(const SkImageInfo& info, const SkSurfaceProps* props) const { |