summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/imageshow/ImageGrad.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/imageshow/ImageGrad.java')
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageGrad.java215
1 files changed, 0 insertions, 215 deletions
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageGrad.java b/src/com/android/gallery3d/filtershow/imageshow/ImageGrad.java
deleted file mode 100644
index b55cc2bc4..000000000
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageGrad.java
+++ /dev/null
@@ -1,215 +0,0 @@
-package com.android.gallery3d.filtershow.imageshow;
-/*
- * 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.
- */
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Canvas;
-import android.graphics.Matrix;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-
-import com.android.gallery3d.R;
-import com.android.gallery3d.filtershow.editors.EditorGrad;
-import com.android.gallery3d.filtershow.filters.FilterGradRepresentation;
-
-public class ImageGrad extends ImageShow {
- private static final String LOGTAG = "ImageGrad";
- private FilterGradRepresentation mGradRep;
- private EditorGrad mEditorGrad;
- private float mMinTouchDist;
- private int mActiveHandle = -1;
- private GradControl mEllipse;
-
- Matrix mToScr = new Matrix();
- float[] mPointsX = new float[FilterGradRepresentation.MAX_POINTS];
- float[] mPointsY = new float[FilterGradRepresentation.MAX_POINTS];
-
- public ImageGrad(Context context) {
- super(context);
- Resources res = context.getResources();
- mMinTouchDist = res.getDimensionPixelSize(R.dimen.gradcontrol_min_touch_dist);
- mEllipse = new GradControl(context);
- mEllipse.setShowReshapeHandles(false);
- }
-
- public ImageGrad(Context context, AttributeSet attrs) {
- super(context, attrs);
- Resources res = context.getResources();
- mMinTouchDist = res.getDimensionPixelSize(R.dimen.gradcontrol_min_touch_dist);
- mEllipse = new GradControl(context);
- mEllipse.setShowReshapeHandles(false);
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent event) {
- int mask = event.getActionMasked();
-
- if (mActiveHandle == -1) {
- if (MotionEvent.ACTION_DOWN != mask) {
- return super.onTouchEvent(event);
- }
- if (event.getPointerCount() == 1) {
- mActiveHandle = mEllipse.getCloseHandle(event.getX(), event.getY());
- if (mActiveHandle == -1) {
- float x = event.getX();
- float y = event.getY();
- float min_d = Float.MAX_VALUE;
- int pos = -1;
- for (int i = 0; i < mPointsX.length; i++) {
- if (mPointsX[i] == -1) {
- continue;
- }
- float d = (float) Math.hypot(x - mPointsX[i], y - mPointsY[i]);
- if ( min_d > d) {
- min_d = d;
- pos = i;
- }
- }
- if (min_d > mMinTouchDist){
- pos = -1;
- }
-
- if (pos != -1) {
- mGradRep.setSelectedPoint(pos);
- resetImageCaches(this);
- mEditorGrad.updateSeekBar(mGradRep);
- mEditorGrad.commitLocalRepresentation();
- invalidate();
- }
- }
- }
- if (mActiveHandle == -1) {
- return super.onTouchEvent(event);
- }
- } else {
- switch (mask) {
- case MotionEvent.ACTION_UP: {
-
- mActiveHandle = -1;
- break;
- }
- case MotionEvent.ACTION_DOWN: {
- break;
- }
- }
- }
- float x = event.getX();
- float y = event.getY();
-
- mEllipse.setScrImageInfo(getScreenToImageMatrix(true),
- MasterImage.getImage().getOriginalBounds());
-
- switch (mask) {
- case (MotionEvent.ACTION_DOWN): {
- mEllipse.actionDown(x, y, mGradRep);
- break;
- }
- case (MotionEvent.ACTION_UP):
- case (MotionEvent.ACTION_MOVE): {
- mEllipse.actionMove(mActiveHandle, x, y, mGradRep);
- setRepresentation(mGradRep);
- break;
- }
- }
- invalidate();
- mEditorGrad.commitLocalRepresentation();
- return true;
- }
-
- public void setRepresentation(FilterGradRepresentation pointRep) {
- mGradRep = pointRep;
- Matrix toImg = getScreenToImageMatrix(false);
-
- toImg.invert(mToScr);
-
- float[] c1 = new float[] { mGradRep.getPoint1X(), mGradRep.getPoint1Y() };
- float[] c2 = new float[] { mGradRep.getPoint2X(), mGradRep.getPoint2Y() };
-
- if (c1[0] == -1) {
- float cx = MasterImage.getImage().getOriginalBounds().width() / 2;
- float cy = MasterImage.getImage().getOriginalBounds().height() / 2;
- float rx = Math.min(cx, cy) * .4f;
-
- mGradRep.setPoint1(cx, cy-rx);
- mGradRep.setPoint2(cx, cy+rx);
- c1[0] = cx;
- c1[1] = cy-rx;
- mToScr.mapPoints(c1);
- if (getWidth() != 0) {
- mEllipse.setPoint1(c1[0], c1[1]);
- c2[0] = cx;
- c2[1] = cy+rx;
- mToScr.mapPoints(c2);
- mEllipse.setPoint2(c2[0], c2[1]);
- }
- mEditorGrad.commitLocalRepresentation();
- } else {
- mToScr.mapPoints(c1);
- mToScr.mapPoints(c2);
- mEllipse.setPoint1(c1[0], c1[1]);
- mEllipse.setPoint2(c2[0], c2[1]);
- }
- }
-
- public void drawOtherPoints(Canvas canvas) {
- computCenterLocations();
- for (int i = 0; i < mPointsX.length; i++) {
- if (mPointsX[i] != -1) {
- mEllipse.paintGrayPoint(canvas, mPointsX[i], mPointsY[i]);
- }
- }
- }
-
- public void computCenterLocations() {
- int x1[] = mGradRep.getXPos1();
- int y1[] = mGradRep.getYPos1();
- int x2[] = mGradRep.getXPos2();
- int y2[] = mGradRep.getYPos2();
- int selected = mGradRep.getSelectedPoint();
- boolean m[] = mGradRep.getMask();
- float[] c = new float[2];
- for (int i = 0; i < m.length; i++) {
- if (selected == i || !m[i]) {
- mPointsX[i] = -1;
- continue;
- }
-
- c[0] = (x1[i]+x2[i])/2;
- c[1] = (y1[i]+y2[i])/2;
- mToScr.mapPoints(c);
-
- mPointsX[i] = c[0];
- mPointsY[i] = c[1];
- }
- }
-
- public void setEditor(EditorGrad editorGrad) {
- mEditorGrad = editorGrad;
- }
-
- @Override
- public void onDraw(Canvas canvas) {
- super.onDraw(canvas);
- if (mGradRep == null) {
- return;
- }
- setRepresentation(mGradRep);
- mEllipse.draw(canvas);
- drawOtherPoints(canvas);
- }
-
-}