Index: trunk/include/ports/SkFontConfigInterface.h |
=================================================================== |
--- trunk/include/ports/SkFontConfigInterface.h (revision 7879) |
+++ trunk/include/ports/SkFontConfigInterface.h (working copy) |
@@ -34,27 +34,38 @@ |
static SkFontConfigInterface* SetGlobal(SkFontConfigInterface*); |
/** |
- * Given a familyName and style, find the best matching font and return |
- * its fileFaceID and actual style (if outStyle is not null) and return |
- * true. If no matching font can be found, ignore fileFaceID and outStyle |
- * and return false. |
+ * This should be treated as private to the impl of SkFontConfigInterface. |
+ * Callers should not change or expect any particular values. It is meant |
+ * to be a union of possible storage types to aid the impl. |
*/ |
- virtual bool match(const char familyName[], SkTypeface::Style requested, |
- unsigned* fileFaceID, SkTypeface::Style* outStyle) = 0; |
+ struct FontIdentity { |
+ intptr_t fIntPtr; |
+ SkString fString; |
+ }; |
/** |
- * Given a fileFaceID (returned by match), return the associated familyName |
- * and return true. If the associated name cannot be returned, ignore the |
- * name parameter, and return false. |
+ * Given a familyName and style, find the best match. |
+ * |
+ * If a match is found, return true and set its outFontIdentifier. |
+ * If outFamilyName is not null, assign the found familyName to it |
+ * (which may differ from the requested familyName). |
+ * If outStyle is not null, assign the found style to it |
+ * (which may differ from the requested style). |
+ * |
+ * If a match is not found, return false, and ignore all out parameters. |
*/ |
- virtual bool getFamilyName(unsigned fileFaceID, SkString* name) = 0; |
+ virtual bool matchFamilyName(const char familyName[], |
+ SkTypeface::Style requested, |
+ FontIdentity* outFontIdentifier, |
+ SkString* outFamilyName, |
+ SkTypeface::Style* outStyle) = 0; |
/** |
- * Given a fileFaceID (returned by match), open a stream to access its |
- * data, which the caller while take ownership of (and will call unref() |
- * when they're through). On failure, return NULL. |
+ * Given a FontRef, open a stream to access its data, or return null |
+ * if the FontRef's data is not available. The caller is responsible for |
+ * calling stream->unref() when it is done accessing the data. |
*/ |
- virtual SkStream* openStream(unsigned fileFaceID) = 0; |
+ virtual SkStream* openStream(const FontIdentity&) = 0; |
}; |
#endif |