// Copyright 2019 Google LLC.
// Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
#include "tools/fiddle/examples.h"
REG_FIDDLE(Canvas_empty_constructor, 256, 256, true, 0) {
static void check_for_rotated_ctm(const SkCanvas* canvas) {
    const SkM44 matrix = canvas->getLocalToDevice();
    SkDebugf("ctm is identity = %s\n", matrix == SkM44() ? "true" : "false");
}

void draw(SkCanvas* canvas) {
    check_for_rotated_ctm(canvas);
    canvas->rotate(30);
    check_for_rotated_ctm(canvas);
    SkCanvas defaultCanvas;
    check_for_rotated_ctm(&defaultCanvas);
}
}  // END FIDDLE
