316 {
319
321
324
330
332 canvas->drawString(
"Columns should match", 5.f, 15.f,
font,
SkPaint());
333 canvas->translate(0.f, 10.f);
334
336 for (
auto m : {m1, m2}) {
337 canvas->save();
338 for (bool canvasTransform : {false, true}) {
339 canvas->save();
340 canvas->clipRect(imageRect);
341
343 if (canvasTransform) {
345 finalFilter = imageFilter;
346 } else {
348 }
349
351 paint.setImageFilter(std::move(finalFilter));
352 canvas->drawPaint(
paint);
353
354 canvas->restore();
356 }
357 canvas->restore();
358
360 }
361}
static sk_sp< SkImageFilter > Image(sk_sp< SkImage > image, const SkRect &srcRect, const SkRect &dstRect, const SkSamplingOptions &sampling)
static sk_sp< SkImageFilter > MatrixTransform(const SkMatrix &matrix, const SkSamplingOptions &sampling, sk_sp< SkImageFilter > input)
static SkM44 Rotate(SkV3 axis, SkScalar radians)
static SkM44 RectToRect(const SkRect &src, const SkRect &dst)
static SkM44 Translate(SkScalar x, SkScalar y, SkScalar z=0)
static SkM44 Perspective(float near, float far, float angle)
static SkM44 Scale(SkScalar x, SkScalar y, SkScalar z=1)
sk_sp< const SkImage > image
SkSamplingOptions sampling
font
Font Metadata and Metrics.
static SkRect MakeIWH(int w, int h)