Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Surface_readPixels_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.
4// HASH=484d60dab5d846bf28c7a4d48892324a
5REG_FIDDLE(Surface_readPixels_2, 256, 64, false, 0) {
6void draw(SkCanvas* canvas) {
8 auto surfCanvas = surf->getCanvas();
9 surfCanvas->clear(SK_ColorRED);
11 surfCanvas->drawOval({4, 8, 58, 54}, paint);
13 sk_sp<SkData> data(SkData::MakeUninitialized(info.minRowBytes() * info.height()));
14 sk_bzero(data->writable_data(), info.minRowBytes() * info.height());
15 for (int x : { 32, -32 } ) {
16 for (int y : { 32, -32 } ) {
17 surf->readPixels(info, data->writable_data(), info.minRowBytes(), x, y);
18 }
19 }
21 canvas->drawImage(image, 0, 0);
22}
23} // END FIDDLE
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
Definition DM.cpp:213
@ 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
constexpr SkColor SK_ColorRED
Definition SkColor.h:126
static void sk_bzero(void *buffer, size_t size)
Definition SkMalloc.h:105
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition aaclip.cpp:27
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
Definition SkCanvas.h:1528
static sk_sp< SkData > MakeUninitialized(size_t length)
Definition SkData.cpp:116
const Paint & paint
sk_sp< SkImage > image
Definition examples.cpp:29
#define REG_FIDDLE(NAME, W, H, TEXT, I)
Definition examples.h:60
double y
double x
SK_API sk_sp< SkImage > RasterFromData(const SkImageInfo &info, sk_sp< SkData > pixels, size_t rowBytes)
SK_API sk_sp< SkSurface > Raster(const SkImageInfo &imageInfo, size_t rowBytes, const SkSurfaceProps *surfaceProps)
static SkImageInfo MakeN32Premul(int width, int height)
static SkImageInfo Make(int width, int height, SkColorType ct, SkAlphaType at)