Flutter Engine
The Flutter Engine
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.
4REG_FIDDLE(Canvas_destructor, 256, 256, false, 0) {
5void draw(SkCanvas* canvas) {
7 bitmap.allocPixels(SkImageInfo::MakeN32Premul(200, 200));
8 {
9 SkCanvas offscreen(bitmap);
11 SkFont font(fontMgr->matchFamilyStyle(nullptr, {}), 100);
12 offscreen.drawString("ABC", 20, 160, font, paint);
13 SkRect layerBounds = SkRect::MakeXYWH(32, 32, 192, 192);
14 offscreen.saveLayerAlpha(&layerBounds, 128);
15 offscreen.clear(SK_ColorWHITE);
16 offscreen.drawString("DEF", 20, 160, font, paint);
17 }
18 canvas->drawImage(bitmap.asImage(), 0, 0);
19}
20} // END FIDDLE
REG_FIDDLE(Canvas_destructor, 256, 256, false, 0)
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
Definition: SkFontMgr.cpp:109
Definition: SkFont.h:35
const Paint & paint
Definition: color_source.cc:38
sk_sp< SkFontMgr > fontMgr
Definition: examples.cpp:32
Definition: bitmap.py:1
font
Font Metadata and Metrics.
static SkImageInfo MakeN32Premul(int width, int height)
static constexpr SkRect MakeXYWH(float x, float y, float w, float h)
Definition: SkRect.h:659