| package com.android.gallery3d.filtershow.filters; |
| |
| import android.util.Log; |
| |
| import com.android.gallery3d.R; |
| 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() { |
| super("Curves"); |
| setFilterClass(ImageFilterCurves.class); |
| setTextId(R.string.curvesRGB); |
| setButtonId(R.id.curvesButtonRGB); |
| setOverlayId(R.drawable.filtershow_button_colors_curve); |
| setEditorId(R.id.imageCurves); |
| setShowEditingControls(false); |
| setShowParameterValue(false); |
| setShowUtilityPanel(true); |
| setSupportsPartialRendering(true); |
| 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() { |
| for (int i = 0; i < 4; i++) { |
| if (getSpline(i) != null && !getSpline(i).isOriginal()) { |
| return false; |
| } |
| } |
| return true; |
| } |
| |
| public void reset() { |
| Spline spline = new Spline(); |
| |
| spline.addPoint(0.0f, 1.0f); |
| spline.addPoint(1.0f, 0.0f); |
| |
| for (int i = 0; i < 4; i++) { |
| mSplines[i] = new Spline(spline); |
| } |
| } |
| |
| public void setSpline(int splineIndex, Spline s) { |
| mSplines[splineIndex] = s; |
| } |
| public Spline getSpline(int splineIndex) { |
| return mSplines[splineIndex]; |
| } |
| } |