1// Copyright 2019 Google LLC. 2// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. 3#include "tools/fiddle/examples.h" 4// HASH=7d04932f2a259cc70d6e45cd25a6feb6 5REG_FIDDLE(Canvas_drawBitmapRect, 256, 64, false, 0) { 6void draw(SkCanvas* canvas) { 7 uint8_t pixels[][8] = { { 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00}, 8 { 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00}, 9 { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00}, 10 { 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF}, 11 { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}, 12 { 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00}, 13 { 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00}, 14 { 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00} }; 15 SkBitmap bitmap; 16 bitmap.installPixels(SkImageInfo::MakeA8(8, 8), 17 (void*) pixels, sizeof(pixels[0])); 18 SkPaint paint; 19 paint.setMaskFilter(SkMaskFilter::MakeBlur(kSolid_SkBlurStyle, 6)); 20 for (auto color : { SK_ColorRED, SK_ColorBLUE, 0xFF007F00} ) { 21 paint.setColor(color); 22 canvas->drawImageRect(bitmap.asImage(), 23 SkRect::MakeWH(8, 8), SkRect::MakeWH(32, 32), 24 SkSamplingOptions(), &paint, 25 SkCanvas::kStrict_SrcRectConstraint); 26 canvas->translate(48, 0); 27 } 28} 29} // END FIDDLE 30