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
16
constexpr SkColor TRANSPARENT_BLACK = SkColorSetARGB(0, 0, 0, 0);
constexpr SkColor TRANSPARENT_WHITE = SkColorSetARGB(0, 255, 255, 255);
constexpr SkColor OPAQUE_BLACK = SkColorSetARGB(255, 0, 0, 0);
void draw(SkCanvas* canvas) {
canvas->clear(TRANSPARENT_BLACK);
SkPaint p;
p.setAntiAlias(true);
p.setStyle(SkPaint::kFill_Style);
SkColor colors[2] = {TRANSPARENT_WHITE, OPAQUE_BLACK};
SkScalar positions[2] = {0.f, 1.f};
SkPoint points[2] = {SkPoint{20.f, 100.f}, SkPoint{180.f, 100.f}};
const auto shader = SkGradientShader::MakeLinear(points, colors, positions, 2, SkTileMode::kClamp, 0, nullptr);
p.setShader(shader);
canvas->drawRect(SkRect{ 20.f, 20.f, 180.f, 180.f }, p);
}