5 {
10 bitmap.allocPixels(imageInfo);
14 auto pack1010102 = [](
unsigned r,
unsigned g,
unsigned b,
unsigned a) -> uint32_t {
15 return (r << 0) | (g << 10) | (
b << 20) | (
a << 30);
16 };
17 uint32_t redBits[] = { pack1010102(0x3FF, 0x000, 0x000, 0x3),
18 pack1010102(0x2ff, 0x000, 0x000, 0x3),
19 pack1010102(0x1ff, 0x000, 0x000, 0x3),
20 pack1010102(0x0ff, 0x000, 0x000, 0x3) };
21 uint32_t blueBits[] = { pack1010102(0x000, 0x000, 0x3FF, 0x3),
22 pack1010102(0x000, 0x000, 0x2ff, 0x3),
23 pack1010102(0x000, 0x000, 0x1ff, 0x3),
24 pack1010102(0x000, 0x000, 0x0ff, 0x3) };
27 }
31 }
32}
33}
@ kOpaque_SkAlphaType
pixel is opaque
@ kRGBA_1010102_SkColorType
10 bits for red, green, blue; 2 bits for alpha; in 32-bit word
constexpr SkColor SK_ColorGREEN
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
void scale(SkScalar sx, SkScalar sy)
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
size_t minRowBytes() const
static SkImageInfo Make(int width, int height, SkColorType ct, SkAlphaType at)