Canvas_drawBitmapRect.cpp 1.4 KB

1234567891011121314151617181920212223242526
  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
  5. REG_FIDDLE(Canvas_drawBitmapRect, 256, 64, false, 0) {
  6. void 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->drawBitmapRect(bitmap, SkRect::MakeWH(8, 8), SkRect::MakeWH(32, 32), &paint);
  23. canvas->translate(48, 0);
  24. }
  25. }
  26. } // END FIDDLE