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

Unified Diff: Source/platform/fonts/shaping/HarfBuzzShaper.h

Issue 1244973003: Reland "Change fallback font collection in HarfBuzzShaper" (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Rebase (resolved conflicts) Created 5 years, 4 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: Source/platform/fonts/shaping/HarfBuzzShaper.h
diff --git a/Source/platform/fonts/shaping/HarfBuzzShaper.h b/Source/platform/fonts/shaping/HarfBuzzShaper.h
index 90ff7cf69425dd76aa28cf3b4d114a2c4f97e03f..29cf473532a06de38223598a42640adb35d974d3 100644
--- a/Source/platform/fonts/shaping/HarfBuzzShaper.h
+++ b/Source/platform/fonts/shaping/HarfBuzzShaper.h
@@ -53,9 +53,10 @@ class HarfBuzzShaper;
class PLATFORM_EXPORT ShapeResult : public RefCounted<ShapeResult> {
public:
- static PassRefPtr<ShapeResult> create(unsigned numCharacters, TextDirection direction)
+ static PassRefPtr<ShapeResult> create(const Font* font,
+ unsigned numCharacters, TextDirection direction)
{
- return adoptRef(new ShapeResult(numCharacters, direction));
+ return adoptRef(new ShapeResult(font, numCharacters, direction));
}
~ShapeResult();
@@ -63,10 +64,7 @@ public:
FloatRect bounds() { return m_glyphBoundingBox; }
int offsetForPosition(float targetX);
unsigned numCharacters() const { return m_numCharacters; }
- const HashSet<RefPtr<SimpleFontData>>* fallbackFonts() const
- {
- return &m_fallbackFonts;
- }
+ void fallbackFonts(HashSet<const SimpleFontData*>*) const;
static float fillGlyphBuffer(Vector<RefPtr<ShapeResult>>&,
GlyphBuffer*, const TextRun&, unsigned from, unsigned to);
@@ -86,7 +84,7 @@ public:
private:
struct RunInfo;
- ShapeResult(unsigned numCharacters, TextDirection);
+ ShapeResult(const Font*, unsigned numCharacters, TextDirection);
template<TextDirection>
float fillGlyphBufferForRun(GlyphBuffer*, const RunInfo*,
@@ -99,7 +97,7 @@ private:
float m_width;
FloatRect m_glyphBoundingBox;
Vector<OwnPtr<RunInfo>> m_runs;
- HashSet<RefPtr<SimpleFontData>> m_fallbackFonts;
+ RefPtr<SimpleFontData> m_primaryFont;
unsigned m_numCharacters;
unsigned m_numGlyphs : 31;
@@ -114,8 +112,7 @@ private:
class PLATFORM_EXPORT HarfBuzzShaper final : public Shaper {
public:
- HarfBuzzShaper(const Font*, const TextRun&,
- HashSet<const SimpleFontData*>* fallbackFonts);
+ HarfBuzzShaper(const Font*, const TextRun&);
PassRefPtr<ShapeResult> shapeResult();
~HarfBuzzShaper() { }
« no previous file with comments | « Source/platform/fonts/shaping/CachingWordShaperTest.cpp ('k') | Source/platform/fonts/shaping/HarfBuzzShaper.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698