blob: 1460039233a434e1c662e660a413f07b988ceeb9 [file] [log] [blame]
Hal Canary87515122019-03-15 14:22:51 -04001// 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.
Mike Kleinc0bd9f92019-04-23 12:05:21 -05003#include "tools/fiddle/examples.h"
Hal Canary87515122019-03-15 14:22:51 -04004// HASH=de9be45255e48fae445c916a41063abc
Hal Canarya7181e7c2019-03-18 16:06:34 -04005REG_FIDDLE(Bitmap_swap, 256, 256, true, 0) {
Hal Canary87515122019-03-15 14:22:51 -04006void draw(SkCanvas* canvas) {
7 auto debugster = [](const char* prefix, const SkBitmap& b) -> void {
8 const char* alphas[] = {"Unknown", "Opaque", "Premul", "Unpremul"};
9 const char* colors[] = {"Unknown", "Alpha_8", "RGB_565", "ARGB_4444", "RGBA_8888", "RGB_888x",
10 "BGRA_8888", "RGBA_1010102", "RGB_101010x", "Gray_8", "RGBA_F16Norm",
11 "RGBA_F16"};
12 SkDebugf("%s width:%d height:%d colorType:k%s_SkColorType alphaType:k%s_SkAlphaType\n",
13 prefix, b.width(), b.height(), colors[b.colorType()], alphas[b.alphaType()]);
14 };
15 SkBitmap one, two;
16 if (!one.tryAllocPixels(
17 SkImageInfo::Make(1, 1, kRGBA_8888_SkColorType, kOpaque_SkAlphaType))) {
18 return;
19 }
20 if (!two.tryAllocPixels(
21 SkImageInfo::Make(2, 2, kBGRA_8888_SkColorType, kPremul_SkAlphaType))) {
22 return;
23 }
24 for (int index = 0; index < 2; ++index) {
25 debugster("one", one);
26 debugster("two", two);
27 one.swap(two);
28 }
29}
30} // END FIDDLE