add mipmaps to scaledimagecache
BUG=
Review URL: https://codereview.chromium.org/19789016
git-svn-id: http://skia.googlecode.com/svn/trunk@10305 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/core/SkMipMap.cpp b/src/core/SkMipMap.cpp
index c9f5145..0673c7e 100644
--- a/src/core/SkMipMap.cpp
+++ b/src/core/SkMipMap.cpp
@@ -192,6 +192,7 @@
levels[i].fWidth = width;
levels[i].fHeight = height;
levels[i].fRowBytes = rowBytes;
+ levels[i].fScale = (float)width / src.width();
SkBitmap dstBM;
dstBM.setConfig(config, width, height, rowBytes);
@@ -210,7 +211,23 @@
}
SkASSERT(addr == baseAddr + size);
- return SkNEW_ARGS(SkMipMap, (levels, countLevels));
+ return SkNEW_ARGS(SkMipMap, (levels, countLevels, size));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+//static int gCounter;
+
+SkMipMap::SkMipMap(Level* levels, int count, size_t size)
+ : fSize(size), fLevels(levels), fCount(count) {
+ SkASSERT(levels);
+ SkASSERT(count > 0);
+// SkDebugf("mips %d\n", ++gCounter);
+}
+
+SkMipMap::~SkMipMap() {
+ sk_free(fLevels);
+// SkDebugf("mips %d\n", --gCounter);
}
static SkFixed compute_level(SkScalar scale) {