• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // 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.
3 #include "tools/fiddle/examples.h"
4 // HASH=f4365ef332f51f7fd25040e0771ba9a2
5 REG_FIDDLE(Matrix_dirtyMatrixTypeCache, 256, 256, true, 0) {
draw(SkCanvas * canvas)6 void draw(SkCanvas* canvas) {
7     SkMatrix matrix;
8     matrix.setIdentity();
9     SkDebugf("with identity matrix: x = %g\n", matrix.mapXY(24, 42).fX);
10     SkScalar& skewRef = matrix[SkMatrix::kMSkewX];
11     skewRef = 0;
12     SkDebugf("after skew x mod:     x = %g\n", matrix.mapXY(24, 42).fX);
13     skewRef = 1;
14     SkDebugf("after 2nd skew x mod: x = %g\n", matrix.mapXY(24, 42).fX);
15     matrix.dirtyMatrixTypeCache();
16     SkDebugf("after dirty cache:    x = %g\n", matrix.mapXY(24, 42).fX);
17 }
18 }  // END FIDDLE
19