aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar bungeman <bungeman@google.com>2014-10-20 13:33:19 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2014-10-20 13:33:19 -0700
commita4c4a2d8cd65abb1e5ac20813831cdb9ace6c7ee (patch)
treecf64b94cb51a6316cf89080697cdd5d54e459ecc /include
parentfca302ccf464933e44e00255654d27a7705abb7f (diff)
Replace SkTypeface::Style with SkFontStyle.
Diffstat (limited to 'include')
-rw-r--r--include/core/SkFontStyle.h (renamed from include/ports/SkFontStyle.h)2
-rw-r--r--include/core/SkTypeface.h31
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;