diff options
author | 2014-02-04 16:03:51 +0000 | |
---|---|---|
committer | 2014-02-04 16:03:51 +0000 | |
commit | 6fcd28ba1de83b72f4c8343ccec27d26c127de32 (patch) | |
tree | 79a6c40b3ca386d33cd50e3b2fdcd467f7f5d99a /samplecode/SampleFilterFuzz.cpp | |
parent | 28183b4043a969df12592e8dd47cf95b80755284 (diff) |
fix samplefuzz, fix some 32/64bit warnings
git-svn-id: http://skia.googlecode.com/svn/trunk@13303 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode/SampleFilterFuzz.cpp')
-rw-r--r-- | samplecode/SampleFilterFuzz.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/samplecode/SampleFilterFuzz.cpp b/samplecode/SampleFilterFuzz.cpp index adf78dcc6e..f77f3b814d 100644 --- a/samplecode/SampleFilterFuzz.cpp +++ b/samplecode/SampleFilterFuzz.cpp @@ -128,9 +128,27 @@ static void make_g_bitmap(SkBitmap& bitmap) { SkIntToScalar(kBitmapSize/4), paint); } +static bool valid_for_raster_canvas(const SkBitmap& bm) { + SkImageInfo info; + if (!bm.asImageInfo(&info)) { + return false; + } + switch (info.fColorType) { + case kAlpha_8_SkColorType: + case kRGB_565_SkColorType: + return true; + case kPMColor_SkColorType: + return kPremul_SkAlphaType == info.fAlphaType || + kOpaque_SkAlphaType == info.fAlphaType; + default: + break; + } + return false; +} + static void make_checkerboard_bitmap(SkBitmap& bitmap) { bitmap.setConfig((SkBitmap::Config)R(SkBitmap::kConfigCount), kBitmapSize, kBitmapSize); - while (!bitmap.allocPixels()) { + while (valid_for_raster_canvas(bitmap) && !bitmap.allocPixels()) { bitmap.setConfig((SkBitmap::Config)R(SkBitmap::kConfigCount), kBitmapSize, kBitmapSize); } SkBitmapDevice device(bitmap); |