diff options
author | John Hoford <hoford@google.com> | 2013-04-24 13:15:47 -0700 |
---|---|---|
committer | John Hoford <hoford@google.com> | 2013-04-24 13:29:04 -0700 |
commit | ac1e8231b96042b3fdfef504dd03ba04c71c5fd0 (patch) | |
tree | 225bd177f45fd1e06f31c31e9f7fec1da63fcb0f /src/com | |
parent | 678dbdec82968816a40df237965b5c9e9b44fa82 (diff) | |
download | android_packages_apps_Snap-ac1e8231b96042b3fdfef504dd03ba04c71c5fd0.tar.gz android_packages_apps_Snap-ac1e8231b96042b3fdfef504dd03ba04c71c5fd0.tar.bz2 android_packages_apps_Snap-ac1e8231b96042b3fdfef504dd03ba04c71c5fd0.zip |
Fix Curves
bug:8710572
Change-Id: I49a8ea124be59de6d246ae0f9fb16f04fe447af7
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/gallery3d/filtershow/filters/FilterCurvesRepresentation.java | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/FilterCurvesRepresentation.java b/src/com/android/gallery3d/filtershow/filters/FilterCurvesRepresentation.java index 3511c67af..cbcae4b37 100644 --- a/src/com/android/gallery3d/filtershow/filters/FilterCurvesRepresentation.java +++ b/src/com/android/gallery3d/filtershow/filters/FilterCurvesRepresentation.java @@ -1,5 +1,7 @@ package com.android.gallery3d.filtershow.filters; +import android.util.Log; + import com.android.gallery3d.R; import com.android.gallery3d.filtershow.ui.Spline; @@ -7,6 +9,8 @@ import com.android.gallery3d.filtershow.ui.Spline; * TODO: Insert description here. (generated by hoford) */ public class FilterCurvesRepresentation extends FilterRepresentation { + private static final String LOGTAG = "FilterCurvesRepresentation"; + private Spline[] mSplines = new Spline[4]; public FilterCurvesRepresentation() { @@ -20,10 +24,33 @@ public class FilterCurvesRepresentation extends FilterRepresentation { setShowParameterValue(false); setShowUtilityPanel(true); setSupportsPartialRendering(true); - for (int i = 0; i < mSplines.length; i++) { - mSplines[i] = new Spline(); - mSplines[i].reset(); + reset(); + } + + @Override + public FilterRepresentation clone() throws CloneNotSupportedException { + FilterCurvesRepresentation rep = new FilterCurvesRepresentation(); + rep.useParametersFrom(this); + return rep; + } + + @Override + public void useParametersFrom(FilterRepresentation a) { + if (!(a instanceof FilterCurvesRepresentation)) { + Log.v(LOGTAG, "cannot use parameters from " + a); + return; + } + FilterCurvesRepresentation representation = (FilterCurvesRepresentation) a; + Spline[] spline = new Spline[4]; + for (int i = 0; i < spline.length; i++) { + Spline sp = representation.mSplines[i]; + if (sp != null) { + spline[i] = new Spline(sp); + } else { + spline[i] = new Spline(); + } } + mSplines = spline; } public boolean isNil() { |