summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorztenghui <ztenghui@google.com>2013-07-16 17:07:23 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-07-16 17:07:23 +0000
commit6d13e422b2ca68dce029c96e3b8789bae990a88c (patch)
tree9e64c41431bac1b6a512b51ffe0b92366e955550
parent4e7deb5f4f56ca570858c10c5614ca8083f4b6ed (diff)
parent9448b353e8cb1936fb62262b8c4962cfd3765bab (diff)
downloadandroid_packages_apps_Snap-6d13e422b2ca68dce029c96e3b8789bae990a88c.zip
android_packages_apps_Snap-6d13e422b2ca68dce029c96e3b8789bae990a88c.tar.gz
android_packages_apps_Snap-6d13e422b2ca68dce029c96e3b8789bae990a88c.tar.bz2
Merge "Add equality check into FilterCurveRep" into gb-ub-photos-carlsbad
-rw-r--r--src/com/android/gallery3d/filtershow/filters/FilterCurvesRepresentation.java23
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/MasterImage.java4
-rw-r--r--src/com/android/gallery3d/filtershow/ui/ControlPoint.java17
-rw-r--r--src/com/android/gallery3d/filtershow/ui/Spline.java22
4 files changed, 64 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterCurvesRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterCurvesRepresentation.java
index a71aa88..569ead9 100644
--- a/src/com/android/gallery3d/filtershow/filters/FilterCurvesRepresentation.java
+++ b/src/com/android/gallery3d/filtershow/filters/FilterCurvesRepresentation.java
@@ -58,6 +58,7 @@ public class FilterCurvesRepresentation extends FilterRepresentation {
mSplines = spline;
}
+ @Override
public boolean isNil() {
for (int i = 0; i < MAX_SPLINE_NUMBER; i++) {
if (getSpline(i) != null && !getSpline(i).isOriginal()) {
@@ -67,6 +68,27 @@ public class FilterCurvesRepresentation extends FilterRepresentation {
return true;
}
+ @Override
+ public boolean equals(FilterRepresentation representation) {
+ if (!super.equals(representation)) {
+ return false;
+ }
+
+ if (!(representation instanceof FilterCurvesRepresentation)) {
+ return false;
+ } else {
+ FilterCurvesRepresentation curve =
+ (FilterCurvesRepresentation) representation;
+ for (int i = 0; i < MAX_SPLINE_NUMBER; i++) {
+ if (!getSpline(i).sameValues(curve.getSpline(i))) {
+ return false;
+ }
+ }
+ }
+ // Every spline matches, therefore they are the same.
+ return true;
+ }
+
public void reset() {
Spline spline = new Spline();
@@ -81,6 +103,7 @@ public class FilterCurvesRepresentation extends FilterRepresentation {
public void setSpline(int splineIndex, Spline s) {
mSplines[splineIndex] = s;
}
+
public Spline getSpline(int splineIndex) {
return mSplines[splineIndex];
}
diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
index 08d8c45..ed09fb1 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
@@ -198,7 +198,7 @@ public class MasterImage implements RenderingRequestCaller {
return false;
}
int sw = SMALL_BITMAP_DIM;
- int sh = (int) (sw * (float) mOriginalBitmapLarge.getHeight() / (float) mOriginalBitmapLarge
+ int sh = (int) (sw * (float) mOriginalBitmapLarge.getHeight() / mOriginalBitmapLarge
.getWidth());
mOriginalBitmapSmall = Bitmap.createScaledBitmap(mOriginalBitmapLarge, sw, sh, true);
mZoomOrientation = mOrientation;
@@ -325,7 +325,7 @@ public class MasterImage implements RenderingRequestCaller {
if (loadedPreset == null) {
return mPreset.hasModifications();
} else {
- return !mPreset.equals(getLoadedPreset());
+ return !mPreset.equals(loadedPreset);
}
}
}
diff --git a/src/com/android/gallery3d/filtershow/ui/ControlPoint.java b/src/com/android/gallery3d/filtershow/ui/ControlPoint.java
index 73589d3..a95364b 100644
--- a/src/com/android/gallery3d/filtershow/ui/ControlPoint.java
+++ b/src/com/android/gallery3d/filtershow/ui/ControlPoint.java
@@ -30,6 +30,23 @@ public class ControlPoint implements Comparable {
y = point.y;
}
+ public boolean sameValues(ControlPoint other) {
+ if (this == other) {
+ return true;
+ }
+ if (other == null) {
+ return false;
+ }
+
+ if (Float.floatToIntBits(x) != Float.floatToIntBits(other.x)) {
+ return false;
+ }
+ if (Float.floatToIntBits(y) != Float.floatToIntBits(other.y)) {
+ return false;
+ }
+ return true;
+ }
+
public ControlPoint copy() {
return new ControlPoint(x, y);
}
diff --git a/src/com/android/gallery3d/filtershow/ui/Spline.java b/src/com/android/gallery3d/filtershow/ui/Spline.java
index cadf2fd..5b931a9 100644
--- a/src/com/android/gallery3d/filtershow/ui/Spline.java
+++ b/src/com/android/gallery3d/filtershow/ui/Spline.java
@@ -83,6 +83,28 @@ public class Spline {
return Color.WHITE;
}
+ public boolean sameValues(Spline other) {
+ if (this == other) {
+ return true;
+ }
+ if (other == null) {
+ return false;
+ }
+
+ if (getNbPoints() != other.getNbPoints()) {
+ return false;
+ }
+
+ for (int i = 0; i < getNbPoints(); i++) {
+ ControlPoint p = mPoints.elementAt(i);
+ ControlPoint otherPoint = other.mPoints.elementAt(i);
+ if (!p.sameValues(otherPoint)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
private void didMovePoint(ControlPoint point) {
mCurrentControlPoint = point;
}