Index: include/ports/SkAshmemImageCache.h |
diff --git a/include/ports/SkAshmemImageCache.h b/include/ports/SkAshmemImageCache.h |
index 817e702490341c5b9a23005d863b8171da3d3237..f7514c83c9d9f15e6ef298b8bb2e4a9ad5bad14d 100644 |
--- a/include/ports/SkAshmemImageCache.h |
+++ b/include/ports/SkAshmemImageCache.h |
@@ -9,9 +9,12 @@ |
#define SkAshmemImageCache_DEFINED |
#include "SkImageCache.h" |
-#include "SkTDArray.h" |
#include "SkTypes.h" |
+#ifdef SK_DEBUG |
+ #include "SkTDArray.h" |
+#endif |
+ |
class SkAshmemImageCache : public SkImageCache { |
public: |
@@ -21,13 +24,13 @@ public: |
static SkAshmemImageCache* GetAshmemImageCache(); |
virtual void* allocAndPinCache(size_t bytes, intptr_t* ID) SK_OVERRIDE; |
- virtual void* pinCache(intptr_t ID) SK_OVERRIDE; |
+ virtual void* pinCache(intptr_t ID, PurgeStatus* status) SK_OVERRIDE; |
virtual void releaseCache(intptr_t ID) SK_OVERRIDE; |
virtual void throwAwayCache(intptr_t ID) SK_OVERRIDE; |
#ifdef SK_DEBUG |
- SkImageCache::CacheStatus getCacheStatus(intptr_t ID) const SK_OVERRIDE; |
- |
+ SkImageCache::PinStatus getPinStatus(intptr_t ID) const SK_OVERRIDE; |
+ virtual void purgeAllCaches() SK_OVERRIDE; |
virtual ~SkAshmemImageCache(); |
#endif |
@@ -49,6 +52,12 @@ private: |
*/ |
SkAshmemImageCache(); |
+ /** |
+ * Destroy the cache associated with ID completely. Assumes the mutex is |
+ * already locked. |
+ */ |
+ void throwAwayCacheInternal(intptr_t ID); |
+ |
#ifdef SK_DEBUG |
// Stores a list of AshmemRecs to track deletion. |
SkTDArray<AshmemRec*> fRecs; |
@@ -62,11 +71,7 @@ private: |
* Return the index of AshmemRec. |
*/ |
int findRec(const AshmemRec*) const; |
-#endif |
- /** |
- * Deletes AshmemRec. In debug, also removes from the list. |
- */ |
- void removeRec(AshmemRec*); |
+#endif |
}; |
#endif // SkAshmemImageCache_DEFINED |