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, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv
ed. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserv
ed. |
6 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> | 6 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> |
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 |
11 * version 2 of the License, or (at your option) any later version. | 11 * version 2 of the License, or (at your option) any later version. |
12 * | 12 * |
13 * This library is distributed in the hope that it will be useful, | 13 * This library is distributed in the hope that it will be useful, |
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
16 * Library General Public License for more details. | 16 * Library General Public License for more details. |
17 * | 17 * |
18 * You should have received a copy of the GNU Library General Public License | 18 * You should have received a copy of the GNU Library General Public License |
19 * along with this library; see the file COPYING.LIother.m_ If not, write to | 19 * along with this library; see the file COPYING.LIother.m_ If not, write to |
20 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 20 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
21 * Boston, MA 02110-1301, USA. | 21 * Boston, MA 02110-1301, USA. |
22 * | 22 * |
23 */ | 23 */ |
24 | 24 |
25 #ifndef FontDescription_h | 25 #ifndef FontDescription_h |
26 #define FontDescription_h | 26 #define FontDescription_h |
27 | 27 |
| 28 #include "SkFontStyle.h" |
28 #include "platform/FontFamilyNames.h" | 29 #include "platform/FontFamilyNames.h" |
29 #include "platform/fonts/FontCacheKey.h" | 30 #include "platform/fonts/FontCacheKey.h" |
30 #include "platform/fonts/FontFamily.h" | 31 #include "platform/fonts/FontFamily.h" |
31 #include "platform/fonts/FontFeatureSettings.h" | 32 #include "platform/fonts/FontFeatureSettings.h" |
32 #include "platform/fonts/FontOrientation.h" | 33 #include "platform/fonts/FontOrientation.h" |
33 #include "platform/fonts/FontSmoothingMode.h" | 34 #include "platform/fonts/FontSmoothingMode.h" |
34 #include "platform/fonts/FontTraits.h" | 35 #include "platform/fonts/FontTraits.h" |
35 #include "platform/fonts/FontWidthVariant.h" | 36 #include "platform/fonts/FontWidthVariant.h" |
36 #include "platform/fonts/TextRenderingMode.h" | 37 #include "platform/fonts/TextRenderingMode.h" |
37 #include "platform/fonts/TypesettingFeatures.h" | 38 #include "platform/fonts/TypesettingFeatures.h" |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 static void setSubpixelPositioning(bool b) { s_useSubpixelTextPositioning =
b; } | 230 static void setSubpixelPositioning(bool b) { s_useSubpixelTextPositioning =
b; } |
230 static bool subpixelPositioning() { return s_useSubpixelTextPositioning; } | 231 static bool subpixelPositioning() { return s_useSubpixelTextPositioning; } |
231 | 232 |
232 static void setDefaultTypesettingFeatures(TypesettingFeatures); | 233 static void setDefaultTypesettingFeatures(TypesettingFeatures); |
233 static TypesettingFeatures defaultTypesettingFeatures(); | 234 static TypesettingFeatures defaultTypesettingFeatures(); |
234 | 235 |
235 unsigned styleHashWithoutFamilyList() const; | 236 unsigned styleHashWithoutFamilyList() const; |
236 unsigned bitmapFields() const { return m_fieldsAsUnsigned[0]; } | 237 unsigned bitmapFields() const { return m_fieldsAsUnsigned[0]; } |
237 unsigned auxiliaryBitmapFields() const { return m_fieldsAsUnsigned[1]; } | 238 unsigned auxiliaryBitmapFields() const { return m_fieldsAsUnsigned[1]; } |
238 | 239 |
| 240 SkFontStyle skiaFontStyle() const; |
| 241 |
239 private: | 242 private: |
240 FontFamily m_familyList; // The list of font families to be used. | 243 FontFamily m_familyList; // The list of font families to be used. |
241 RefPtr<FontFeatureSettings> m_featureSettings; | 244 RefPtr<FontFeatureSettings> m_featureSettings; |
242 AtomicString m_locale; | 245 AtomicString m_locale; |
243 | 246 |
244 void updateTypesettingFeatures(); | 247 void updateTypesettingFeatures(); |
245 | 248 |
246 float m_specifiedSize; // Specified CSS value. Independent of rendering is
sues such as integer | 249 float m_specifiedSize; // Specified CSS value. Independent of rendering is
sues such as integer |
247 // rounding, minimum font sizes, and zooming. | 250 // rounding, minimum font sizes, and zooming. |
248 float m_computedSize; // Computed size adjusted for the minimum font size
and the zoom factor. | 251 float m_computedSize; // Computed size adjusted for the minimum font size
and the zoom factor. |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 && m_letterSpacing == other.m_letterSpacing | 316 && m_letterSpacing == other.m_letterSpacing |
314 && m_wordSpacing == other.m_wordSpacing | 317 && m_wordSpacing == other.m_wordSpacing |
315 && m_fieldsAsUnsigned[0] == other.m_fieldsAsUnsigned[0] | 318 && m_fieldsAsUnsigned[0] == other.m_fieldsAsUnsigned[0] |
316 && m_fieldsAsUnsigned[1] == other.m_fieldsAsUnsigned[1] | 319 && m_fieldsAsUnsigned[1] == other.m_fieldsAsUnsigned[1] |
317 && (m_featureSettings == other.m_featureSettings || (m_featureSettings &
& other.m_featureSettings && *m_featureSettings == *other.m_featureSettings)); | 320 && (m_featureSettings == other.m_featureSettings || (m_featureSettings &
& other.m_featureSettings && *m_featureSettings == *other.m_featureSettings)); |
318 } | 321 } |
319 | 322 |
320 } // namespace blink | 323 } // namespace blink |
321 | 324 |
322 #endif | 325 #endif |
OLD | NEW |