Flutter Engine
The Flutter Engine
Pixmap_addr_2.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.
4REG_FIDDLE(Pixmap_addr_2, 256, 256, true, 0) {
5void draw(SkCanvas* canvas) {
6 const int w = 4;
7 const int h = 4;
8 std::vector<SkPMColor> storage;
9 storage.resize(w * h);
10 SkPixmap pixmap(SkImageInfo::MakeN32(w, h, kPremul_SkAlphaType), &storage.front(), w * 4);
11 SkDebugf("pixmap.addr(1, 2) %c= &storage[1 + 2 * w]\n",
12 pixmap.addr(1, 2) == &storage[1 + 2 * w] ? '=' : '!');
13}
14} // END FIDDLE
REG_FIDDLE(Pixmap_addr_2, 256, 256, true, 0)
@ kPremul_SkAlphaType
pixel components are premultiplied by alpha
Definition: SkAlphaType.h:29
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
const void * addr() const
Definition: SkPixmap.h:153
SkScalar w
SkScalar h
static SkImageInfo MakeN32(int width, int height, SkAlphaType at)