Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Canvas_destructor.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=b7bc91ff16c9b9351b2a127f35394b82
5REG_FIDDLE(Canvas_destructor, 256, 256, false, 0) {
6void draw(SkCanvas* canvas) {
8 bitmap.allocPixels(SkImageInfo::MakeN32Premul(200, 200));
9 {
10 SkCanvas offscreen(bitmap);
12 SkFont font(fontMgr->matchFamilyStyle(nullptr, {}), 100);
13 offscreen.drawString("ABC", 20, 160, font, paint);
14 SkRect layerBounds = SkRect::MakeXYWH(32, 32, 192, 192);
15 offscreen.saveLayerAlpha(&layerBounds, 128);
16 offscreen.clear(SK_ColorWHITE);
17 offscreen.drawString("DEF", 20, 160, font, paint);
18 }
19 canvas->drawImage(bitmap.asImage(), 0, 0);
20}
21} // END FIDDLE
constexpr SkColor SK_ColorWHITE
Definition SkColor.h:122
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition aaclip.cpp:27
int saveLayerAlpha(const SkRect *bounds, U8CPU alpha)
Definition SkCanvas.h:661
void clear(SkColor color)
Definition SkCanvas.h:1199
void drawString(const char str[], SkScalar x, SkScalar y, const SkFont &font, const SkPaint &paint)
Definition SkCanvas.h:1803
void drawImage(const SkImage *image, SkScalar left, SkScalar top)
Definition SkCanvas.h:1528
sk_sp< SkTypeface > matchFamilyStyle(const char familyName[], const SkFontStyle &) const
const Paint & paint
sk_sp< SkFontMgr > fontMgr
Definition examples.cpp:32
#define REG_FIDDLE(NAME, W, H, TEXT, I)
Definition examples.h:60
static SkImageInfo MakeN32Premul(int width, int height)
static constexpr SkRect MakeXYWH(float x, float y, float w, float h)
Definition SkRect.h:659