diff options
author | 2013-07-18 13:47:01 +0000 | |
---|---|---|
committer | 2013-07-18 13:47:01 +0000 | |
commit | c9683151367b2033a26b1e2ebe6b3902d2064bdb (patch) | |
tree | 2a59fa0e1cc8f1980ed60f39ba9c0d9ab6bd4633 /src/core/SkPaint.cpp | |
parent | 620edc503938e3bfb7621923c2f50e77451fecae (diff) |
add FilterLevel API to SkPaint, replacing various Flag bits
BUG=
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/19769005
git-svn-id: http://skia.googlecode.com/svn/trunk@10138 2bbb7eff-a529-9590-31e7-b0007b416f81
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); |