diff options
author | 2014-10-20 13:33:19 -0700 | |
---|---|---|
committer | 2014-10-20 13:33:19 -0700 | |
commit | a4c4a2d8cd65abb1e5ac20813831cdb9ace6c7ee (patch) | |
tree | cf64b94cb51a6316cf89080697cdd5d54e459ecc /include | |
parent | fca302ccf464933e44e00255654d27a7705abb7f (diff) |
Replace SkTypeface::Style with SkFontStyle.
Committed: https://skia.googlesource.com/skia/+/43b8b36b20ae00e2d78421c4cda1f3f922983a20
Review URL: https://codereview.chromium.org/488143002
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkFontStyle.h (renamed from include/ports/SkFontStyle.h) | 2 | ||||
-rw-r--r-- | include/core/SkTypeface.h | 31 |
2 files changed, 22 insertions, 11 deletions
diff --git a/include/ports/SkFontStyle.h b/include/core/SkFontStyle.h index 9d9a912d7d..f42d7dd470 100644 --- a/include/ports/SkFontStyle.h +++ b/include/core/SkFontStyle.h @@ -43,6 +43,8 @@ public: SkFontStyle(); SkFontStyle(int weight, int width, Slant); + /** oldStyle means the style-bits in SkTypeface::Style: bold=1, italic=2 */ + explicit SkFontStyle(unsigned oldStyle); bool operator==(const SkFontStyle& rhs) const { return fUnion.fU32 == rhs.fUnion.fU32; diff --git a/include/core/SkTypeface.h b/include/core/SkTypeface.h index a080d84bd8..f67623674a 100644 --- a/include/core/SkTypeface.h +++ b/include/core/SkTypeface.h @@ -11,6 +11,7 @@ #define SkTypeface_DEFINED #include "SkAdvancedTypefaceMetrics.h" +#include "SkFontStyle.h" #include "SkWeakRefCnt.h" class SkDescriptor; @@ -49,17 +50,25 @@ public: kBoldItalic = 0x03 }; - /** Returns the typeface's intrinsic style attributes - */ - Style style() const { return fStyle; } + /** Returns the typeface's intrinsic style attributes. */ + SkFontStyle fontStyle() const { + return fStyle; + } - /** Returns true if getStyle() has the kBold bit set. - */ - bool isBold() const { return (fStyle & kBold) != 0; } + /** Returns the typeface's intrinsic style attributes. + * @deprecated use fontStyle() instead. + */ + Style style() const { + return static_cast<Style>( + (fStyle.weight() >= SkFontStyle::kSemiBold_Weight ? kBold : kNormal) | + (fStyle.slant() != SkFontStyle::kUpright_Slant ? kItalic : kNormal)); + } - /** Returns true if getStyle() has the kItalic bit set. - */ - bool isItalic() const { return (fStyle & kItalic) != 0; } + /** Returns true if style() has the kBold bit set. */ + bool isBold() const { return fStyle.weight() >= SkFontStyle::kSemiBold_Weight; } + + /** Returns true if style() has the kItalic bit set. */ + bool isItalic() const { return fStyle.slant() != SkFontStyle::kUpright_Slant; } /** Returns true if the typeface claims to be fixed-pitch. * This is a style bit, advance widths may vary even if this returns true. @@ -285,7 +294,7 @@ public: protected: /** uniqueID must be unique and non-zero */ - SkTypeface(Style style, SkFontID uniqueID, bool isFixedPitch = false); + SkTypeface(const SkFontStyle& style, SkFontID uniqueID, bool isFixedPitch = false); virtual ~SkTypeface(); /** Sets the fixedPitch bit. If used, must be called in the constructor. */ @@ -351,7 +360,7 @@ private: static void DeleteDefault(SkTypeface*); SkFontID fUniqueID; - Style fStyle; + SkFontStyle fStyle; bool fIsFixedPitch; friend class SkPaint; |