Index: src/core/SkTypefaceCache.h |
diff --git a/src/core/SkTypefaceCache.h b/src/core/SkTypefaceCache.h |
index b6cab8163fa156580b38bb9934c0172d80fb5365..ae37ab76ec4ba6cfd4984087606eb78f40030f08 100644 |
--- a/src/core/SkTypefaceCache.h |
+++ b/src/core/SkTypefaceCache.h |
@@ -23,6 +23,9 @@ |
class SkTypefaceCache { |
public: |
+ SkTypefaceCache(); |
+ ~SkTypefaceCache(); |
+ |
/** |
* Callback for FindByProc. Returns true if the given typeface is a match |
* for the given context. The passed typeface is owned by the cache and is |
@@ -31,20 +34,12 @@ public: |
typedef bool (*FindProc)(SkTypeface*, SkTypeface::Style, void* context); |
/** |
- * Helper: returns a unique fontID to pass to the constructor of |
- * your subclass of SkTypeface |
- */ |
- static SkFontID NewFontID(); |
- |
- /** |
* Add a typeface to the cache. This ref()s the typeface, so that the |
* cache is also an owner. Later, if we need to purge the cache, typefaces |
* whose refcnt is 1 (meaning only the cache is an owner) will be |
* unref()ed. |
*/ |
- static void Add(SkTypeface*, |
- SkTypeface::Style requested, |
- bool strong = true); |
+ void add(SkTypeface*, SkTypeface::Style requested, bool strong = true); |
/** |
* Search the cache for a typeface with the specified fontID (uniqueID). |
@@ -52,14 +47,14 @@ public: |
* is found, return NULL. The reference count is unmodified as it is |
* assumed that the stack will contain a ref to the typeface. |
*/ |
- static SkTypeface* FindByID(SkFontID fontID); |
+ SkTypeface* findByID(SkFontID findID) const; |
/** |
* Iterate through the cache, calling proc(typeface, ctx) with each |
* typeface. If proc returns true, then we return that typeface (this |
* ref()s the typeface). If it never returns true, we return NULL. |
*/ |
- static SkTypeface* FindByProcAndRef(FindProc proc, void* ctx); |
+ SkTypeface* findByProcAndRef(FindProc proc, void* ctx) const; |
/** |
* This will unref all of the typefaces in the cache for which the cache |
@@ -67,6 +62,21 @@ public: |
* This function is exposed for clients that explicitly want to purge the |
* cache (e.g. to look for leaks). |
*/ |
+ void purgeAll(); |
+ |
+ /** |
+ * Helper: returns a unique fontID to pass to the constructor of |
+ * your subclass of SkTypeface |
+ */ |
+ static SkFontID NewFontID(); |
+ |
+ // These are static wrappers around a global instance of a cache. |
+ |
+ static void Add(SkTypeface*, |
+ SkTypeface::Style requested, |
+ bool strong = true); |
+ static SkTypeface* FindByID(SkFontID fontID); |
+ static SkTypeface* FindByProcAndRef(FindProc proc, void* ctx); |
static void PurgeAll(); |
/** |
@@ -77,11 +87,7 @@ public: |
private: |
static SkTypefaceCache& Get(); |
- void add(SkTypeface*, SkTypeface::Style requested, bool strong = true); |
- SkTypeface* findByID(SkFontID findID) const; |
- SkTypeface* findByProcAndRef(FindProc proc, void* ctx) const; |
void purge(int count); |
- void purgeAll(); |
struct Rec { |
SkTypeface* fFace; |