| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
| 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2003, 2006, 2007, 2010, 2011 Apple Inc. All rights reserved. | 5 * Copyright (C) 2003, 2006, 2007, 2010, 2011 Apple Inc. All rights reserved. |
| 6 * Copyright (C) 2008 Holger Hans Peter Freyther | 6 * Copyright (C) 2008 Holger Hans Peter Freyther |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 | 24 |
| 25 #ifndef Font_h | 25 #ifndef Font_h |
| 26 #define Font_h | 26 #define Font_h |
| 27 | 27 |
| 28 #include "platform/PlatformExport.h" | 28 #include "platform/PlatformExport.h" |
| 29 #include "platform/fonts/FontDescription.h" | 29 #include "platform/fonts/FontDescription.h" |
| 30 #include "platform/fonts/FontFallbackList.h" | 30 #include "platform/fonts/FontFallbackList.h" |
| 31 #include "platform/fonts/SimpleFontData.h" | 31 #include "platform/fonts/SimpleFontData.h" |
| 32 #include "platform/fonts/TypesettingFeatures.h" | 32 #include "platform/fonts/TypesettingFeatures.h" |
| 33 #include "platform/text/TextDirection.h" | 33 #include "platform/text/TextDirection.h" |
| 34 #include "platform/text/TextPath.h" |
| 34 #include "wtf/HashMap.h" | 35 #include "wtf/HashMap.h" |
| 35 #include "wtf/HashSet.h" | 36 #include "wtf/HashSet.h" |
| 36 #include "wtf/MathExtras.h" | 37 #include "wtf/MathExtras.h" |
| 37 #include "wtf/unicode/CharacterNames.h" | 38 #include "wtf/unicode/CharacterNames.h" |
| 38 | 39 |
| 39 // "X11/X.h" defines Complex to 0 and conflicts | 40 // "X11/X.h" defines Complex to 0 and conflicts |
| 40 // with Complex value in CodePath enum. | 41 // with Complex value in CodePath enum. |
| 41 #ifdef Complex | 42 #ifdef Complex |
| 42 #undef Complex | 43 #undef Complex |
| 43 #endif | 44 #endif |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 155 | 156 |
| 156 static bool isCJKIdeograph(UChar32); | 157 static bool isCJKIdeograph(UChar32); |
| 157 static bool isCJKIdeographOrSymbol(UChar32); | 158 static bool isCJKIdeographOrSymbol(UChar32); |
| 158 | 159 |
| 159 static unsigned expansionOpportunityCount(const LChar*, size_t length, TextD
irection, bool& isAfterExpansion); | 160 static unsigned expansionOpportunityCount(const LChar*, size_t length, TextD
irection, bool& isAfterExpansion); |
| 160 static unsigned expansionOpportunityCount(const UChar*, size_t length, TextD
irection, bool& isAfterExpansion); | 161 static unsigned expansionOpportunityCount(const UChar*, size_t length, TextD
irection, bool& isAfterExpansion); |
| 161 | 162 |
| 162 static void setShouldUseSmoothing(bool); | 163 static void setShouldUseSmoothing(bool); |
| 163 static bool shouldUseSmoothing(); | 164 static bool shouldUseSmoothing(); |
| 164 | 165 |
| 165 enum CodePath { Auto, Simple, Complex, SimpleWithGlyphOverflow }; | |
| 166 CodePath codePath(const TextRun&) const; | 166 CodePath codePath(const TextRun&) const; |
| 167 static CodePath characterRangeCodePath(const LChar*, unsigned) { return Simp
le; } | 167 static CodePath characterRangeCodePath(const LChar*, unsigned) { return Simp
lePath; } |
| 168 static CodePath characterRangeCodePath(const UChar*, unsigned len); | 168 static CodePath characterRangeCodePath(const UChar*, unsigned len); |
| 169 | 169 |
| 170 private: | 170 private: |
| 171 enum ForTextEmphasisOrNot { NotForTextEmphasis, ForTextEmphasis }; | 171 enum ForTextEmphasisOrNot { NotForTextEmphasis, ForTextEmphasis }; |
| 172 | 172 |
| 173 // Returns the initial in-stream advance. | 173 // Returns the initial in-stream advance. |
| 174 float getGlyphsAndAdvancesForSimpleText(const TextRun&, int from, int to, Gl
yphBuffer&, ForTextEmphasisOrNot = NotForTextEmphasis) const; | 174 float getGlyphsAndAdvancesForSimpleText(const TextRun&, int from, int to, Gl
yphBuffer&, ForTextEmphasisOrNot = NotForTextEmphasis) const; |
| 175 void drawSimpleText(GraphicsContext*, const TextRunPaintInfo&, const FloatPo
int&) const; | 175 void drawSimpleText(GraphicsContext*, const TextRunPaintInfo&, const FloatPo
int&) const; |
| 176 void drawEmphasisMarksForSimpleText(GraphicsContext*, const TextRunPaintInfo
&, const AtomicString& mark, const FloatPoint&) const; | 176 void drawEmphasisMarksForSimpleText(GraphicsContext*, const TextRunPaintInfo
&, const AtomicString& mark, const FloatPoint&) const; |
| 177 void drawGlyphs(GraphicsContext*, const SimpleFontData*, const GlyphBuffer&,
unsigned from, unsigned numGlyphs, const FloatPoint&, const FloatRect& textRect
) const; | 177 void drawGlyphs(GraphicsContext*, const SimpleFontData*, const GlyphBuffer&,
unsigned from, unsigned numGlyphs, const FloatPoint&, const FloatRect& textRect
) const; |
| (...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 | 333 |
| 334 namespace WTF { | 334 namespace WTF { |
| 335 | 335 |
| 336 template <> struct PLATFORM_EXPORT OwnedPtrDeleter<WebCore::TextLayout> { | 336 template <> struct PLATFORM_EXPORT OwnedPtrDeleter<WebCore::TextLayout> { |
| 337 static void deletePtr(WebCore::TextLayout*); | 337 static void deletePtr(WebCore::TextLayout*); |
| 338 }; | 338 }; |
| 339 | 339 |
| 340 } | 340 } |
| 341 | 341 |
| 342 #endif | 342 #endif |
| OLD | NEW |