xref: /aosp_15_r20/external/skia/docs/examples/Canvas_concat.cpp (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
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 REG_FIDDLE(Canvas_concat, 256, 256, false, 0) {
draw(SkCanvas * canvas)5 void draw(SkCanvas* canvas) {
6     SkPaint paint;
7     SkFont font(fontMgr->matchFamilyStyle(nullptr, {}), 80);
8     font.setScaleX(.3f);
9     SkRect rect[2] = {{ 10, 20, 90, 110 }, { 40, 130, 140, 180 }};
10     canvas->drawRect(rect[0], paint);
11     canvas->drawRect(rect[1], paint);
12     paint.setColor(SK_ColorWHITE);
13     canvas->drawString("Here", rect[0].fLeft + 10, rect[0].fBottom - 10, font, paint);
14     canvas->concat(SkMatrix::RectToRect(rect[0], rect[1]));
15     canvas->drawString("There", rect[0].fLeft + 10, rect[0].fBottom - 10, font, paint);
16 }
17 }  // END FIDDLE
18