OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. | 2 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 20 matching lines...) Loading... |
31 public: | 31 public: |
32 FontMetrics() | 32 FontMetrics() |
33 : m_unitsPerEm(gDefaultUnitsPerEm) | 33 : m_unitsPerEm(gDefaultUnitsPerEm) |
34 , m_ascent(0) | 34 , m_ascent(0) |
35 , m_descent(0) | 35 , m_descent(0) |
36 , m_lineGap(0) | 36 , m_lineGap(0) |
37 , m_lineSpacing(0) | 37 , m_lineSpacing(0) |
38 , m_xHeight(0) | 38 , m_xHeight(0) |
39 , m_zeroWidth(0) | 39 , m_zeroWidth(0) |
40 , m_underlinethickness(0) | 40 , m_underlinethickness(0) |
| 41 , m_underlinePosition(0) |
41 , m_hasXHeight(false) | 42 , m_hasXHeight(false) |
42 , m_hasZeroWidth(false) | 43 , m_hasZeroWidth(false) |
43 { | 44 { |
44 } | 45 } |
45 | 46 |
46 unsigned unitsPerEm() const { return m_unitsPerEm; } | 47 unsigned unitsPerEm() const { return m_unitsPerEm; } |
47 void setUnitsPerEm(unsigned unitsPerEm) { m_unitsPerEm = unitsPerEm; } | 48 void setUnitsPerEm(unsigned unitsPerEm) { m_unitsPerEm = unitsPerEm; } |
48 | 49 |
49 float floatAscent(FontBaseline baselineType = AlphabeticBaseline) const | 50 float floatAscent(FontBaseline baselineType = AlphabeticBaseline) const |
50 { | 51 { |
(...skipping 68 matching lines...) Loading... |
119 m_zeroWidth = zeroWidth; | 120 m_zeroWidth = zeroWidth; |
120 m_hasZeroWidth = true; | 121 m_hasZeroWidth = true; |
121 } | 122 } |
122 | 123 |
123 bool hasZeroWidth() const { return m_hasZeroWidth; } | 124 bool hasZeroWidth() const { return m_hasZeroWidth; } |
124 void setHasZeroWidth(bool hasZeroWidth) { m_hasZeroWidth = hasZeroWidth; } | 125 void setHasZeroWidth(bool hasZeroWidth) { m_hasZeroWidth = hasZeroWidth; } |
125 | 126 |
126 float underlineThickness() const { return m_underlinethickness; } | 127 float underlineThickness() const { return m_underlinethickness; } |
127 void setUnderlineThickness(float underlineThickness) { m_underlinethickness
= underlineThickness; } | 128 void setUnderlineThickness(float underlineThickness) { m_underlinethickness
= underlineThickness; } |
128 | 129 |
| 130 float underlinePosition() const { return m_underlinePosition; } |
| 131 void setUnderlinePosition(float underlinePosition) { m_underlinePosition = u
nderlinePosition; } |
| 132 |
129 private: | 133 private: |
130 friend class SimpleFontData; | 134 friend class SimpleFontData; |
131 | 135 |
132 void reset() | 136 void reset() |
133 { | 137 { |
134 m_unitsPerEm = gDefaultUnitsPerEm; | 138 m_unitsPerEm = gDefaultUnitsPerEm; |
135 m_ascent = 0; | 139 m_ascent = 0; |
136 m_descent = 0; | 140 m_descent = 0; |
137 m_lineGap = 0; | 141 m_lineGap = 0; |
138 m_lineSpacing = 0; | 142 m_lineSpacing = 0; |
139 m_xHeight = 0; | 143 m_xHeight = 0; |
140 m_hasXHeight = false; | 144 m_hasXHeight = false; |
141 m_underlinethickness = 0; | 145 m_underlinethickness = 0; |
| 146 m_underlinePosition = 0; |
142 } | 147 } |
143 | 148 |
144 unsigned m_unitsPerEm; | 149 unsigned m_unitsPerEm; |
145 float m_ascent; | 150 float m_ascent; |
146 float m_descent; | 151 float m_descent; |
147 float m_lineGap; | 152 float m_lineGap; |
148 float m_lineSpacing; | 153 float m_lineSpacing; |
149 float m_xHeight; | 154 float m_xHeight; |
150 float m_zeroWidth; | 155 float m_zeroWidth; |
151 float m_underlinethickness; | 156 float m_underlinethickness; |
| 157 float m_underlinePosition; |
152 bool m_hasXHeight; | 158 bool m_hasXHeight; |
153 bool m_hasZeroWidth; | 159 bool m_hasZeroWidth; |
154 }; | 160 }; |
155 | 161 |
156 inline float scaleEmToUnits(float x, unsigned unitsPerEm) | 162 inline float scaleEmToUnits(float x, unsigned unitsPerEm) |
157 { | 163 { |
158 return unitsPerEm ? x / unitsPerEm : x; | 164 return unitsPerEm ? x / unitsPerEm : x; |
159 } | 165 } |
160 | 166 |
161 } // namespace WebCore | 167 } // namespace WebCore |
162 | 168 |
163 #endif // FontMetrics_h | 169 #endif // FontMetrics_h |
OLD | NEW |