diff options
Diffstat (limited to 'Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm')
-rw-r--r-- | Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm | 42 |
1 files changed, 19 insertions, 23 deletions
diff --git a/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm b/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm index b40f698..6a17707 100644 --- a/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm +++ b/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm @@ -45,9 +45,12 @@ void FontPlatformData::loadFont(NSFont* nsFont, float, NSFont*& outNSFont, CGFon } #endif // PLATFORM(MAC) -FontPlatformData::FontPlatformData(NSFont *nsFont, float size, bool syntheticBold, bool syntheticOblique, FontOrientation orientation, FontWidthVariant widthVariant) +FontPlatformData::FontPlatformData(NSFont *nsFont, float size, bool syntheticBold, bool syntheticOblique, FontOrientation orientation, + TextOrientation textOrientation, FontWidthVariant widthVariant) : m_syntheticBold(syntheticBold) , m_syntheticOblique(syntheticOblique) + , m_orientation(orientation) + , m_textOrientation(textOrientation) , m_size(size) , m_widthVariant(widthVariant) , m_font(nsFont) @@ -64,8 +67,6 @@ FontPlatformData::FontPlatformData(NSFont *nsFont, float size, bool syntheticBol CGFontRef cgFont = 0; loadFont(nsFont, size, m_font, cgFont); - m_orientation = orientation; - if (m_font) CFRetain(m_font); @@ -76,35 +77,26 @@ FontPlatformData::FontPlatformData(NSFont *nsFont, float size, bool syntheticBol #endif } -FontPlatformData::FontPlatformData(const FontPlatformData& f) +FontPlatformData:: ~FontPlatformData() +{ + if (m_font && m_font != reinterpret_cast<NSFont *>(-1)) + CFRelease(m_font); +} + +void FontPlatformData::platformDataInit(const FontPlatformData& f) { m_font = f.m_font && f.m_font != reinterpret_cast<NSFont *>(-1) ? const_cast<NSFont *>(static_cast<const NSFont *>(CFRetain(f.m_font))) : f.m_font; - m_syntheticBold = f.m_syntheticBold; - m_syntheticOblique = f.m_syntheticOblique; - m_size = f.m_size; - m_widthVariant = f.m_widthVariant; m_cgFont = f.m_cgFont; - m_isColorBitmapFont = f.m_isColorBitmapFont; - m_orientation = f.m_orientation; m_CTFont = f.m_CTFont; + #if PLATFORM(CHROMIUM) && OS(DARWIN) m_inMemoryFont = f.m_inMemoryFont; #endif } -FontPlatformData:: ~FontPlatformData() +const FontPlatformData& FontPlatformData::platformDataAssign(const FontPlatformData& f) { - if (m_font && m_font != reinterpret_cast<NSFont *>(-1)) - CFRelease(m_font); -} - -const FontPlatformData& FontPlatformData::operator=(const FontPlatformData& f) -{ - m_syntheticBold = f.m_syntheticBold; - m_syntheticOblique = f.m_syntheticOblique; - m_size = f.m_size; - m_widthVariant = f.m_widthVariant; m_cgFont = f.m_cgFont; if (m_font == f.m_font) return *this; @@ -113,8 +105,6 @@ const FontPlatformData& FontPlatformData::operator=(const FontPlatformData& f) if (m_font && m_font != reinterpret_cast<NSFont *>(-1)) CFRelease(m_font); m_font = f.m_font; - m_isColorBitmapFont = f.m_isColorBitmapFont; - m_orientation = f.m_orientation; m_CTFont = f.m_CTFont; #if PLATFORM(CHROMIUM) && OS(DARWIN) m_inMemoryFont = f.m_inMemoryFont; @@ -122,6 +112,12 @@ const FontPlatformData& FontPlatformData::operator=(const FontPlatformData& f) return *this; } +bool FontPlatformData::platformIsEqual(const FontPlatformData& other) const +{ + return m_font == other.m_font + && m_cgFont == other.m_cgFont; +} + void FontPlatformData::setFont(NSFont *font) { ASSERT_ARG(font, font); |