| /* |
| * Copyright 2015 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| // This is an example of the translation unit that needs to be |
| // assembled by the fiddler program to compile into a fiddle: an |
| // implementation of the GetDrawOptions() and draw() functions. |
| |
| #include "include/gpu/ganesh/SkSurfaceGanesh.h" |
| #include "tools/fiddle/fiddle_main.h" |
| #include "tools/gpu/ManagedBackendTexture.h" |
| |
| DrawOptions GetDrawOptions() { |
| // path *should* be absolute. |
| static const char path[] = "resources/images/color_wheel.png"; |
| return DrawOptions(256, |
| 256, |
| true, |
| true, |
| true, |
| true, |
| true, |
| false, |
| false, |
| path, |
| skgpu::Mipmapped::kYes, |
| 64, |
| 64, |
| 0, |
| skgpu::Mipmapped::kYes); |
| } |
| void draw(SkCanvas* canvas) { |
| canvas->clear(SK_ColorWHITE); |
| SkMatrix matrix; |
| matrix.setScale(0.75f, 0.75f); |
| matrix.preRotate(frame * 30.0f * duration); // If an animation, rotate at 30 deg/s. |
| SkPaint paint; |
| paint.setShader(image->makeShader(SkTileMode::kRepeat, SkTileMode::kRepeat, |
| SkSamplingOptions(), matrix)); |
| canvas->drawPaint(paint); |
| SkDebugf("This is text output: %d", 2); |
| |
| if (auto dContext = GrAsDirectContext(canvas->recordingContext())) { |
| sk_sp<SkImage> tmp = SkImages::BorrowTextureFrom(dContext, |
| backEndTexture, |
| kTopLeft_GrSurfaceOrigin, |
| kRGBA_8888_SkColorType, |
| kOpaque_SkAlphaType, |
| nullptr); |
| |
| constexpr int kSampleCnt = 0; |
| sk_sp<SkSurface> tmp2 = SkSurfaces::WrapBackendTexture(dContext, |
| backEndTextureRenderTarget, |
| kTopLeft_GrSurfaceOrigin, |
| kSampleCnt, |
| kRGBA_8888_SkColorType, |
| nullptr, |
| nullptr); |
| |
| // Note: this surface should only be renderable (i.e., not textureable) |
| sk_sp<SkSurface> tmp3 = SkSurfaces::WrapBackendRenderTarget(dContext, |
| backEndRenderTarget, |
| kTopLeft_GrSurfaceOrigin, |
| kRGBA_8888_SkColorType, |
| nullptr, |
| nullptr); |
| } |
| } |