diff options
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java | 20 |
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); + } + } + } } |