clip paths in perspective (as needed)
Change-Id: I3807312a20e8c9699b9ede8706a6e47bb354480a Reviewed-on: https://skia-review.googlesource.com/c/skia/+/258243 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
This commit is contained in:
parent
c9ab3ff632
commit
76c5192db7
@ -956,6 +956,12 @@ void SkDraw::drawPath(const SkPath& origSrcPath, const SkPaint& origPaint,
|
|||||||
// avoid possibly allocating a new path in transform if we can
|
// avoid possibly allocating a new path in transform if we can
|
||||||
SkPath* devPathPtr = pathIsMutable ? pathPtr : tmpPath;
|
SkPath* devPathPtr = pathIsMutable ? pathPtr : tmpPath;
|
||||||
|
|
||||||
|
// pre-clip if needed right before we apply the CTM
|
||||||
|
SkPath perspectiveClippedPath;
|
||||||
|
if (SkPathPriv::PerspectiveClip(*pathPtr, *matrix, &perspectiveClippedPath)) {
|
||||||
|
pathPtr = &perspectiveClippedPath;
|
||||||
|
}
|
||||||
|
|
||||||
// transform the path into device space
|
// transform the path into device space
|
||||||
pathPtr->transform(*matrix, devPathPtr);
|
pathPtr->transform(*matrix, devPathPtr);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user