| // Copyright 2020 Google LLC. |
| // Use of this source code is governed by a BSD-style license that can be found in the LICENSE file. |
| #include "tools/fiddle/examples.h" |
| REG_FIDDLE(draw_pixel_array_nocopy, 256, 256, false, 5) { |
| constexpr int kWidth = 4; |
| constexpr int kHeight = 4; |
| static const uint32_t kPixels[kHeight * kWidth] = { |
| 0xFF000000, 0xFF005500, 0xFF00AA00, 0xFF00FF00, |
| 0xFF000055, 0xFF005555, 0xFF00AA55, 0xFF00FF55, |
| 0xFF0000AA, 0xFF0055AA, 0xFF00AAAA, 0xFF00FFAA, |
| 0xFF0000FF, 0xFF0055FF, 0xFF00AAFF, 0xFF00FFFF, |
| }; |
| |
| void draw(SkCanvas* canvas) { |
| SkPixmap pixmap(SkImageInfo::Make(kWidth, kHeight, kN32_SkColorType, kPremul_SkAlphaType), |
| kPixels, sizeof(uint32_t) * kWidth); |
| sk_sp<SkImage> img = SkImages::RasterFromPixmap(pixmap, nullptr, nullptr); |
| |
| canvas->scale(16, 16); |
| canvas->drawImage(img, 6, 6); |
| } |
| } // END FIDDLE |