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
18
void draw(SkCanvas* canvas) {
std::default_random_engine rng;
const auto randUint = [&rng](uint32_t min, uint32_t max) -> uint32_t {
return std::uniform_int_distribution<uint32_t>(min, max)(rng);
};
SkBitmap bitmap;
const int width = 8;
const int height = 8;
uint32_t pixels[width * height];
for (unsigned x = 0; x < width * height; ++x) {
pixels[x] = randUint(0, UINT_MAX);
}
SkImageInfo info = SkImageInfo::MakeN32(width, height, kUnpremul_SkAlphaType);
if (bitmap.installPixels(info, pixels, info.minRowBytes())) {
canvas->scale(32, 32);
canvas->drawImage(bitmap.asImage(), 0, 0);
}
}