| 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 | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights |
| 6 * reserved. | 6 * reserved. |
| 7 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> | 7 * Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 294 | 294 |
| 295 TypesettingFeatures getTypesettingFeatures() const { | 295 TypesettingFeatures getTypesettingFeatures() const { |
| 296 return static_cast<TypesettingFeatures>(m_fields.m_typesettingFeatures); | 296 return static_cast<TypesettingFeatures>(m_fields.m_typesettingFeatures); |
| 297 } | 297 } |
| 298 | 298 |
| 299 static void setSubpixelPositioning(bool b) { | 299 static void setSubpixelPositioning(bool b) { |
| 300 s_useSubpixelTextPositioning = b; | 300 s_useSubpixelTextPositioning = b; |
| 301 } | 301 } |
| 302 static bool subpixelPositioning() { return s_useSubpixelTextPositioning; } | 302 static bool subpixelPositioning() { return s_useSubpixelTextPositioning; } |
| 303 | 303 |
| 304 void setSubpixelAscentDescent(bool sp) const { | |
| 305 m_fields.m_subpixelAscentDescent = sp; | |
| 306 } | |
| 307 | |
| 308 bool subpixelAscentDescent() const { | |
| 309 return m_fields.m_subpixelAscentDescent; | |
| 310 } | |
| 311 | |
| 312 static void setDefaultTypesettingFeatures(TypesettingFeatures); | 304 static void setDefaultTypesettingFeatures(TypesettingFeatures); |
| 313 static TypesettingFeatures defaultTypesettingFeatures(); | 305 static TypesettingFeatures defaultTypesettingFeatures(); |
| 314 | 306 |
| 315 unsigned styleHashWithoutFamilyList() const; | 307 unsigned styleHashWithoutFamilyList() const; |
| 316 // TODO(drott): We should not expose internal structure here, but rather | 308 // TODO(drott): We should not expose internal structure here, but rather |
| 317 // introduce a hash function here. | 309 // introduce a hash function here. |
| 318 unsigned bitmapFields() const { return m_fieldsAsUnsigned.parts[0]; } | 310 unsigned bitmapFields() const { return m_fieldsAsUnsigned.parts[0]; } |
| 319 unsigned auxiliaryBitmapFields() const { return m_fieldsAsUnsigned.parts[1]; } | 311 unsigned auxiliaryBitmapFields() const { return m_fieldsAsUnsigned.parts[1]; } |
| 320 | 312 |
| 321 SkFontStyle skiaFontStyle() const; | 313 SkFontStyle skiaFontStyle() const; |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 374 // values for <font>). | 366 // values for <font>). |
| 375 unsigned m_keywordSize : 4; | 367 unsigned m_keywordSize : 4; |
| 376 | 368 |
| 377 unsigned m_fontSmoothing : 2; // FontSmoothingMode | 369 unsigned m_fontSmoothing : 2; // FontSmoothingMode |
| 378 unsigned m_textRendering : 2; // TextRenderingMode | 370 unsigned m_textRendering : 2; // TextRenderingMode |
| 379 unsigned m_syntheticBold : 1; | 371 unsigned m_syntheticBold : 1; |
| 380 unsigned m_syntheticItalic : 1; | 372 unsigned m_syntheticItalic : 1; |
| 381 unsigned m_subpixelTextPosition : 1; | 373 unsigned m_subpixelTextPosition : 1; |
| 382 unsigned m_typesettingFeatures : 3; | 374 unsigned m_typesettingFeatures : 3; |
| 383 unsigned m_variantNumeric : 8; | 375 unsigned m_variantNumeric : 8; |
| 384 mutable unsigned m_subpixelAscentDescent : 1; | |
| 385 }; | 376 }; |
| 386 | 377 |
| 387 static_assert(sizeof(BitFields) == sizeof(FieldsAsUnsignedType), | 378 static_assert(sizeof(BitFields) == sizeof(FieldsAsUnsignedType), |
| 388 "Mapped bitfield datatypes must have identical size."); | 379 "Mapped bitfield datatypes must have identical size."); |
| 389 union { | 380 union { |
| 390 BitFields m_fields; | 381 BitFields m_fields; |
| 391 FieldsAsUnsignedType m_fieldsAsUnsigned; | 382 FieldsAsUnsignedType m_fieldsAsUnsigned; |
| 392 }; | 383 }; |
| 393 | 384 |
| 394 static TypesettingFeatures s_defaultTypesettingFeatures; | 385 static TypesettingFeatures s_defaultTypesettingFeatures; |
| 395 | 386 |
| 396 static bool s_useSubpixelTextPositioning; | 387 static bool s_useSubpixelTextPositioning; |
| 397 }; | 388 }; |
| 398 | 389 |
| 399 } // namespace blink | 390 } // namespace blink |
| 400 | 391 |
| 401 #endif | 392 #endif |
| OLD | NEW |