xref: /aosp_15_r20/external/skia/docs/examples/Canvas_clipRect_3.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_clipRect_3, 256, 133, false, 0) {
draw(SkCanvas * canvas)5 void draw(SkCanvas* canvas) {
6     canvas->clear(SK_ColorWHITE);
7     SkPaint paint;
8     paint.setAntiAlias(true);
9     paint.setColor(0x8055aaff);
10     SkRect clipRect = { 0, 0, 87.4f, 87.4f };
11     for (auto alias: { false, true } ) {
12         canvas->save();
13         canvas->clipRect(clipRect, SkClipOp::kIntersect, alias);
14         canvas->drawCircle(67, 67, 60, paint);
15         canvas->restore();
16         canvas->save();
17         canvas->clipRect(clipRect, SkClipOp::kDifference, alias);
18         canvas->drawCircle(67, 67, 60, paint);
19         canvas->restore();
20         canvas->translate(120, 0);
21     }
22 }
23 }  // END FIDDLE
24