summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/filters/ImageFilterGrad.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/filters/ImageFilterGrad.java')
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterGrad.java190
1 files changed, 0 insertions, 190 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterGrad.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterGrad.java
deleted file mode 100644
index cbdfaa623..000000000
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterGrad.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (C) 2013 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 android.graphics.Color;
-import android.graphics.Matrix;
-
-import com.android.gallery3d.R;
-import com.android.gallery3d.filtershow.pipeline.FilterEnvironment;
-
-import android.graphics.Bitmap;
-import android.graphics.Color;
-import android.graphics.Matrix;
-import android.support.v8.renderscript.Allocation;
-import android.support.v8.renderscript.Element;
-import android.support.v8.renderscript.RenderScript;
-import android.support.v8.renderscript.Script.LaunchOptions;
-import android.support.v8.renderscript.Type;
-import android.util.Log;
-
-import com.android.gallery3d.R;
-import com.android.gallery3d.filtershow.pipeline.FilterEnvironment;
-
-public class ImageFilterGrad extends ImageFilterRS {
- private static final String LOGTAG = "ImageFilterGrad";
- private ScriptC_grad mScript;
- private Bitmap mSourceBitmap;
- private static final int RADIUS_SCALE_FACTOR = 160;
-
- private static final int STRIP_SIZE = 64;
-
- FilterGradRepresentation mParameters = new FilterGradRepresentation();
- private Bitmap mOverlayBitmap;
-
- public ImageFilterGrad() {
- mName = "grad";
- }
-
- @Override
- public FilterRepresentation getDefaultRepresentation() {
- return new FilterGradRepresentation();
- }
-
- @Override
- public void useRepresentation(FilterRepresentation representation) {
- mParameters = (FilterGradRepresentation) representation;
- }
-
- @Override
- protected void resetAllocations() {
-
- }
-
- @Override
- public void resetScripts() {
- if (mScript != null) {
- mScript.destroy();
- mScript = null;
- }
- }
- @Override
- protected void createFilter(android.content.res.Resources res, float scaleFactor,
- int quality) {
- createFilter(res, scaleFactor, quality, getInPixelsAllocation());
- }
-
- @Override
- protected void createFilter(android.content.res.Resources res, float scaleFactor,
- int quality, Allocation in) {
- RenderScript rsCtx = getRenderScriptContext();
-
- Type.Builder tb_float = new Type.Builder(rsCtx, Element.F32_4(rsCtx));
- tb_float.setX(in.getType().getX());
- tb_float.setY(in.getType().getY());
- mScript = new ScriptC_grad(rsCtx, res, R.raw.grad);
- }
-
-
- private Bitmap getSourceBitmap() {
- assert (mSourceBitmap != null);
- return mSourceBitmap;
- }
-
- @Override
- public Bitmap apply(Bitmap bitmap, float scaleFactor, int quality) {
- if (SIMPLE_ICONS && FilterEnvironment.QUALITY_ICON == quality) {
- return bitmap;
- }
-
- mSourceBitmap = bitmap;
- Bitmap ret = super.apply(bitmap, scaleFactor, quality);
- mSourceBitmap = null;
-
- return ret;
- }
-
- @Override
- protected void bindScriptValues() {
- int width = getInPixelsAllocation().getType().getX();
- int height = getInPixelsAllocation().getType().getY();
- mScript.set_inputWidth(width);
- mScript.set_inputHeight(height);
- }
-
- @Override
- protected void runFilter() {
- int[] x1 = mParameters.getXPos1();
- int[] y1 = mParameters.getYPos1();
- int[] x2 = mParameters.getXPos2();
- int[] y2 = mParameters.getYPos2();
-
- int width = getInPixelsAllocation().getType().getX();
- int height = getInPixelsAllocation().getType().getY();
- Matrix m = getOriginalToScreenMatrix(width, height);
- float[] coord = new float[2];
- for (int i = 0; i < x1.length; i++) {
- coord[0] = x1[i];
- coord[1] = y1[i];
- m.mapPoints(coord);
- x1[i] = (int) coord[0];
- y1[i] = (int) coord[1];
- coord[0] = x2[i];
- coord[1] = y2[i];
- m.mapPoints(coord);
- x2[i] = (int) coord[0];
- y2[i] = (int) coord[1];
- }
-
- mScript.set_mask(mParameters.getMask());
- mScript.set_xPos1(x1);
- mScript.set_yPos1(y1);
- mScript.set_xPos2(x2);
- mScript.set_yPos2(y2);
-
- mScript.set_brightness(mParameters.getBrightness());
- mScript.set_contrast(mParameters.getContrast());
- mScript.set_saturation(mParameters.getSaturation());
-
- mScript.invoke_setupGradParams();
- runSelectiveAdjust(
- getInPixelsAllocation(), getOutPixelsAllocation());
-
- }
-
- private void runSelectiveAdjust(Allocation in, Allocation out) {
- int width = in.getType().getX();
- int height = in.getType().getY();
-
- LaunchOptions options = new LaunchOptions();
- int ty;
- options.setX(0, width);
-
- for (ty = 0; ty < height; ty += STRIP_SIZE) {
- int endy = ty + STRIP_SIZE;
- if (endy > height) {
- endy = height;
- }
- options.setY(ty, endy);
- mScript.forEach_selectiveAdjust(in, out, options);
- if (checkStop()) {
- return;
- }
- }
- }
-
- private boolean checkStop() {
- RenderScript rsCtx = getRenderScriptContext();
- rsCtx.finish();
- if (getEnvironment().needsStop()) {
- return true;
- }
- return false;
- }
-}
-