diff options
Diffstat (limited to 'Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp b/Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp index 6f9009f..c3edfac 100644 --- a/Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp +++ b/Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp @@ -76,13 +76,14 @@ FontPlatformData::FontPlatformData(const FontPlatformData& src) , m_fakeBold(src.m_fakeBold) , m_fakeItalic(src.m_fakeItalic) , m_orientation(src.m_orientation) + , m_textOrientation(src.m_textOrientation) , m_style(src.m_style) , m_harfbuzzFace(src.m_harfbuzzFace) { SkSafeRef(m_typeface); } -FontPlatformData::FontPlatformData(SkTypeface* tf, const char* family, float textSize, bool fakeBold, bool fakeItalic, FontOrientation orientation) +FontPlatformData::FontPlatformData(SkTypeface* tf, const char* family, float textSize, bool fakeBold, bool fakeItalic, FontOrientation orientation, TextOrientation textOrientation) : m_typeface(tf) , m_family(family) , m_textSize(textSize) @@ -90,6 +91,7 @@ FontPlatformData::FontPlatformData(SkTypeface* tf, const char* family, float tex , m_fakeBold(fakeBold) , m_fakeItalic(fakeItalic) , m_orientation(orientation) + , m_textOrientation(textOrientation) { SkSafeRef(m_typeface); querySystemForRenderStyle(); @@ -102,6 +104,8 @@ FontPlatformData::FontPlatformData(const FontPlatformData& src, float textSize) , m_emSizeInFontUnits(src.m_emSizeInFontUnits) , m_fakeBold(src.m_fakeBold) , m_fakeItalic(src.m_fakeItalic) + , m_orientation(src.m_orientation) + , m_textOrientation(src.m_textOrientation) , m_harfbuzzFace(src.m_harfbuzzFace) { SkSafeRef(m_typeface); @@ -134,6 +138,7 @@ FontPlatformData& FontPlatformData::operator=(const FontPlatformData& src) m_fakeItalic = src.m_fakeItalic; m_harfbuzzFace = src.m_harfbuzzFace; m_orientation = src.m_orientation; + m_textOrientation = src.m_textOrientation; m_style = src.m_style; m_emSizeInFontUnits = src.m_emSizeInFontUnits; @@ -199,13 +204,14 @@ bool FontPlatformData::operator==(const FontPlatformData& a) const && m_fakeBold == a.m_fakeBold && m_fakeItalic == a.m_fakeItalic && m_orientation == a.m_orientation + && m_textOrientation == a.m_textOrientation && m_style == a.m_style; } unsigned FontPlatformData::hash() const { unsigned h = SkTypeface::UniqueID(m_typeface); - h ^= 0x01010101 * ((static_cast<int>(m_orientation) << 2) | (static_cast<int>(m_fakeBold) << 1) | static_cast<int>(m_fakeItalic)); + h ^= 0x01010101 * ((static_cast<int>(m_textOrientation) << 3) | (static_cast<int>(m_orientation) << 2) | (static_cast<int>(m_fakeBold) << 1) | static_cast<int>(m_fakeItalic)); // This memcpy is to avoid a reinterpret_cast that breaks strict-aliasing // rules. Memcpy is generally optimized enough so that performance doesn't |