Chromium Code Reviews| Index: src/ports/SkFontHost_mac.cpp |
| diff --git a/src/ports/SkFontHost_mac.cpp b/src/ports/SkFontHost_mac.cpp |
| index ff23b99905117c486e4c682bfbe3339aee5d4ad7..ac46dddd156d6e6b6f6ae92bd4828b8a909af404 100755 |
| --- a/src/ports/SkFontHost_mac.cpp |
| +++ b/src/ports/SkFontHost_mac.cpp |
| @@ -429,11 +429,11 @@ class SkTypeface_Mac : public SkTypeface { |
| public: |
| SkTypeface_Mac(const SkFontStyle& fs, bool isFixedPitch, |
| CTFontRef fontRef, const char requestedName[], bool isLocalStream, |
| - CGFontRef originatingCGFontRef = NULL) |
| + CFTypeRef resourceRef = NULL) |
|
reed1
2015/06/08 19:01:40
remove default argness?
bungeman-skia
2015/06/08 19:14:40
Done.
|
| : SkTypeface(fs, SkTypefaceCache::NewFontID(), isFixedPitch) |
| , fRequestedName(requestedName) |
| , fFontRef(fontRef) // caller has already called CFRetain for us |
| - , fOriginatingCGFontRef(originatingCGFontRef) |
| + , fOriginatingCFTypeRef(resourceRef) // caller has already called CFRetain for us |
| , fHasColorGlyphs(SkToBool(CTFontGetSymbolicTraits(fFontRef) & SkCTFontColorGlyphsTrait)) |
| , fIsLocalStream(isLocalStream) |
| { |
| @@ -442,7 +442,7 @@ public: |
| SkString fRequestedName; |
| AutoCFRelease<CTFontRef> fFontRef; |
| - AutoCFRelease<CGFontRef> fOriginatingCGFontRef; |
| + AutoCFRelease<CFTypeRef> fOriginatingCFTypeRef; |
| const bool fHasColorGlyphs; |
| protected: |
| @@ -472,14 +472,13 @@ private: |
| /** Creates a typeface without searching the cache. Takes ownership of the CTFontRef. */ |
| static SkTypeface* NewFromFontRef(CTFontRef fontRef, const char name[], bool isLocalStream, |
| - CGFontRef originatingCGFontRef = NULL) |
| + CFTypeRef resourceRef = NULL) |
|
reed1
2015/06/08 19:01:40
since its internal, lets remove the defaultness of
bungeman-skia
2015/06/08 19:14:40
Done.
|
| { |
| SkASSERT(fontRef); |
| bool isFixedPitch; |
| SkFontStyle style = SkFontStyle(computeStyleBits(fontRef, &isFixedPitch)); |
| - return new SkTypeface_Mac(style, isFixedPitch, fontRef, name, isLocalStream, |
| - originatingCGFontRef); |
| + return new SkTypeface_Mac(style, isFixedPitch, fontRef, name, isLocalStream, resourceRef); |
| } |
| static bool find_by_CTFontRef(SkTypeface* cached, const SkFontStyle&, void* context) { |
| @@ -569,11 +568,14 @@ CTFontRef SkTypeface_GetCTFontRef(const SkTypeface* face) { |
| /* This function is visible on the outside. It first searches the cache, and if |
| * not found, returns a new entry (after adding it to the cache). |
| */ |
| -SkTypeface* SkCreateTypefaceFromCTFont(CTFontRef fontRef) { |
| +SkTypeface* SkCreateTypefaceFromCTFont(CTFontRef fontRef, CFTypeRef resourceRef) { |
| SkTypeface* face = SkTypefaceCache::FindByProcAndRef(find_by_CTFontRef, (void*)fontRef); |
| if (!face) { |
| CFRetain(fontRef); |
| - face = NewFromFontRef(fontRef, NULL, false); |
| + if (resourceRef) { |
| + CFRetain(resourceRef); |
| + } |
| + face = NewFromFontRef(fontRef, NULL, false, resourceRef); |
| SkTypefaceCache::Add(face, face->fontStyle()); |
| } |
| return face; |