summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java')
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java
index ba49a8fcb..b7e5c2ae6 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java
@@ -17,6 +17,7 @@
package com.android.gallery3d.filtershow.filters;
import android.graphics.Bitmap;
+import android.util.Log;
import com.android.gallery3d.R;
import com.android.gallery3d.filtershow.ui.Spline;
@@ -24,7 +25,7 @@ import com.android.gallery3d.filtershow.ui.Spline;
public class ImageFilterCurves extends ImageFilter {
private static final String LOGTAG = "ImageFilterCurves";
- private final Spline[] mSplines = new Spline[4];
+ private Spline[] mSplines = new Spline[4];
public ImageFilterCurves() {
mName = "Curves";
@@ -57,8 +58,14 @@ public class ImageFilterCurves extends ImageFilter {
}
@Override
+ public boolean equals(ImageFilter filter) {
+ return same(filter);
+ }
+
+ @Override
public ImageFilter clone() throws CloneNotSupportedException {
ImageFilterCurves filter = (ImageFilterCurves) super.clone();
+ filter.mSplines = new Spline[4];
for (int i = 0; i < 4; i++) {
if (mSplines[i] != null) {
filter.setSpline(mSplines[i], i);
@@ -141,6 +148,7 @@ public class ImageFilterCurves extends ImageFilter {
return mSplines[splineIndex];
}
+ @Override
public void reset() {
Spline spline = new Spline();
@@ -151,4 +159,14 @@ public class ImageFilterCurves extends ImageFilter {
mSplines[i] = new Spline(spline);
}
}
+
+ @Override
+ public void useFilter(ImageFilter a) {
+ ImageFilterCurves c = (ImageFilterCurves) a;
+ for (int i = 0; i < 4; i++) {
+ if (c.mSplines[i] != null) {
+ setSpline(c.mSplines[i], i);
+ }
+ }
+ }
}