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

Side by Side Diff: include/core/SkTypeface.h

Issue 148583002: move getAdvancedTypefaceMetrics into private, as only skia internals call it (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 6 years, 10 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2006 The Android Open Source Project 3 * Copyright 2006 The Android Open Source Project
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #ifndef SkTypeface_DEFINED 10 #ifndef SkTypeface_DEFINED
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 */ 127 */
128 void serialize(SkWStream*) const; 128 void serialize(SkWStream*) const;
129 129
130 /** Given the data previously written by serialize(), return a new instance 130 /** Given the data previously written by serialize(), return a new instance
131 to a typeface referring to the same font. If that font is not available, 131 to a typeface referring to the same font. If that font is not available,
132 return null. If an instance is returned, the caller is responsible for 132 return null. If an instance is returned, the caller is responsible for
133 calling unref() when they are done with it. 133 calling unref() when they are done with it.
134 */ 134 */
135 static SkTypeface* Deserialize(SkStream*); 135 static SkTypeface* Deserialize(SkStream*);
136 136
137 /** Retrieve detailed typeface metrics. Used by the PDF backend.
138 @param perGlyphInfo Indicate what glyph specific information (advances,
139 names, etc.) should be populated.
140 @param glyphIDs For per-glyph info, specify subset of the font by
141 giving glyph ids. Each integer represents a glyph
142 id. Passing NULL means all glyphs in the font.
143 @param glyphIDsCount Number of elements in subsetGlyphIds. Ignored if
144 glyphIDs is NULL.
145 @return The returned object has already been referenced.
146 */
147 SkAdvancedTypefaceMetrics* getAdvancedTypefaceMetrics(
148 SkAdvancedTypefaceMetrics::PerGlyphInfo perGlyphInfo,
149 const uint32_t* glyphIDs = NULL,
150 uint32_t glyphIDsCount = 0) const;
151
152 enum Encoding { 137 enum Encoding {
153 kUTF8_Encoding, 138 kUTF8_Encoding,
154 kUTF16_Encoding, 139 kUTF16_Encoding,
155 kUTF32_Encoding 140 kUTF32_Encoding
156 }; 141 };
157 142
158 /** 143 /**
159 * Given an array of character codes, of the specified encoding, 144 * Given an array of character codes, of the specified encoding,
160 * optionally return their corresponding glyph IDs (if glyphs is not NULL). 145 * optionally return their corresponding glyph IDs (if glyphs is not NULL).
161 * 146 *
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 virtual bool onGetKerningPairAdjustments(const uint16_t glyphs[], int count, 312 virtual bool onGetKerningPairAdjustments(const uint16_t glyphs[], int count,
328 int32_t adjustments[]) const; 313 int32_t adjustments[]) const;
329 314
330 virtual LocalizedStrings* onCreateFamilyNameIterator() const = 0; 315 virtual LocalizedStrings* onCreateFamilyNameIterator() const = 0;
331 316
332 virtual int onGetTableTags(SkFontTableTag tags[]) const = 0; 317 virtual int onGetTableTags(SkFontTableTag tags[]) const = 0;
333 virtual size_t onGetTableData(SkFontTableTag, size_t offset, 318 virtual size_t onGetTableData(SkFontTableTag, size_t offset,
334 size_t length, void* data) const = 0; 319 size_t length, void* data) const = 0;
335 320
336 private: 321 private:
322 friend class SkGTypeface;
323 friend class SkPDFFont;
324 friend class SkPDFCIDFont;
325
326 /** Retrieve detailed typeface metrics. Used by the PDF backend.
327 @param perGlyphInfo Indicate what glyph specific information (advances,
328 names, etc.) should be populated.
329 @param glyphIDs For per-glyph info, specify subset of the font by
330 giving glyph ids. Each integer represents a glyph
331 id. Passing NULL means all glyphs in the font.
332 @param glyphIDsCount Number of elements in subsetGlyphIds. Ignored if
333 glyphIDs is NULL.
334 @return The returned object has already been referenced.
335 */
336 SkAdvancedTypefaceMetrics* getAdvancedTypefaceMetrics(
337 SkAdvancedTypefaceMetrics::PerGlyphInfo perGlyphInfo,
338 const uint32_t* glyphIDs = NULL,
339 uint32_t glyphIDsCount = 0) const;
340
341 private:
337 static void create_default_typeface(Style style); 342 static void create_default_typeface(Style style);
338 343
339 SkFontID fUniqueID; 344 SkFontID fUniqueID;
340 Style fStyle; 345 Style fStyle;
341 bool fIsFixedPitch; 346 bool fIsFixedPitch;
342 347
343 friend class SkPaint; 348 friend class SkPaint;
344 friend class SkGlyphCache; // GetDefaultTypeface 349 friend class SkGlyphCache; // GetDefaultTypeface
345 // just so deprecated fonthost can call protected methods 350 // just so deprecated fonthost can call protected methods
346 friend class SkFontHost; 351 friend class SkFontHost;
347 352
348 typedef SkWeakRefCnt INHERITED; 353 typedef SkWeakRefCnt INHERITED;
349 }; 354 };
350 355
351 #endif 356 #endif
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698