Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Bitmap_swap.cpp
Go to the documentation of this file.
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.
4// HASH=de9be45255e48fae445c916a41063abc
5REG_FIDDLE(Bitmap_swap, 256, 256, true, 0) {
6void 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(
18 return;
19 }
20 if (!two.tryAllocPixels(
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
@ kOpaque_SkAlphaType
pixel is opaque
Definition SkAlphaType.h:28
@ kPremul_SkAlphaType
pixel components are premultiplied by alpha
Definition SkAlphaType.h:29
@ kBGRA_8888_SkColorType
pixel with 8 bits for blue, green, red, alpha; in 32-bit word
Definition SkColorType.h:26
@ kRGBA_8888_SkColorType
pixel with 8 bits for red, green, blue, alpha; in 32-bit word
Definition SkColorType.h:24
void SK_SPI SkDebugf(const char format[],...) SK_PRINTF_LIKE(1
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition aaclip.cpp:27
bool tryAllocPixels(const SkImageInfo &info, size_t rowBytes)
Definition SkBitmap.cpp:271
void swap(SkBitmap &other)
Definition SkBitmap.cpp:86
#define REG_FIDDLE(NAME, W, H, TEXT, I)
Definition examples.h:60
static bool b
static SkImageInfo Make(int width, int height, SkColorType ct, SkAlphaType at)