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 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 float spaceWidth() const { return primaryFont()->spaceWidth() + fontDescript
ion().letterSpacing(); } | 116 float spaceWidth() const { return primaryFont()->spaceWidth() + fontDescript
ion().letterSpacing(); } |
117 float tabWidth(const SimpleFontData&, unsigned tabSize, float position) cons
t; | 117 float tabWidth(const SimpleFontData&, unsigned tabSize, float position) cons
t; |
118 float tabWidth(unsigned tabSize, float position) const { return tabWidth(*pr
imaryFont(), tabSize, position); } | 118 float tabWidth(unsigned tabSize, float position) const { return tabWidth(*pr
imaryFont(), tabSize, position); } |
119 | 119 |
120 int emphasisMarkAscent(const AtomicString&) const; | 120 int emphasisMarkAscent(const AtomicString&) const; |
121 int emphasisMarkDescent(const AtomicString&) const; | 121 int emphasisMarkDescent(const AtomicString&) const; |
122 int emphasisMarkHeight(const AtomicString&) const; | 122 int emphasisMarkHeight(const AtomicString&) const; |
123 | 123 |
124 const SimpleFontData* primaryFont() const; | 124 const SimpleFontData* primaryFont() const; |
125 const FontData* fontDataAt(unsigned) const; | 125 const FontData* fontDataAt(unsigned) const; |
126 inline GlyphData glyphDataForCharacter(UChar32 c, bool mirror, FontDataVaria
nt variant = AutoVariant) const | 126 inline GlyphData glyphDataForCharacter(UChar32& c, bool mirror, bool spaceNo
rmalize = false, FontDataVariant variant = AutoVariant) const |
127 { | 127 { |
128 return glyphDataAndPageForCharacter(c, mirror, variant).first; | 128 return glyphDataAndPageForCharacter(c, mirror, spaceNormalize, variant).
first; |
129 } | 129 } |
130 #if OS(MACOSX) | 130 #if OS(MACOSX) |
131 const SimpleFontData* fontDataForCombiningCharacterSequence(const UChar*, si
ze_t length, FontDataVariant) const; | 131 const SimpleFontData* fontDataForCombiningCharacterSequence(const UChar*, si
ze_t length, FontDataVariant) const; |
132 #endif | 132 #endif |
133 std::pair<GlyphData, GlyphPage*> glyphDataAndPageForCharacter(UChar32, bool
mirror, FontDataVariant = AutoVariant) const; | 133 std::pair<GlyphData, GlyphPage*> glyphDataAndPageForCharacter(UChar32&, bool
mirror, bool normalizeSpace = false, FontDataVariant = AutoVariant) const; |
134 bool primaryFontHasGlyphForCharacter(UChar32) const; | 134 bool primaryFontHasGlyphForCharacter(UChar32) const; |
135 | 135 |
136 CodePath codePath(const TextRun&) const; | 136 CodePath codePath(const TextRun&) const; |
137 | 137 |
138 PassTextBlobPtr buildTextBlob(const TextRunPaintInfo&, const FloatPoint& tex
tOrigin, bool couldUseLCDRenderedText, CustomFontNotReadyAction = DoNotPaintIfFo
ntNotReady) const; | 138 PassTextBlobPtr buildTextBlob(const TextRunPaintInfo&, const FloatPoint& tex
tOrigin, bool couldUseLCDRenderedText, CustomFontNotReadyAction = DoNotPaintIfFo
ntNotReady) const; |
139 void drawTextBlob(GraphicsContext*, const SkTextBlob*, const SkPoint& origin
) const; | 139 void drawTextBlob(GraphicsContext*, const SkTextBlob*, const SkPoint& origin
) const; |
140 | 140 |
141 private: | 141 private: |
142 enum ForTextEmphasisOrNot { NotForTextEmphasis, ForTextEmphasis }; | 142 enum ForTextEmphasisOrNot { NotForTextEmphasis, ForTextEmphasis }; |
143 | 143 |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
227 { | 227 { |
228 if (!tabSize) | 228 if (!tabSize) |
229 return fontDescription().letterSpacing(); | 229 return fontDescription().letterSpacing(); |
230 float tabWidth = tabSize * fontData.spaceWidth() + fontDescription().letterS
pacing(); | 230 float tabWidth = tabSize * fontData.spaceWidth() + fontDescription().letterS
pacing(); |
231 return tabWidth - fmodf(position, tabWidth); | 231 return tabWidth - fmodf(position, tabWidth); |
232 } | 232 } |
233 | 233 |
234 } // namespace blink | 234 } // namespace blink |
235 | 235 |
236 #endif | 236 #endif |
OLD | NEW |