}
}
-static SkString get_md5(const void* ptr, size_t len) {
- SkMD5 hasher;
- hasher.write(ptr, len);
+static SkString get_md5_string(SkMD5* hasher) {
SkMD5::Digest digest;
- hasher.finish(digest);
+ hasher->finish(digest);
SkString md5;
for (int i = 0; i < 16; i++) {
return md5;
}
+static SkString get_md5(const void* ptr, size_t len) {
+ SkMD5 hasher;
+ hasher.write(ptr, len);
+ return get_md5_string(&hasher);
+}
+
+static SkString get_md5(SkStreamAsset* stream) {
+ SkMD5 hasher;
+ hasher.writeStream(stream, stream->getLength());
+ return get_md5_string(&hasher);
+}
+
struct JsonData {
SkString name; // E.g. "ninepatch-stretch", "desk-gws_skp"
SkString config; // "gpu", "8888"
SkString md5;
{
SkAutoLockPixels lock(fBitmap);
- md5 = fData ? get_md5(fData->getMemoryBase(), fData->getLength())
+ md5 = fData ? get_md5(fData)
: get_md5(fBitmap.getPixels(), fBitmap.getSize());
}