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.
3 #include "tools/fiddle/examples.h"
4 REG_FIDDLE(Bitmap_getAddr16, 256, 256, true, 3) {
draw(SkCanvas * canvas)5 void draw(SkCanvas* canvas) {
6 SkBitmap bitmap16;
7 SkImageInfo dstInfo = SkImageInfo::Make(source.width(), source.height(), kARGB_4444_SkColorType,
8 kPremul_SkAlphaType);
9 bitmap16.allocPixels(dstInfo);
10 if (source.readPixels(dstInfo, bitmap16.getPixels(), bitmap16.rowBytes(), 0, 0)) {
11 uint16_t* row0 = bitmap16.getAddr16(0, 0);
12 uint16_t* row1 = bitmap16.getAddr16(0, 1);
13 size_t interval = (row1 - row0) * bitmap16.bytesPerPixel();
14 SkDebugf("addr interval %c= rowBytes\n", interval == bitmap16.rowBytes() ? '=' : '!');
15 }
16 }
17 } // END FIDDLE
18