diff options
Diffstat (limited to 'src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java b/src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java deleted file mode 100644 index 518969ee1..000000000 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageVignette.java +++ /dev/null @@ -1,165 +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.imageshow; - -import android.content.Context; -import android.graphics.Canvas; -import android.graphics.Matrix; -import android.util.AttributeSet; -import android.util.Log; -import android.view.MotionEvent; - -import com.android.gallery3d.filtershow.editors.EditorVignette; -import com.android.gallery3d.filtershow.filters.FilterVignetteRepresentation; - -public class ImageVignette extends ImageShow { - private static final String LOGTAG = "ImageVignette"; - - private FilterVignetteRepresentation mVignetteRep; - private EditorVignette mEditorVignette; - - private int mActiveHandle = -1; - - EclipseControl mElipse; - - public ImageVignette(Context context) { - super(context); - mElipse = new EclipseControl(context); - } - - public ImageVignette(Context context, AttributeSet attrs) { - super(context, attrs); - mElipse = new EclipseControl(context); - } - - @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 = mElipse.getCloseHandle(event.getX(), event.getY()); - } - 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(); - - mElipse.setScrToImageMatrix(getScreenToImageMatrix(true)); - - boolean didComputeEllipses = false; - switch (mask) { - case (MotionEvent.ACTION_DOWN): - mElipse.actionDown(x, y, mVignetteRep); - break; - case (MotionEvent.ACTION_UP): - case (MotionEvent.ACTION_MOVE): - mElipse.actionMove(mActiveHandle, x, y, mVignetteRep); - setRepresentation(mVignetteRep); - didComputeEllipses = true; - break; - } - if (!didComputeEllipses) { - computeEllipses(); - } - invalidate(); - return true; - } - - public void setRepresentation(FilterVignetteRepresentation vignetteRep) { - mVignetteRep = vignetteRep; - computeEllipses(); - } - - public void computeEllipses() { - if (mVignetteRep == null) { - return; - } - Matrix toImg = getScreenToImageMatrix(false); - Matrix toScr = new Matrix(); - toImg.invert(toScr); - - float[] c = new float[] { - mVignetteRep.getCenterX(), mVignetteRep.getCenterY() }; - if (Float.isNaN(c[0])) { - float cx = MasterImage.getImage().getOriginalBounds().width() / 2; - float cy = MasterImage.getImage().getOriginalBounds().height() / 2; - float rx = Math.min(cx, cy) * .8f; - float ry = rx; - mVignetteRep.setCenter(cx, cy); - mVignetteRep.setRadius(rx, ry); - - c[0] = cx; - c[1] = cy; - toScr.mapPoints(c); - if (getWidth() != 0) { - mElipse.setCenter(c[0], c[1]); - mElipse.setRadius(c[0] * 0.8f, c[1] * 0.8f); - } - } else { - - toScr.mapPoints(c); - - mElipse.setCenter(c[0], c[1]); - mElipse.setRadius(toScr.mapRadius(mVignetteRep.getRadiusX()), - toScr.mapRadius(mVignetteRep.getRadiusY())); - } - mEditorVignette.commitLocalRepresentation(); - } - - public void setEditor(EditorVignette editorVignette) { - mEditorVignette = editorVignette; - } - - @Override - public void onSizeChanged(int w, int h, int oldw, int oldh) { - super.onSizeChanged(w, h, oldw, oldh); - computeEllipses(); - } - - @Override - public void onDraw(Canvas canvas) { - super.onDraw(canvas); - if (mVignetteRep == null) { - return; - } - Matrix toImg = getScreenToImageMatrix(false); - Matrix toScr = new Matrix(); - toImg.invert(toScr); - float[] c = new float[] { - mVignetteRep.getCenterX(), mVignetteRep.getCenterY() }; - toScr.mapPoints(c); - mElipse.setCenter(c[0], c[1]); - mElipse.setRadius(toScr.mapRadius(mVignetteRep.getRadiusX()), - toScr.mapRadius(mVignetteRep.getRadiusY())); - - mElipse.draw(canvas); - } - -} |