Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
ImageInfo_MakeS32.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=de418ccb42471d1589508ef3955f8c53
5REG_FIDDLE(ImageInfo_MakeS32, 256, 128, false, 0) {
6void draw(SkCanvas* canvas) {
7 const int width = 256;
8 const int height = 32;
10 SkColor gradColors[] = { 0xFFAA0055, 0xFF11CC88 };
11 SkPoint gradPoints[] = { { 0, 0 }, { width, 0 } };
12 SkPaint gradPaint;
13 gradPaint.setShader(SkGradientShader::MakeLinear(gradPoints, gradColors, nullptr,
14 std::size(gradColors), SkTileMode::kClamp));
17 SkCanvas offScreen(bitmap);
18 offScreen.drawRect(SkRect::MakeWH(width, height), gradPaint);
19 canvas->drawImage(bitmap.asImage(), 0, 0);
21 SkCanvas sRGBOffscreen(bitmap);
22 sRGBOffscreen.drawRect(SkRect::MakeWH(width, height), gradPaint);
23 canvas->drawImage(bitmap.asImage(), 0, 48);
24 SkBitmap noColorSpaceBitmap;
26 noColorSpaceBitmap.setPixels(bitmap.getAddr(0, 0));
27 canvas->drawImage(noColorSpaceBitmap.asImage(), 0, 96);
28}
29} // 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
uint32_t SkColor
Definition SkColor.h:37
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition aaclip.cpp:27
sk_sp< SkImage > asImage() const
Definition SkBitmap.cpp:645
void setPixels(void *pixels)
Definition SkBitmap.cpp:207
bool setInfo(const SkImageInfo &imageInfo, size_t rowBytes=0)
Definition SkBitmap.cpp:114
void drawRect(const SkRect &rect, const SkPaint &paint)
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
Definition SkCanvas.h:1528
static sk_sp< SkShader > MakeLinear(const SkPoint pts[2], const SkColor colors[], const SkScalar pos[], int count, SkTileMode mode, uint32_t flags=0, const SkMatrix *localMatrix=nullptr)
void setShader(sk_sp< SkShader > shader)
#define REG_FIDDLE(NAME, W, H, TEXT, I)
Definition examples.h:60
int32_t height
int32_t width
static SkImageInfo MakeN32Premul(int width, int height)
static SkImageInfo MakeS32(int width, int height, SkAlphaType at)
static SkImageInfo MakeN32(int width, int height, SkAlphaType at)
static constexpr SkRect MakeWH(float w, float h)
Definition SkRect.h:609