diff options
Diffstat (limited to 'include/core/SkPaint.h')
-rw-r--r-- | include/core/SkPaint.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/include/core/SkPaint.h b/include/core/SkPaint.h index f2df226..3c847de 100644 --- a/include/core/SkPaint.h +++ b/include/core/SkPaint.h @@ -113,10 +113,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. @@ -205,6 +206,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. */ @@ -831,7 +844,7 @@ private: SkColor fColor; SkScalar fWidth; SkScalar fMiterLimit; - unsigned fFlags : 11; + unsigned fFlags : 12; unsigned fTextAlign : 2; unsigned fCapType : 2; unsigned fJoinType : 2; @@ -859,9 +872,10 @@ private: enum { kCanonicalTextSizeForPaths = 64 }; + friend class SkAutoGlyphCache; friend class SkCanvas; friend class SkDraw; - friend class SkAutoGlyphCache; + friend class SkPDFDevice; friend class SkTextToPathIter; }; |