From 0c9b1a8d05ea6ec5dfae0ead854304673d94d2c2 Mon Sep 17 00:00:00 2001 From: reed Date: Tue, 17 Mar 2015 17:44:06 -0700 Subject: add kGray_8_SkColorType patch from issue 1014783003 at patchset 60001 (http://crrev.com/1014783003#ps60001) BUG=skia: TBR= Review URL: https://codereview.chromium.org/1010343002 --- gm/filterbitmap.cpp | 49 ++++++++++++++++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 17 deletions(-) (limited to 'gm') diff --git a/gm/filterbitmap.cpp b/gm/filterbitmap.cpp index 7028012f45..c76a70a8ea 100644 --- a/gm/filterbitmap.cpp +++ b/gm/filterbitmap.cpp @@ -138,12 +138,13 @@ class FilterBitmapTextGM: public FilterBitmapGM { }; class FilterBitmapCheckerboardGM: public FilterBitmapGM { - public: - FilterBitmapCheckerboardGM(int size, int num_checks) - : fSize(size), fNumChecks(num_checks) - { - fName.printf("filterbitmap_checkerboard_%d_%d", fSize, fNumChecks); - } +public: + FilterBitmapCheckerboardGM(int size, int num_checks, bool convertToG8 = false) + : fSize(size), fNumChecks(num_checks), fConvertToG8(convertToG8) + { + fName.printf("filterbitmap_checkerboard_%d_%d%s", + fSize, fNumChecks, convertToG8 ? "_g8" : ""); + } protected: int fSize; @@ -167,20 +168,26 @@ class FilterBitmapCheckerboardGM: public FilterBitmapGM { } } } + if (fConvertToG8) { + SkBitmap tmp; + fBM.copyTo(&tmp, kGray_8_SkColorType); + fBM = tmp; + } } - private: - typedef FilterBitmapGM INHERITED; +private: + const bool fConvertToG8; + typedef FilterBitmapGM INHERITED; }; class FilterBitmapImageGM: public FilterBitmapGM { - public: - FilterBitmapImageGM(const char filename[]) - : fFilename(filename) - { - fName.printf("filterbitmap_image_%s", filename); - } +public: + FilterBitmapImageGM(const char filename[], bool convertToG8 = false) + : fFilename(filename), fConvertToG8(convertToG8) + { + fName.printf("filterbitmap_image_%s%s", filename, convertToG8 ? "_g8" : ""); + } - protected: +protected: SkString fFilename; int fSize; @@ -204,9 +211,15 @@ class FilterBitmapImageGM: public FilterBitmapGM { *(fBM.getAddr32(0,0)) = 0xFF0000FF; // red == bad } fSize = fBM.height(); + if (fConvertToG8) { + SkBitmap tmp; + fBM.copyTo(&tmp, kGray_8_SkColorType); + fBM = tmp; + } } - private: - typedef FilterBitmapGM INHERITED; +private: + const bool fConvertToG8; + typedef FilterBitmapGM INHERITED; }; ////////////////////////////////////////////////////////////////////////////// @@ -216,12 +229,14 @@ DEF_GM( return new FilterBitmapTextGM(7); ) DEF_GM( return new FilterBitmapTextGM(10); ) DEF_GM( return new FilterBitmapCheckerboardGM(4,4); ) DEF_GM( return new FilterBitmapCheckerboardGM(32,32); ) +DEF_GM( return new FilterBitmapCheckerboardGM(32,32, true); ) DEF_GM( return new FilterBitmapCheckerboardGM(32,8); ) DEF_GM( return new FilterBitmapCheckerboardGM(32,2); ) DEF_GM( return new FilterBitmapCheckerboardGM(192,192); ) DEF_GM( return new FilterBitmapImageGM("mandrill_16.png"); ) DEF_GM( return new FilterBitmapImageGM("mandrill_32.png"); ) DEF_GM( return new FilterBitmapImageGM("mandrill_64.png"); ) +DEF_GM( return new FilterBitmapImageGM("mandrill_64.png", true); ) DEF_GM( return new FilterBitmapImageGM("mandrill_128.png"); ) DEF_GM( return new FilterBitmapImageGM("mandrill_256.png"); ) DEF_GM( return new FilterBitmapImageGM("mandrill_512.png"); ) -- cgit v1.2.3