diff options
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java deleted file mode 100644 index 61b60d2e3..000000000 --- a/src/com/android/gallery3d/filtershow/filters/ImageFilterCurves.java +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.gallery3d.filtershow.filters; - -import android.graphics.Bitmap; - -import com.android.gallery3d.filtershow.imageshow.Spline; - -public class ImageFilterCurves extends ImageFilter { - - private static final String LOGTAG = "ImageFilterCurves"; - FilterCurvesRepresentation mParameters = new FilterCurvesRepresentation(); - - @Override - public FilterRepresentation getDefaultRepresentation() { - return new FilterCurvesRepresentation(); - } - - @Override - public void useRepresentation(FilterRepresentation representation) { - FilterCurvesRepresentation parameters = (FilterCurvesRepresentation) representation; - mParameters = parameters; - } - - public ImageFilterCurves() { - mName = "Curves"; - reset(); - } - - public void populateArray(int[] array, int curveIndex) { - Spline spline = mParameters.getSpline(curveIndex); - if (spline == null) { - return; - } - float[] curve = spline.getAppliedCurve(); - for (int i = 0; i < 256; i++) { - array[i] = (int) (curve[i] * 255); - } - } - - @Override - public Bitmap apply(Bitmap bitmap, float scaleFactor, int quality) { - if (!mParameters.getSpline(Spline.RGB).isOriginal()) { - int[] rgbGradient = new int[256]; - populateArray(rgbGradient, Spline.RGB); - nativeApplyGradientFilter(bitmap, bitmap.getWidth(), bitmap.getHeight(), - rgbGradient, rgbGradient, rgbGradient); - } - - int[] redGradient = null; - if (!mParameters.getSpline(Spline.RED).isOriginal()) { - redGradient = new int[256]; - populateArray(redGradient, Spline.RED); - } - int[] greenGradient = null; - if (!mParameters.getSpline(Spline.GREEN).isOriginal()) { - greenGradient = new int[256]; - populateArray(greenGradient, Spline.GREEN); - } - int[] blueGradient = null; - if (!mParameters.getSpline(Spline.BLUE).isOriginal()) { - blueGradient = new int[256]; - populateArray(blueGradient, Spline.BLUE); - } - - nativeApplyGradientFilter(bitmap, bitmap.getWidth(), bitmap.getHeight(), - redGradient, greenGradient, blueGradient); - return bitmap; - } - - public void setSpline(Spline spline, int splineIndex) { - mParameters.setSpline(splineIndex, new Spline(spline)); - } - - public Spline getSpline(int splineIndex) { - return mParameters.getSpline(splineIndex); - } - - 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++) { - mParameters.setSpline(i, new Spline(spline)); - } - } - - public void useFilter(ImageFilter a) { - ImageFilterCurves c = (ImageFilterCurves) a; - for (int i = 0; i < 4; i++) { - if (c.mParameters.getSpline(i) != null) { - setSpline(c.mParameters.getSpline(i), i); - } - } - } -} |