diff options
author | Feng Qian <fqian@google.com> | 2009-06-17 12:12:20 -0700 |
---|---|---|
committer | Feng Qian <fqian@google.com> | 2009-06-17 12:12:20 -0700 |
commit | 5f1ab04193ad0130ca8204aadaceae083aca9881 (patch) | |
tree | 5a92cd389e2cfe7fb67197ce14b38469462379f8 /WebCore/platform/graphics/Font.h | |
parent | 194315e5a908cc8ed67d597010544803eef1ac59 (diff) | |
download | external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.zip external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.tar.gz external_webkit-5f1ab04193ad0130ca8204aadaceae083aca9881.tar.bz2 |
Get WebKit r44544.
Diffstat (limited to 'WebCore/platform/graphics/Font.h')
-rw-r--r-- | WebCore/platform/graphics/Font.h | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/WebCore/platform/graphics/Font.h b/WebCore/platform/graphics/Font.h index 1bfee8f..8d85d8b 100644 --- a/WebCore/platform/graphics/Font.h +++ b/WebCore/platform/graphics/Font.h @@ -78,8 +78,8 @@ public: void drawText(GraphicsContext*, const TextRun&, const FloatPoint&, int from = 0, int to = -1) const; - int width(const TextRun& run) const { return lroundf(floatWidth(run)); } - float floatWidth(const TextRun&) const; + int width(const TextRun& run, HashSet<const SimpleFontData*>* fallbackFonts = 0) const { return lroundf(floatWidth(run, fallbackFonts)); } + float floatWidth(const TextRun&, HashSet<const SimpleFontData*>* fallbackFonts = 0) const; float floatWidth(const TextRun& run, int extraCharsAvailable, int& charsConsumed, String& glyphName) const; int offsetForPosition(const TextRun&, int position, bool includePartialGlyphs) const; @@ -112,17 +112,19 @@ public: int lineGap() const { return primaryFont()->lineGap(); } float xHeight() const { return primaryFont()->xHeight(); } unsigned unitsPerEm() const { return primaryFont()->unitsPerEm(); } - int spaceWidth() const { return (int)ceilf(primaryFont()->m_adjustedSpaceWidth + m_letterSpacing); } + int spaceWidth() const { return (int)ceilf(primaryFont()->adjustedSpaceWidth() + m_letterSpacing); } int tabWidth() const { return 8 * spaceWidth(); } - const SimpleFontData* primaryFont() const { + const SimpleFontData* primaryFont() const + { + ASSERT(isMainThread()); if (!m_cachedPrimaryFont) cachePrimaryFont(); return m_cachedPrimaryFont; } const FontData* fontDataAt(unsigned) const; - const GlyphData& glyphDataForCharacter(UChar32, bool mirror, bool forceSmallCaps = false) const; + GlyphData glyphDataForCharacter(UChar32, bool mirror, bool forceSmallCaps = false) const; // Used for complex text, and does not utilize the glyph map cache. const FontData* fontDataForCharacters(const UChar*, int length) const; @@ -130,6 +132,9 @@ public: QFont font() const; #endif + static void setShouldUseSmoothing(bool); + static bool shouldUseSmoothing(); + private: #if ENABLE(SVG_FONTS) void drawTextUsingSVGFont(GraphicsContext*, const TextRun&, const FloatPoint&, int from, int to) const; @@ -144,13 +149,15 @@ private: void drawSimpleText(GraphicsContext*, const TextRun&, const FloatPoint&, int from, int to) const; void drawGlyphs(GraphicsContext*, const SimpleFontData*, const GlyphBuffer&, int from, int to, const FloatPoint&) const; void drawGlyphBuffer(GraphicsContext*, const GlyphBuffer&, const TextRun&, const FloatPoint&) const; - float floatWidthForSimpleText(const TextRun&, GlyphBuffer*) const; + float floatWidthForSimpleText(const TextRun&, GlyphBuffer*, HashSet<const SimpleFontData*>* fallbackFonts = 0) const; int offsetForPositionForSimpleText(const TextRun&, int position, bool includePartialGlyphs) const; FloatRect selectionRectForSimpleText(const TextRun&, const IntPoint&, int h, int from, int to) const; + + static bool canReturnFallbackFontsForComplexText(); #endif void drawComplexText(GraphicsContext*, const TextRun&, const FloatPoint&, int from, int to) const; - float floatWidthForComplexText(const TextRun&) const; + float floatWidthForComplexText(const TextRun&, HashSet<const SimpleFontData*>* fallbackFonts = 0) const; int offsetForPositionForComplexText(const TextRun&, int position, bool includePartialGlyphs) const; FloatRect selectionRectForComplexText(const TextRun&, const IntPoint&, int h, int from, int to) const; void cachePrimaryFont() const; |