Setup geometry xforms and propogation chain.

Bug: 8597538

Change-Id: I4a6b8ebcfadfd30850a73217742c740835761388
diff --git a/src/com/android/gallery3d/filtershow/crop/BoundedRect.java b/src/com/android/gallery3d/filtershow/crop/BoundedRect.java
index c2c768e..74ce7cd 100644
--- a/src/com/android/gallery3d/filtershow/crop/BoundedRect.java
+++ b/src/com/android/gallery3d/filtershow/crop/BoundedRect.java
@@ -53,6 +53,16 @@
             reconstrain();
     }
 
+    public void resetTo(float rotation, RectF outerRect, RectF innerRect) {
+        rot = rotation;
+        outer.set(outerRect);
+        inner.set(innerRect);
+        innerRotated = CropMath.getCornersFromRect(inner);
+        rotateInner();
+        if (!isConstrained())
+            reconstrain();
+    }
+
     /**
      * Sets inner, and re-constrains it to fit within the rotated bounding rect.
      */
diff --git a/src/com/android/gallery3d/filtershow/crop/CropObject.java b/src/com/android/gallery3d/filtershow/crop/CropObject.java
index 00baba9..08cf158 100644
--- a/src/com/android/gallery3d/filtershow/crop/CropObject.java
+++ b/src/com/android/gallery3d/filtershow/crop/CropObject.java
@@ -55,11 +55,15 @@
         mBoundedRect = new BoundedRect(outerAngle % 360, outerBound, innerBound);
     }
 
-    public void setToInnerBounds(RectF r) {
+    public void resetBoundsTo(RectF inner, RectF outer) {
+        mBoundedRect.resetTo(0, outer, inner);
+    }
+
+    public void getInnerBounds(RectF r) {
         mBoundedRect.setToInner(r);
     }
 
-    public void setToOuterBounds(RectF r) {
+    public void getOuterBounds(RectF r) {
         mBoundedRect.setToOuter(r);
     }