Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Surface_MakeRenderTarget_3.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=5c7629c15e9ac93f098335e72560fa2e
5REG_FIDDLE(Surface_MakeRenderTarget_3, 256, 256, false, 0) {
6void draw(SkCanvas* canvas) {
7 SkFont font(fontMgr->matchFamilyStyle(nullptr, {}), 32);
9 auto context = canvas->recordingContext();
10 if (!context) {
11 canvas->drawString("GPU only!", 20, 40, font, paint);
12 return;
13 }
15 auto gpuSurface(SkSurfaces::RenderTarget(context, skgpu::Budgeted::kNo, info));
16 auto surfaceCanvas = gpuSurface->getCanvas();
17 surfaceCanvas->clear(SK_ColorWHITE);
18 surfaceCanvas->drawString("GPU rocks!", 20, 40, font, paint);
19 sk_sp<SkImage> image(gpuSurface->makeImageSnapshot());
20 canvas->drawImage(image, 0, 0);
21}
22} // END FIDDLE
static void info(const char *fmt,...) SK_PRINTF_LIKE(1
Definition DM.cpp:213
@ kOpaque_SkAlphaType
pixel is opaque
Definition SkAlphaType.h:28
constexpr SkColor SK_ColorWHITE
Definition SkColor.h:122
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition aaclip.cpp:27
virtual GrRecordingContext * recordingContext() const
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
sk_sp< SkImage > image
Definition examples.cpp:29
#define REG_FIDDLE(NAME, W, H, TEXT, I)
Definition examples.h:60
SK_API sk_sp< SkSurface > RenderTarget(GrRecordingContext *context, skgpu::Budgeted budgeted, const SkImageInfo &imageInfo, int sampleCount, GrSurfaceOrigin surfaceOrigin, const SkSurfaceProps *surfaceProps, bool shouldCreateWithMips=false, bool isProtected=false)
static SkImageInfo MakeN32(int width, int height, SkAlphaType at)