diff options
Diffstat (limited to 'include/core')
-rw-r--r-- | include/core/SkPaint.h | 17 | ||||
-rw-r--r-- | include/core/SkScalerContext.h | 5 |
2 files changed, 18 insertions, 4 deletions
diff --git a/include/core/SkPaint.h b/include/core/SkPaint.h index 5fef527f65..722bc5d851 100644 --- a/include/core/SkPaint.h +++ b/include/core/SkPaint.h @@ -110,10 +110,11 @@ public: kDevKernText_Flag = 0x100, //!< mask to enable device kerning text kLCDRenderText_Flag = 0x200, //!< mask to enable subpixel glyph renderering kEmbeddedBitmapText_Flag = 0x400, //!< mask to enable embedded bitmap strikes + kAutoHinting_Flag = 0x800, //!< mask to force Freetype's autohinter // when adding extra flags, note that the fFlags member is specified // with a bit-width and you'll have to expand it. - kAllFlags = 0x7FF + kAllFlags = 0xFFF }; /** Return the paint's flags. Use the Flag enum to test flag values. @@ -202,6 +203,18 @@ public: */ void setEmbeddedBitmapText(bool useEmbeddedBitmapText); + bool isAutohinted() const + { + return SkToBool(this->getFlags() & kAutoHinting_Flag); + } + + /** Helper for setFlags(), setting or clearing the kAutoHinting_Flag bit + @param useAutohinter true to set the kEmbeddedBitmapText bit in the + paint's flags, + false to clear it. + */ + void setAutohinted(bool useAutohinter); + /** Helper for getFlags(), returning true if kUnderlineText_Flag bit is set @return true if the underlineText bit is set in the paint's flags. */ @@ -823,7 +836,7 @@ private: SkColor fColor; SkScalar fWidth; SkScalar fMiterLimit; - unsigned fFlags : 11; + unsigned fFlags : 12; unsigned fTextAlign : 2; unsigned fCapType : 2; unsigned fJoinType : 2; diff --git a/include/core/SkScalerContext.h b/include/core/SkScalerContext.h index 59d7125d55..7cb0d2f81b 100644 --- a/include/core/SkScalerContext.h +++ b/include/core/SkScalerContext.h @@ -156,6 +156,8 @@ public: kHintingBit2_Flag = 0x20, kEmbeddedBitmapText_Flag = 0x40, kEmbolden_Flag = 0x80, + kSubpixelPositioning_Flag = 0x100, + kAutohinting_Flag = 0x200, }; private: enum { @@ -167,10 +169,9 @@ public: SkScalar fTextSize, fPreScaleX, fPreSkewX; SkScalar fPost2x2[2][2]; SkScalar fFrameWidth, fMiterLimit; - bool fSubpixelPositioning; uint8_t fMaskFormat; uint8_t fStrokeJoin; - uint8_t fFlags; + uint16_t fFlags; // Warning: when adding members note that the size of this structure // must be a multiple of 4. SkDescriptor requires that its arguments be // multiples of four and this structure is put in an SkDescriptor in |