From e9c01a40a2f0f0da195dfbb2909aaee5c005d1c6 Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Mon, 6 Apr 2015 10:47:23 -0700 Subject: [PATCH] Fix path clipping in VectorDrawable bug:19946683 Change-Id: I773957df7459eb72ea5d505afb0daac08239ecbf --- graphics/java/android/graphics/drawable/VectorDrawable.java | 2 +- libs/hwui/Snapshot.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/graphics/java/android/graphics/drawable/VectorDrawable.java b/graphics/java/android/graphics/drawable/VectorDrawable.java index b82768255ca0f..ff258dd42481f 100644 --- a/graphics/java/android/graphics/drawable/VectorDrawable.java +++ b/graphics/java/android/graphics/drawable/VectorDrawable.java @@ -966,7 +966,7 @@ public class VectorDrawable extends Drawable { if (vPath.isClipPath()) { mRenderPath.addPath(path, mFinalPathMatrix); - canvas.clipPath(mRenderPath, Region.Op.REPLACE); + canvas.clipPath(mRenderPath); } else { VFullPath fullPath = (VFullPath) vPath; if (fullPath.mTrimPathStart != 0.0f || fullPath.mTrimPathEnd != 1.0f) { diff --git a/libs/hwui/Snapshot.cpp b/libs/hwui/Snapshot.cpp index 597d95ce79738..9e7faee69fba5 100644 --- a/libs/hwui/Snapshot.cpp +++ b/libs/hwui/Snapshot.cpp @@ -203,8 +203,9 @@ void Snapshot::dump() const { ALOGD("Snapshot %p, flags %x, prev %p, height %d, ignored %d, hasComplexClip %d", this, flags, previous.get(), getViewportHeight(), isIgnored(), !mClipArea->isSimple()); const Rect& clipRect(mClipArea->getClipRect()); - ALOGD(" ClipRect %.1f %.1f %.1f %.1f", - clipRect.left, clipRect.top, clipRect.right, clipRect.bottom); + ALOGD(" ClipRect %.1f %.1f %.1f %.1f, clip simple %d", + clipRect.left, clipRect.top, clipRect.right, clipRect.bottom, mClipArea->isSimple()); + ALOGD(" Transform (at %p):", transform); transform->dump(); }