Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Unified Diff: include/ports/SkAshmemImageCache.h

Issue 12433020: Improvements/additions to SkImageCache/SkLazyPixelRef. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Modified a comment. Created 7 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698