| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2014 Google Inc. | 2 * Copyright 2014 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef SkFont_DEFINED | 8 #ifndef SkFont_DEFINED |
| 9 #define SkFont_DEFINED | 9 #define SkFont_DEFINED |
| 10 | 10 |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 | 119 |
| 120 static sk_sp<SkFont> Make(sk_sp<SkTypeface>, SkScalar size, MaskType, uint32
_t flags); | 120 static sk_sp<SkFont> Make(sk_sp<SkTypeface>, SkScalar size, MaskType, uint32
_t flags); |
| 121 static sk_sp<SkFont> Make(sk_sp<SkTypeface>, SkScalar size, SkScalar scaleX,
SkScalar skewX, | 121 static sk_sp<SkFont> Make(sk_sp<SkTypeface>, SkScalar size, SkScalar scaleX,
SkScalar skewX, |
| 122 MaskType, uint32_t flags); | 122 MaskType, uint32_t flags); |
| 123 | 123 |
| 124 /** | 124 /** |
| 125 * Return a font with the same attributes of this font, but with the specif
ied size. | 125 * Return a font with the same attributes of this font, but with the specif
ied size. |
| 126 * If size is not supported (e.g. <= 0 or non-finite) NULL will be returned
. | 126 * If size is not supported (e.g. <= 0 or non-finite) NULL will be returned
. |
| 127 */ | 127 */ |
| 128 sk_sp<SkFont> makeWithSize(SkScalar size) const; | 128 sk_sp<SkFont> makeWithSize(SkScalar size) const; |
| 129 /** |
| 130 * Return a font with the same attributes of this font, but with the flags. |
| 131 */ |
| 132 sk_sp<SkFont> makeWithFlags(uint32_t newFlags) const; |
| 129 | 133 |
| 130 SkTypeface* getTypeface() const { return fTypeface.get(); } | 134 SkTypeface* getTypeface() const { return fTypeface.get(); } |
| 131 SkScalar getSize() const { return fSize; } | 135 SkScalar getSize() const { return fSize; } |
| 132 SkScalar getScaleX() const { return fScaleX; } | 136 SkScalar getScaleX() const { return fScaleX; } |
| 133 SkScalar getSkewX() const { return fSkewX; } | 137 SkScalar getSkewX() const { return fSkewX; } |
| 134 uint32_t getFlags() const { return fFlags; } | 138 uint32_t getFlags() const { return fFlags; } |
| 135 MaskType getMaskType() const { return (MaskType)fMaskType; } | 139 MaskType getMaskType() const { return (MaskType)fMaskType; } |
| 136 | 140 |
| 137 bool isVertical() const { return SkToBool(fFlags & kVertical_Flag); } | 141 bool isVertical() const { return SkToBool(fFlags & kVertical_Flag); } |
| 138 bool isEmbolden() const { return SkToBool(fFlags & kEmbolden_Flag); } | 142 bool isEmbolden() const { return SkToBool(fFlags & kEmbolden_Flag); } |
| 139 bool isEnableAutoHints() const { return SkToBool(fFlags & kEnableAutoHints_F
lag); } | 143 bool isEnableAutoHints() const { return SkToBool(fFlags & kEnableAutoHints_F
lag); } |
| 140 bool isEnableByteCodeHints() const { return SkToBool(fFlags & kEnableByteCod
eHints_Flag); } | 144 bool isEnableByteCodeHints() const { return SkToBool(fFlags & kEnableByteCod
eHints_Flag); } |
| 141 bool isUseNonLinearMetrics() const { return SkToBool(fFlags & kUseNonlinearM
etrics_Flag); } | 145 bool isUseNonLinearMetrics() const { return SkToBool(fFlags & kUseNonlinearM
etrics_Flag); } |
| 146 bool isDevKern() const { return SkToBool(fFlags & kDevKern_Flag); } |
| 142 | 147 |
| 143 int textToGlyphs(const void* text, size_t byteLength, SkTextEncoding, | 148 int textToGlyphs(const void* text, size_t byteLength, SkTextEncoding, |
| 144 uint16_t glyphs[], int maxGlyphCount) const; | 149 uint16_t glyphs[], int maxGlyphCount) const; |
| 145 | 150 |
| 151 int countText(const void* text, size_t byteLength, SkTextEncoding encoding)
{ |
| 152 return this->textToGlyphs(text, byteLength, encoding, nullptr, 0); |
| 153 } |
| 154 |
| 146 SkScalar measureText(const void* text, size_t byteLength, SkTextEncoding) co
nst; | 155 SkScalar measureText(const void* text, size_t byteLength, SkTextEncoding) co
nst; |
| 147 | 156 |
| 148 static sk_sp<SkFont> Testing_CreateFromPaint(const SkPaint&); | 157 static sk_sp<SkFont> Testing_CreateFromPaint(const SkPaint&); |
| 149 | 158 |
| 150 private: | 159 private: |
| 151 enum { | 160 enum { |
| 152 kAllFlags = 0xFF, | 161 kAllFlags = 0xFF, |
| 153 }; | 162 }; |
| 154 | 163 |
| 155 SkFont(sk_sp<SkTypeface>, SkScalar size, SkScalar scaleX, SkScalar skewX, Ma
skType, | 164 SkFont(sk_sp<SkTypeface>, SkScalar size, SkScalar scaleX, SkScalar skewX, Ma
skType, |
| 156 uint32_t flags); | 165 uint32_t flags); |
| 157 | 166 |
| 158 sk_sp<SkTypeface> fTypeface; | 167 sk_sp<SkTypeface> fTypeface; |
| 159 SkScalar fSize; | 168 SkScalar fSize; |
| 160 SkScalar fScaleX; | 169 SkScalar fScaleX; |
| 161 SkScalar fSkewX; | 170 SkScalar fSkewX; |
| 162 uint16_t fFlags; | 171 uint16_t fFlags; |
| 163 uint8_t fMaskType; | 172 uint8_t fMaskType; |
| 164 // uint8_t fPad; | 173 // uint8_t fPad; |
| 165 }; | 174 }; |
| 166 | 175 |
| 167 #endif | 176 #endif |
| OLD | NEW |