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) {
auto debugster = [](const char* label, SkRegion::Iterator& iter, bool addRewind) -> void {
if (addRewind) {
bool success = iter.rewind();
SkDebugf("%14s rewind success=%s\n", label, success ? "true" : "false");
}
auto r = iter.rect();
SkDebugf("%14s rect={%d,%d,%d,%d}\n", label, r.fLeft, r.fTop, r.fRight, r.fBottom);
};
SkRegion::Iterator iter;
debugster("empty iter", iter, true);
SkRegion region;
iter.reset(region);
debugster("empty region", iter, true);
region.setRect({1, 2, 3, 4});
iter.reset(region);
debugster("after set rect", iter, false);
debugster("after rewind", iter, true);
}