| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "gm.h" | 8 #include "gm.h" |
| 9 | 9 |
| 10 #include "Resources.h" | 10 #include "Resources.h" |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 | 32 |
| 33 static void setTypeface(SkPaint* paint, const char name[], SkTypeface::Style sty
le) { | 33 static void setTypeface(SkPaint* paint, const char name[], SkTypeface::Style sty
le) { |
| 34 sk_tool_utils::set_portable_typeface(paint, name, style); | 34 sk_tool_utils::set_portable_typeface(paint, name, style); |
| 35 } | 35 } |
| 36 | 36 |
| 37 class DownsampleBitmapGM : public skiagm::GM { | 37 class DownsampleBitmapGM : public skiagm::GM { |
| 38 public: | 38 public: |
| 39 SkBitmap fBM; | 39 SkBitmap fBM; |
| 40 SkString fName; | 40 SkString fName; |
| 41 bool fBitmapMade; | 41 bool fBitmapMade; |
| 42 SkPaint::FilterLevel fFilterLevel; | 42 SkFilterQuality fFilterQuality; |
| 43 | 43 |
| 44 DownsampleBitmapGM(SkPaint::FilterLevel filterLevel) | 44 DownsampleBitmapGM(SkFilterQuality filterQuality) |
| 45 : fFilterLevel(filterLevel) | 45 : fFilterQuality(filterQuality) |
| 46 { | 46 { |
| 47 this->setBGColor(0xFFDDDDDD); | 47 this->setBGColor(0xFFDDDDDD); |
| 48 fBitmapMade = false; | 48 fBitmapMade = false; |
| 49 } | 49 } |
| 50 | 50 |
| 51 const char* filterLevelToString() { | 51 const char* filterQualityToString() { |
| 52 static const char *filterLevelNames[] = { | 52 static const char *filterQualityNames[] = { |
| 53 "none", "low", "medium", "high" | 53 "none", "low", "medium", "high" |
| 54 }; | 54 }; |
| 55 return filterLevelNames[fFilterLevel]; | 55 return filterQualityNames[fFilterQuality]; |
| 56 } | 56 } |
| 57 | 57 |
| 58 protected: | 58 protected: |
| 59 | 59 |
| 60 SkString onShortName() SK_OVERRIDE { | 60 SkString onShortName() SK_OVERRIDE { |
| 61 return fName; | 61 return fName; |
| 62 } | 62 } |
| 63 | 63 |
| 64 SkISize onISize() SK_OVERRIDE { | 64 SkISize onISize() SK_OVERRIDE { |
| 65 make_bitmap_wrapper(); | 65 make_bitmap_wrapper(); |
| (...skipping 14 matching lines...) Expand all Loading... |
| 80 | 80 |
| 81 int curY = 0; | 81 int curY = 0; |
| 82 int curHeight; | 82 int curHeight; |
| 83 float curScale = 1; | 83 float curScale = 1; |
| 84 do { | 84 do { |
| 85 | 85 |
| 86 SkMatrix matrix; | 86 SkMatrix matrix; |
| 87 matrix.setScale( curScale, curScale ); | 87 matrix.setScale( curScale, curScale ); |
| 88 | 88 |
| 89 SkPaint paint; | 89 SkPaint paint; |
| 90 paint.setFilterLevel(fFilterLevel); | 90 paint.setFilterQuality(fFilterQuality); |
| 91 | 91 |
| 92 canvas->save(); | 92 canvas->save(); |
| 93 canvas->translate(0, (SkScalar)curY); | 93 canvas->translate(0, (SkScalar)curY); |
| 94 canvas->concat(matrix); | 94 canvas->concat(matrix); |
| 95 canvas->drawBitmap(fBM, 0, 0, &paint); | 95 canvas->drawBitmap(fBM, 0, 0, &paint); |
| 96 canvas->restore(); | 96 canvas->restore(); |
| 97 | 97 |
| 98 curHeight = (int) (fBM.height() * curScale + 2); | 98 curHeight = (int) (fBM.height() * curScale + 2); |
| 99 curY += curHeight; | 99 curY += curHeight; |
| 100 curScale *= 0.75f; | 100 curScale *= 0.75f; |
| 101 } while (curHeight >= 2 && curY < 4*fBM.height()); | 101 } while (curHeight >= 2 && curY < 4*fBM.height()); |
| 102 } | 102 } |
| 103 | 103 |
| 104 private: | 104 private: |
| 105 typedef skiagm::GM INHERITED; | 105 typedef skiagm::GM INHERITED; |
| 106 }; | 106 }; |
| 107 | 107 |
| 108 class DownsampleBitmapTextGM: public DownsampleBitmapGM { | 108 class DownsampleBitmapTextGM: public DownsampleBitmapGM { |
| 109 public: | 109 public: |
| 110 DownsampleBitmapTextGM(float textSize, SkPaint::FilterLevel filterLevel) | 110 DownsampleBitmapTextGM(float textSize, SkFilterQuality filterQuality) |
| 111 : INHERITED(filterLevel), fTextSize(textSize) | 111 : INHERITED(filterQuality), fTextSize(textSize) |
| 112 { | 112 { |
| 113 fName.printf("downsamplebitmap_text_%s_%.2fpt", this->filterLevelToS
tring(), fTextSize); | 113 fName.printf("downsamplebitmap_text_%s_%.2fpt", this->filterQualityT
oString(), fTextSize); |
| 114 } | 114 } |
| 115 | 115 |
| 116 protected: | 116 protected: |
| 117 float fTextSize; | 117 float fTextSize; |
| 118 | 118 |
| 119 void make_bitmap() SK_OVERRIDE { | 119 void make_bitmap() SK_OVERRIDE { |
| 120 fBM.allocN32Pixels(int(fTextSize * 8), int(fTextSize * 6)); | 120 fBM.allocN32Pixels(int(fTextSize * 8), int(fTextSize * 6)); |
| 121 SkCanvas canvas(fBM); | 121 SkCanvas canvas(fBM); |
| 122 canvas.drawColor(SK_ColorWHITE); | 122 canvas.drawColor(SK_ColorWHITE); |
| 123 | 123 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 134 canvas.drawText("Hamburgefons", 12, fTextSize/2, 3.6f*fTextSize, paint
); | 134 canvas.drawText("Hamburgefons", 12, fTextSize/2, 3.6f*fTextSize, paint
); |
| 135 setTypeface(&paint, "Times", SkTypeface::kBoldItalic); | 135 setTypeface(&paint, "Times", SkTypeface::kBoldItalic); |
| 136 canvas.drawText("Hamburgefons", 12, fTextSize/2, 4.8f*fTextSize, paint
); | 136 canvas.drawText("Hamburgefons", 12, fTextSize/2, 4.8f*fTextSize, paint
); |
| 137 } | 137 } |
| 138 private: | 138 private: |
| 139 typedef DownsampleBitmapGM INHERITED; | 139 typedef DownsampleBitmapGM INHERITED; |
| 140 }; | 140 }; |
| 141 | 141 |
| 142 class DownsampleBitmapCheckerboardGM: public DownsampleBitmapGM { | 142 class DownsampleBitmapCheckerboardGM: public DownsampleBitmapGM { |
| 143 public: | 143 public: |
| 144 DownsampleBitmapCheckerboardGM(int size, int numChecks, SkPaint::FilterLev
el filterLevel) | 144 DownsampleBitmapCheckerboardGM(int size, int numChecks, SkFilterQuality fi
lterQuality) |
| 145 : INHERITED(filterLevel), fSize(size), fNumChecks(numChecks) | 145 : INHERITED(filterQuality), fSize(size), fNumChecks(numChecks) |
| 146 { | 146 { |
| 147 fName.printf("downsamplebitmap_checkerboard_%s_%d_%d", this->filterL
evelToString(), fSize, fNumChecks); | 147 fName.printf("downsamplebitmap_checkerboard_%s_%d_%d", this->filterQ
ualityToString(), fSize, fNumChecks); |
| 148 } | 148 } |
| 149 | 149 |
| 150 protected: | 150 protected: |
| 151 int fSize; | 151 int fSize; |
| 152 int fNumChecks; | 152 int fNumChecks; |
| 153 | 153 |
| 154 void make_bitmap() SK_OVERRIDE { | 154 void make_bitmap() SK_OVERRIDE { |
| 155 make_checker(&fBM, fSize, fNumChecks); | 155 make_checker(&fBM, fSize, fNumChecks); |
| 156 } | 156 } |
| 157 private: | 157 private: |
| 158 typedef DownsampleBitmapGM INHERITED; | 158 typedef DownsampleBitmapGM INHERITED; |
| 159 }; | 159 }; |
| 160 | 160 |
| 161 class DownsampleBitmapImageGM: public DownsampleBitmapGM { | 161 class DownsampleBitmapImageGM: public DownsampleBitmapGM { |
| 162 public: | 162 public: |
| 163 DownsampleBitmapImageGM(const char filename[], SkPaint::FilterLevel filter
Level) | 163 DownsampleBitmapImageGM(const char filename[], SkFilterQuality filterQuali
ty) |
| 164 : INHERITED(filterLevel), fFilename(filename) | 164 : INHERITED(filterQuality), fFilename(filename) |
| 165 { | 165 { |
| 166 fName.printf("downsamplebitmap_image_%s_%s", this->filterLevelToStri
ng(), filename); | 166 fName.printf("downsamplebitmap_image_%s_%s", this->filterQualityToSt
ring(), filename); |
| 167 } | 167 } |
| 168 | 168 |
| 169 protected: | 169 protected: |
| 170 SkString fFilename; | 170 SkString fFilename; |
| 171 int fSize; | 171 int fSize; |
| 172 | 172 |
| 173 void make_bitmap() SK_OVERRIDE { | 173 void make_bitmap() SK_OVERRIDE { |
| 174 SkImageDecoder* codec = NULL; | 174 SkImageDecoder* codec = NULL; |
| 175 SkString resourcePath = GetResourcePath(fFilename.c_str()); | 175 SkString resourcePath = GetResourcePath(fFilename.c_str()); |
| 176 SkFILEStream stream(resourcePath.c_str()); | 176 SkFILEStream stream(resourcePath.c_str()); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 241 } | 241 } |
| 242 } | 242 } |
| 243 | 243 |
| 244 private: | 244 private: |
| 245 typedef skiagm::GM INHERITED; | 245 typedef skiagm::GM INHERITED; |
| 246 }; | 246 }; |
| 247 DEF_GM( return new ShowMipLevels; ) | 247 DEF_GM( return new ShowMipLevels; ) |
| 248 | 248 |
| 249 ////////////////////////////////////////////////////////////////////////////// | 249 ////////////////////////////////////////////////////////////////////////////// |
| 250 | 250 |
| 251 DEF_GM( return new DownsampleBitmapTextGM(72, SkPaint::kHigh_FilterLevel); ) | 251 DEF_GM( return new DownsampleBitmapTextGM(72, kHigh_SkFilterQuality); ) |
| 252 DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, SkPaint::kHigh_Filter
Level); ) | 252 DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, kHigh_SkFilterQuality
); ) |
| 253 DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", SkPaint::kHigh_Fi
lterLevel); ) | 253 DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", kHigh_SkFilterQua
lity); ) |
| 254 DEF_GM( return new DownsampleBitmapImageGM("mandrill_132x132_12x12.astc", | 254 DEF_GM( return new DownsampleBitmapImageGM("mandrill_132x132_12x12.astc", |
| 255 SkPaint::kHigh_FilterLevel); ) | 255 kHigh_SkFilterQuality); ) |
| 256 | 256 |
| 257 DEF_GM( return new DownsampleBitmapTextGM(72, SkPaint::kMedium_FilterLevel); ) | 257 DEF_GM( return new DownsampleBitmapTextGM(72, kMedium_SkFilterQuality); ) |
| 258 DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, SkPaint::kMedium_Filt
erLevel); ) | 258 DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, kMedium_SkFilterQuali
ty); ) |
| 259 DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", SkPaint::kMedium_
FilterLevel); ) | 259 DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", kMedium_SkFilterQ
uality); ) |
| 260 DEF_GM( return new DownsampleBitmapImageGM("mandrill_132x132_12x12.astc", | 260 DEF_GM( return new DownsampleBitmapImageGM("mandrill_132x132_12x12.astc", |
| 261 SkPaint::kMedium_FilterLevel); ) | 261 kMedium_SkFilterQuality); ) |
| 262 | 262 |
| 263 DEF_GM( return new DownsampleBitmapTextGM(72, SkPaint::kLow_FilterLevel); ) | 263 DEF_GM( return new DownsampleBitmapTextGM(72, kLow_SkFilterQuality); ) |
| 264 DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, SkPaint::kLow_FilterL
evel); ) | 264 DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, kLow_SkFilterQuality)
; ) |
| 265 DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", SkPaint::kLow_Fil
terLevel); ) | 265 DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", kLow_SkFilterQual
ity); ) |
| 266 DEF_GM( return new DownsampleBitmapImageGM("mandrill_132x132_12x12.astc", | 266 DEF_GM( return new DownsampleBitmapImageGM("mandrill_132x132_12x12.astc", |
| 267 SkPaint::kLow_FilterLevel); ) | 267 kLow_SkFilterQuality); ) |
| 268 | 268 |
| 269 DEF_GM( return new DownsampleBitmapTextGM(72, SkPaint::kNone_FilterLevel); ) | 269 DEF_GM( return new DownsampleBitmapTextGM(72, kNone_SkFilterQuality); ) |
| 270 DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, SkPaint::kNone_Filter
Level); ) | 270 DEF_GM( return new DownsampleBitmapCheckerboardGM(512,256, kNone_SkFilterQuality
); ) |
| 271 DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", SkPaint::kNone_Fi
lterLevel); ) | 271 DEF_GM( return new DownsampleBitmapImageGM("mandrill_512.png", kNone_SkFilterQua
lity); ) |
| 272 DEF_GM( return new DownsampleBitmapImageGM("mandrill_132x132_12x12.astc", | 272 DEF_GM( return new DownsampleBitmapImageGM("mandrill_132x132_12x12.astc", |
| 273 SkPaint::kNone_FilterLevel); ) | 273 kNone_SkFilterQuality); ) |
| OLD | NEW |