aboutsummaryrefslogtreecommitdiffhomepage
path: root/samplecode
diff options
context:
space:
mode:
authorGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-02-04 16:03:51 +0000
committerGravatar reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-02-04 16:03:51 +0000
commit6fcd28ba1de83b72f4c8343ccec27d26c127de32 (patch)
tree79a6c40b3ca386d33cd50e3b2fdcd467f7f5d99a /samplecode
parent28183b4043a969df12592e8dd47cf95b80755284 (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')
-rw-r--r--samplecode/SampleFilterFuzz.cpp20
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);