From 6fcd28ba1de83b72f4c8343ccec27d26c127de32 Mon Sep 17 00:00:00 2001 From: "reed@google.com" Date: Tue, 4 Feb 2014 16:03:51 +0000 Subject: fix samplefuzz, fix some 32/64bit warnings git-svn-id: http://skia.googlecode.com/svn/trunk@13303 2bbb7eff-a529-9590-31e7-b0007b416f81 --- samplecode/SampleFilterFuzz.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'samplecode') 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); -- cgit v1.2.3