Remove Path based outline clipping
Change-Id: Ic5ccd98a7517b46e768e53d6b0c8fdcda305fb2c
diff --git a/libs/hwui/RenderProperties.h b/libs/hwui/RenderProperties.h
index 6fc8bce..c0e3ce7 100644
--- a/libs/hwui/RenderProperties.h
+++ b/libs/hwui/RenderProperties.h
@@ -437,19 +437,17 @@
ANDROID_API void updateMatrix();
- ANDROID_API void updateClipPath();
-
- // signals that mComputedFields.mClipPath is up to date, and should be used for clipping
bool hasClippingPath() const {
- return mPrimitiveFields.mOutline.willClip() || mPrimitiveFields.mRevealClip.willClip();
+ return mPrimitiveFields.mRevealClip.willClip();
}
const SkPath* getClippingPath() const {
- return hasClippingPath() ? mComputedFields.mClipPath : NULL;
+ return mPrimitiveFields.mRevealClip.getPath();
}
SkRegion::Op getClippingPathOp() const {
- return mComputedFields.mClipPathOp;
+ return mPrimitiveFields.mRevealClip.isInverseClip()
+ ? SkRegion::kDifference_Op : SkRegion::kIntersect_Op;
}
Outline& mutableOutline() {
@@ -505,8 +503,6 @@
SkMatrix* mTransformMatrix;
Sk3DView mTransformCamera;
- SkPath* mClipPath; // TODO: remove this, create new ops for efficient/special case clipping
- SkRegion::Op mClipPathOp;
} mComputedFields;
};