Options
These globals are now defined:
double duration; // The requested duration of the animation. double frame; // A value in [0, 1] of where we are in the animation.
This global is now defined:
GrBackendRenderTarget backEndRenderTarget;
GrBackendTexture backEndTextureRenderTarget;
Optional source image
These globals are now defined:
SkBitmap source; sk_sp<SkImage> image; GrBackendTexture backEndTexture; // GPU Only.
Note:
Adding comments with SK_FOLD_START and SK_FOLD_END creates foldable code
blocks.
These blocks will be folded by default and are useful for highlighting specific lines of code.
You can also use the keyboard shortcuts Ctrl+S and Ctrl+E in the code editor to set them.
These blocks will be folded by default and are useful for highlighting specific lines of code.
You can also use the keyboard shortcuts Ctrl+S and Ctrl+E in the code editor to set them.
xxxxxxxxxx
19
void draw(SkCanvas* canvas) {
SkPictureRecorder recorder;
SkCanvas* buffer = recorder.beginRecording({0, 0, 512, 512});
buffer->clear(SK_ColorRED);
SkPaint circle;
circle.setColor(SK_ColorBLUE);
circle.setAntiAlias(true);
buffer->drawCircle(256, 256, 256, circle);
sk_sp<SkPicture> picture = recorder.finishRecordingAsPicture();
SkPaint texture;
texture.setShader(picture->makeShader(SkTileMode::kClamp, SkTileMode::kClamp, nullptr));
texture.setFilterQuality(kMedium_SkFilterQuality);
SkPoint pts[] = {{0, 0}, {256, 0}, {0, 256}};
SkPoint cds[] = {{0, 0}, {512, 0}, {0, 512}};
auto vertices = SkVertices::MakeCopy(SkVertices::kTriangles_VertexMode, 3, pts, cds, nullptr);
canvas->drawVertices(vertices.get(), SkBlendMode::kSrc, texture);
}