Index: gm/downsamplebitmap.cpp |
diff --git a/gm/downsamplebitmap.cpp b/gm/downsamplebitmap.cpp |
index 5cb971d77a3da37ab7370a3949e8d79d82797d94..7637e054b69ca22dfb56eb6c7df7f85b2db8b52c 100644 |
--- a/gm/downsamplebitmap.cpp |
+++ b/gm/downsamplebitmap.cpp |
@@ -11,6 +11,7 @@ |
#include "SkTypeface.h" |
#include "SkImageDecoder.h" |
#include "SkStream.h" |
+#include "SkPaint.h" |
static void setTypeface(SkPaint* paint, const char name[], SkTypeface::Style style) { |
SkSafeUnref(paint->setTypeface(SkTypeface::CreateFromName(name, style))); |
@@ -22,8 +23,10 @@ public: |
SkBitmap fBM; |
SkString fName; |
bool fBitmapMade; |
+ SkPaint::FilterLevel fFilterLevel; |
- DownsampleBitmapGM() |
+ DownsampleBitmapGM(SkPaint::FilterLevel filterLevel) |
+ : fFilterLevel(filterLevel) |
{ |
this->setBGColor(0xFFDDDDDD); |
fBitmapMade = false; |
@@ -32,6 +35,21 @@ public: |
void setName(const char name[]) { |
fName.set(name); |
} |
+ |
+ const char *filterLevelToString() { |
+ switch(fFilterLevel) { |
reed1
2013/07/25 17:35:48
could use a table here. there is a common way skia
|
+ case SkPaint::kNone_FilterLevel: |
bsalomon
2013/07/25 14:31:11
nit indent within a case (the return statements)
|
+ return "none"; |
+ case SkPaint::kLow_FilterLevel: |
+ return "low"; |
+ case SkPaint::kMedium_FilterLevel: |
+ return "medium"; |
+ case SkPaint::kHigh_FilterLevel: |
+ return "high"; |
+ default: |
+ return "unknown"; |
+ } |
+ } |
protected: |
virtual SkString onShortName() SK_OVERRIDE { |
@@ -64,7 +82,7 @@ protected: |
matrix.setScale( curScale, curScale ); |
SkPaint paint; |
- paint.setFilterLevel(SkPaint::kHigh_FilterLevel); |
+ paint.setFilterLevel(fFilterLevel); |
canvas->save(); |
canvas->translate( (SkScalar) curX, 0.f ); |
@@ -83,11 +101,11 @@ private: |
class DownsampleBitmapTextGM: public DownsampleBitmapGM { |
public: |
- DownsampleBitmapTextGM(float textSize) |
- : fTextSize(textSize) |
+ DownsampleBitmapTextGM(float textSize, SkPaint::FilterLevel filterLevel) |
+ : INHERITED(filterLevel), fTextSize(textSize) |
{ |
char name[1024]; |
reed1
2013/07/25 17:35:48
SkString has printf, just for this sort of usage.
|
- sprintf(name, "downsamplebitmap_text_%.2fpt", fTextSize); |
+ sprintf(name, "downsamplebitmap_text_%s_%.2fpt", this->filterLevelToString(), fTextSize); |
setName(name); |
} |
@@ -120,11 +138,11 @@ class DownsampleBitmapTextGM: public DownsampleBitmapGM { |
class DownsampleBitmapCheckerboardGM: public DownsampleBitmapGM { |
public: |
- DownsampleBitmapCheckerboardGM(int size, int numChecks) |
- : fSize(size), fNumChecks(numChecks) |
+ DownsampleBitmapCheckerboardGM(int size, int numChecks, SkPaint::FilterLevel filterLevel) |
+ : INHERITED(filterLevel), fSize(size), fNumChecks(numChecks) |
{ |
char name[1024]; |
- sprintf(name, "downsamplebitmap_checkerboard_%d_%d", fSize, fNumChecks); |
+ sprintf(name, "downsamplebitmap_checkerboard_%s_%d_%d", this->filterLevelToString(), fSize, fNumChecks); |
setName(name); |
} |
@@ -155,11 +173,11 @@ class DownsampleBitmapCheckerboardGM: public DownsampleBitmapGM { |
class DownsampleBitmapImageGM: public DownsampleBitmapGM { |
public: |
- DownsampleBitmapImageGM(const char filename[]) |
- : fFilename(filename) |
+ DownsampleBitmapImageGM(const char filename[], SkPaint::FilterLevel filterLevel) |
+ : INHERITED(filterLevel), fFilename(filename) |
{ |
char name[1024]; |
- sprintf(name, "downsamplebitmap_image_%s", filename); |
+ sprintf(name, "downsamplebitmap_image_%s_%s", this->filterLevelToString(), filename); |
setName(name); |
} |
@@ -195,6 +213,18 @@ class DownsampleBitmapImageGM: public DownsampleBitmapGM { |
////////////////////////////////////////////////////////////////////////////// |
-DEF_GM( return new DownsampleBitmapTextGM(72); ) |
-DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256); ) |
-DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png"); ) |
+DEF_GM( return new DownsampleBitmapTextGM(72, SkPaint::kHigh_FilterLevel); ) |
+DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, SkPaint::kHigh_FilterLevel); ) |
+DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", SkPaint::kHigh_FilterLevel); ) |
+ |
+DEF_GM( return new DownsampleBitmapTextGM(72, SkPaint::kMedium_FilterLevel); ) |
+DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, SkPaint::kMedium_FilterLevel); ) |
+DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", SkPaint::kMedium_FilterLevel); ) |
+ |
+DEF_GM( return new DownsampleBitmapTextGM(72, SkPaint::kLow_FilterLevel); ) |
+DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, SkPaint::kLow_FilterLevel); ) |
+DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", SkPaint::kLow_FilterLevel); ) |
+ |
+DEF_GM( return new DownsampleBitmapTextGM(72, SkPaint::kNone_FilterLevel); ) |
+DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, SkPaint::kNone_FilterLevel); ) |
+DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", SkPaint::kNone_FilterLevel); ) |