Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Canvas_quickReject_2.cpp
Go to the documentation of this file.
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.
4// HASH=56dcd14f943aea6f7d7aafe0de7e6c25
5REG_FIDDLE(Canvas_quickReject_2, 256, 256, true, 0) {
6void draw(SkCanvas* canvas) {
7 SkPoint testPoints[] = {{30, 30}, {120, 30}, {120, 129} };
8 SkPoint clipPoints[] = {{30, 130}, {120, 130}, {120, 230} };
9 SkPath testPath, clipPath;
10 testPath.addPoly(testPoints, std::size(testPoints), true);
11 clipPath.addPoly(clipPoints, std::size(clipPoints), true);
12 canvas->save();
13 canvas->clipPath(clipPath);
14 SkDebugf("quickReject %s\n", canvas->quickReject(testPath) ? "true" : "false");
15 canvas->restore();
16 canvas->rotate(10);
17 canvas->clipPath(clipPath);
18 SkDebugf("quickReject %s\n", canvas->quickReject(testPath) ? "true" : "false");
19}
20} // END FIDDLE
void SK_SPI SkDebugf(const char format[],...) SK_PRINTF_LIKE(1
static void draw(SkCanvas *canvas, SkRect &target, int x, int y)
Definition aaclip.cpp:27
void restore()
Definition SkCanvas.cpp:465
void rotate(SkScalar degrees)
void clipPath(const SkPath &path, SkClipOp op, bool doAntiAlias)
int save()
Definition SkCanvas.cpp:451
bool quickReject(const SkRect &rect) const
SkPath & addPoly(const SkPoint pts[], int count, bool close)
Definition SkPath.cpp:880
#define REG_FIDDLE(NAME, W, H, TEXT, I)
Definition examples.h:60