stop using bitmap-filter flags outside of paint itself, as a step towards really changing them into an enum
BUG=
Review URL: https://codereview.chromium.org/19825002
git-svn-id: http://skia.googlecode.com/svn/trunk@10240 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/bench/BitmapBench.cpp b/bench/BitmapBench.cpp
index d8363fc..a472d24 100644
--- a/bench/BitmapBench.cpp
+++ b/bench/BitmapBench.cpp
@@ -149,7 +149,7 @@
int count = N;
#ifdef SK_RELEASE
// in DEBUG, N is always 1
- if (paint.getFlags() & SkPaint::kHighQualityFilterBitmap_Flag) {
+ if (SkPaint::kHigh_FilterLevel == paint.getFilterLevel()) {
count /= BICUBIC_DUR_SCALE;
}
#endif
@@ -170,7 +170,7 @@
#ifdef SK_DEBUG
return 1;
#else
- return (paint.getFlags() & SkPaint::kHighQualityFilterBitmap_Flag) ?
+ return SkPaint::kHigh_FilterLevel == paint.getFilterLevel() ?
(float)BICUBIC_DUR_SCALE : 1;
#endif
}
@@ -264,20 +264,28 @@
canvas->rotate(SkIntToScalar(35));
canvas->translate(-x, -y);
}
-
- uint32_t orMask = 0;
- uint32_t clearMask = SkPaint::kFilterBitmap_Flag | SkPaint::kHighQualityFilterBitmap_Flag;
- if (fFlags & kBilerp_Flag) {
- orMask |= SkPaint::kFilterBitmap_Flag;
- }
- if (fFlags & kBicubic_Flag) {
- orMask |= SkPaint::kHighQualityFilterBitmap_Flag;
- }
- this->setPaintMasks(orMask, clearMask);
-
INHERITED::onDraw(canvas);
}
+ virtual void setupPaint(SkPaint* paint) SK_OVERRIDE {
+ this->INHERITED::setupPaint(paint);
+
+ int index = 0;
+ if (fFlags & kBilerp_Flag) {
+ index |= 1;
+ }
+ if (fFlags & kBicubic_Flag) {
+ index |= 2;
+ }
+ static const SkPaint::FilterLevel gLevels[] = {
+ SkPaint::kNone_FilterLevel,
+ SkPaint::kLow_FilterLevel,
+ SkPaint::kMedium_FilterLevel,
+ SkPaint::kHigh_FilterLevel
+ };
+ paint->setFilterLevel(gLevels[index]);
+}
+
private:
typedef BitmapBench INHERITED;
};
diff --git a/bench/BitmapScaleBench.cpp b/bench/BitmapScaleBench.cpp
index 561e096..2187346 100644
--- a/bench/BitmapScaleBench.cpp
+++ b/bench/BitmapScaleBench.cpp
@@ -96,8 +96,7 @@
SkCanvas canvas( fOutputBitmap );
SkPaint paint;
- paint.setFlags( SkPaint::kHighQualityFilterBitmap_Flag | SkPaint::kFilterBitmap_Flag );
-
+ paint.setFilterLevel(SkPaint::kHigh_FilterLevel);
canvas.drawBitmapMatrix( fInputBitmap, fMatrix, &paint );
}
private: