blob: 8b640fce33451ce99aa6b3fa4d8043b30bd76f17 [file] [log] [blame]
Hal Canary87515122019-03-15 14:22:51 -04001// Copyright 2019 Google LLC.
2// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
Mike Kleinc0bd9f92019-04-23 12:05:21 -05003#include "tools/fiddle/examples.h"
Hal Canary87515122019-03-15 14:22:51 -04004// HASH=ba19b36df8cd78586f3dff54e2d4c093
Hal Canarya7181e7c2019-03-18 16:06:34 -04005REG_FIDDLE(Matrix_TypeMask, 256, 256, true, 0) {
Hal Canary87515122019-03-15 14:22:51 -04006void draw(SkCanvas* canvas) {
7 auto debugster = [](const char* prefix, const SkMatrix& matrix) -> void {
8 SkString typeMask;
9 typeMask += SkMatrix::kIdentity_Mask == matrix.getType() ? "kIdentity_Mask " : "";
10 typeMask += SkMatrix::kTranslate_Mask & matrix.getType() ? "kTranslate_Mask " : "";
11 typeMask += SkMatrix::kScale_Mask & matrix.getType() ? "kScale_Mask " : "";
12 typeMask += SkMatrix::kAffine_Mask & matrix.getType() ? "kAffine_Mask " : "";
13 typeMask += SkMatrix::kPerspective_Mask & matrix.getType() ? "kPerspective_Mask" : "";
14 SkDebugf("after %s: %s\n", prefix, typeMask.c_str());
15 };
16SkMatrix matrix;
17matrix.reset();
18debugster("reset", matrix);
19matrix.postTranslate(1, 0);
20debugster("postTranslate", matrix);
21matrix.postScale(2, 1);
22debugster("postScale", matrix);
23matrix.postRotate(45);
24debugster("postScale", matrix);
25SkPoint polys[][4] = {{{0, 0}, {0, 1}, {1, 1}, {1, 0}}, {{0, 0}, {0, 1}, {2, 1}, {1, 0}}};
26matrix.setPolyToPoly(polys[0], polys[1], 4);
27debugster("setPolyToPoly", matrix);
28}
29} // END FIDDLE