Simplify ClipArea to prefer Rect args
Change-Id: I8af83d01dc5dd8009a0cd235dd8b59dab61d8560
diff --git a/libs/hwui/CanvasState.cpp b/libs/hwui/CanvasState.cpp
index 6a6cc42..cf76e6b 100644
--- a/libs/hwui/CanvasState.cpp
+++ b/libs/hwui/CanvasState.cpp
@@ -192,7 +192,7 @@
///////////////////////////////////////////////////////////////////////////////
bool CanvasState::clipRect(float left, float top, float right, float bottom, SkRegion::Op op) {
- mSnapshot->clip(left, top, right, bottom, op);
+ mSnapshot->clip(Rect(left, top, right, bottom), op);
mDirtyClip = true;
return !mSnapshot->clipIsEmpty();
}
diff --git a/libs/hwui/ClipArea.cpp b/libs/hwui/ClipArea.cpp
index fd6f0b5..5f166ca 100644
--- a/libs/hwui/ClipArea.cpp
+++ b/libs/hwui/ClipArea.cpp
@@ -201,12 +201,6 @@
mClipRegion.setEmpty();
}
-void ClipArea::clipRectWithTransform(float left, float top, float right,
- float bottom, const mat4* transform, SkRegion::Op op) {
- Rect r(left, top, right, bottom);
- clipRectWithTransform(r, transform, op);
-}
-
void ClipArea::clipRectWithTransform(const Rect& r, const mat4* transform,
SkRegion::Op op) {
switch (mMode) {
@@ -274,13 +268,6 @@
rectangleListModeClipRectWithTransform(r, transform, op);
}
-void ClipArea::rectangleModeClipRectWithTransform(float left, float top,
- float right, float bottom, const mat4* transform, SkRegion::Op op) {
- Rect r(left, top, right, bottom);
- rectangleModeClipRectWithTransform(r, transform, op);
- mClipRect = mRectangleList.calculateBounds();
-}
-
/*
* RectangleList mode implementation
*/
@@ -303,12 +290,6 @@
}
}
-void ClipArea::rectangleListModeClipRectWithTransform(float left, float top,
- float right, float bottom, const mat4* transform, SkRegion::Op op) {
- Rect r(left, top, right, bottom);
- rectangleListModeClipRectWithTransform(r, transform, op);
-}
-
/*
* Region mode implementation
*/
@@ -336,11 +317,6 @@
onClipRegionUpdated();
}
-void ClipArea::regionModeClipRectWithTransform(float left, float top,
- float right, float bottom, const mat4* transform, SkRegion::Op op) {
- regionModeClipRectWithTransform(Rect(left, top, right, bottom), transform, op);
-}
-
void ClipArea::onClipRegionUpdated() {
if (!mClipRegion.isEmpty()) {
mClipRect.set(mClipRegion.getBounds());
diff --git a/libs/hwui/ClipArea.h b/libs/hwui/ClipArea.h
index f88fd92..268301c 100644
--- a/libs/hwui/ClipArea.h
+++ b/libs/hwui/ClipArea.h
@@ -98,8 +98,6 @@
void setEmpty();
void setClip(float left, float top, float right, float bottom);
- void clipRectWithTransform(float left, float top, float right, float bottom,
- const mat4* transform, SkRegion::Op op);
void clipRectWithTransform(const Rect& r, const mat4* transform,
SkRegion::Op op);
void clipRegion(const SkRegion& region, SkRegion::Op op);
@@ -133,12 +131,8 @@
private:
void enterRectangleMode();
void rectangleModeClipRectWithTransform(const Rect& r, const mat4* transform, SkRegion::Op op);
- void rectangleModeClipRectWithTransform(float left, float top, float right,
- float bottom, const mat4* transform, SkRegion::Op op);
void enterRectangleListMode();
- void rectangleListModeClipRectWithTransform(float left, float top,
- float right, float bottom, const mat4* transform, SkRegion::Op op);
void rectangleListModeClipRectWithTransform(const Rect& r,
const mat4* transform, SkRegion::Op op);
@@ -147,8 +141,6 @@
void enterRegionMode();
void regionModeClipRectWithTransform(const Rect& r, const mat4* transform,
SkRegion::Op op);
- void regionModeClipRectWithTransform(float left, float top, float right,
- float bottom, const mat4* transform, SkRegion::Op op);
void ensureClipRegion();
void onClipRegionUpdated();
diff --git a/libs/hwui/Snapshot.cpp b/libs/hwui/Snapshot.cpp
index 2f535bb..c6d8977 100644
--- a/libs/hwui/Snapshot.cpp
+++ b/libs/hwui/Snapshot.cpp
@@ -88,9 +88,9 @@
mClipArea->clipRegion(region, op);
}
-void Snapshot::clip(float left, float top, float right, float bottom, SkRegion::Op op) {
+void Snapshot::clip(const Rect& localClip, SkRegion::Op op) {
flags |= Snapshot::kFlagClipSet;
- mClipArea->clipRectWithTransform(left, top, right, bottom, transform, op);
+ mClipArea->clipRectWithTransform(localClip, transform, op);
}
void Snapshot::clipPath(const SkPath& path, SkRegion::Op op) {
diff --git a/libs/hwui/Snapshot.h b/libs/hwui/Snapshot.h
index 4789b33..194aa57 100644
--- a/libs/hwui/Snapshot.h
+++ b/libs/hwui/Snapshot.h
@@ -124,7 +124,7 @@
* the specified operation. The specified rectangle is transformed
* by this snapshot's trasnformation.
*/
- void clip(float left, float top, float right, float bottom, SkRegion::Op op);
+ void clip(const Rect& localClip, SkRegion::Op op);
/**
* Modifies the current clip with the new clip rectangle and
diff --git a/libs/hwui/tests/common/TestUtils.h b/libs/hwui/tests/common/TestUtils.h
index d37fad4..ac14fc8 100644
--- a/libs/hwui/tests/common/TestUtils.h
+++ b/libs/hwui/tests/common/TestUtils.h
@@ -98,7 +98,7 @@
static std::unique_ptr<Snapshot> makeSnapshot(const Matrix4& transform, const Rect& clip) {
std::unique_ptr<Snapshot> snapshot(new Snapshot());
- snapshot->clip(clip.left, clip.top, clip.right, clip.bottom, SkRegion::kReplace_Op);
+ snapshot->clip(clip, SkRegion::kReplace_Op); // store clip first, so it isn't transformed
*(snapshot->transform) = transform;
return snapshot;
}