diff options
Diffstat (limited to 'src/core/SkPaint.cpp')
-rw-r--r-- | src/core/SkPaint.cpp | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/src/core/SkPaint.cpp b/src/core/SkPaint.cpp index 886794c479..372e68051e 100644 --- a/src/core/SkPaint.cpp +++ b/src/core/SkPaint.cpp @@ -205,6 +205,29 @@ void SkPaint::setPaintOptionsAndroid(const SkPaintOptionsAndroid& options) { } #endif +SkPaint::FilterLevel SkPaint::getFilterLevel() const { + int level = 0; + if (fFlags & kFilterBitmap_Flag) { + level |= 1; + } + if (fFlags & kHighQualityFilterBitmap_Flag) { + level |= 2; + } + return (FilterLevel)level; +} + +void SkPaint::setFilterLevel(FilterLevel level) { + unsigned mask = kFilterBitmap_Flag | kHighQualityFilterBitmap_Flag; + unsigned flags = 0; + if (level & 1) { + flags |= kFilterBitmap_Flag; + } + if (level & 2) { + flags |= kHighQualityFilterBitmap_Flag; + } + this->setFlags((fFlags & ~mask) | flags); +} + void SkPaint::setHinting(Hinting hintingLevel) { GEN_ID_INC_EVAL((unsigned) hintingLevel != fHinting); fHinting = hintingLevel; @@ -263,10 +286,6 @@ void SkPaint::setDevKernText(bool doDevKern) { this->setFlags(SkSetClearMask(fFlags, doDevKern, kDevKernText_Flag)); } -void SkPaint::setFilterBitmap(bool doFilter) { - this->setFlags(SkSetClearMask(fFlags, doFilter, kFilterBitmap_Flag)); -} - void SkPaint::setStyle(Style style) { if ((unsigned)style < kStyleCount) { GEN_ID_INC_EVAL((unsigned)style != fStyle); |