aboutsummaryrefslogtreecommitdiffstats
path: root/include/core/SkPaint.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/core/SkPaint.h')
-rw-r--r--include/core/SkPaint.h20
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;
};