summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2013-09-12 09:27:32 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-09-12 09:27:32 -0700
commit75de59605999fbf8f176b3367194017842c8954a (patch)
treefc321682baba93ecb48d00602cfb0205aa0abb23
parent77bb3b5bbc0b1ce74aa085438160848bf3adaf3c (diff)
parente9800eb6e6979647e7f0d8af849542c7da099efd (diff)
downloadandroid_packages_apps_Gallery2-75de59605999fbf8f176b3367194017842c8954a.tar.gz
android_packages_apps_Gallery2-75de59605999fbf8f176b3367194017842c8954a.tar.bz2
android_packages_apps_Gallery2-75de59605999fbf8f176b3367194017842c8954a.zip
am e9800eb6: am 09b825b1: am 5d727d85: Merge "Fix straighten tool" into gb-ub-photos-carlsbad
* commit 'e9800eb6e6979647e7f0d8af849542c7da099efd': Fix straighten tool
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java38
1 files changed, 35 insertions, 3 deletions
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
index e00e55293..9b5f0f839 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
@@ -16,6 +16,7 @@
package com.android.gallery3d.filtershow.imageshow;
+import android.animation.ValueAnimator;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Canvas;
@@ -56,6 +57,11 @@ public class ImageStraighten extends ImageShow {
NONE, MOVE
}
private MODES mState = MODES.NONE;
+ private ValueAnimator mAnimator = null;
+ private int mDefaultGridAlpha = 60;
+ private float mGridAlpha = 1f;
+ private int mOnStartAnimDelay = 1000;
+ private int mAnimDelay = 500;
private static final float MAX_STRAIGHTEN_ANGLE
= FilterStraightenRepresentation.MAX_STRAIGHTEN_ANGLE;
private static final float MIN_STRAIGHTEN_ANGLE
@@ -75,6 +81,27 @@ public class ImageStraighten extends ImageShow {
super(context, attrs);
}
+ @Override
+ public void attach() {
+ super.attach();
+ mGridAlpha = 1f;
+ hidesGrid(mOnStartAnimDelay);
+ }
+
+ private void hidesGrid(int delay) {
+ mAnimator = ValueAnimator.ofFloat(1, 0);
+ mAnimator.setStartDelay(delay);
+ mAnimator.setDuration(mAnimDelay);
+ mAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
+ @Override
+ public void onAnimationUpdate(ValueAnimator animation) {
+ mGridAlpha = ((Float) animation.getAnimatedValue());
+ invalidate();
+ }
+ });
+ mAnimator.start();
+ }
+
public void setFilterStraightenRepresentation(FilterStraightenRepresentation rep) {
mLocalRep = (rep == null) ? new FilterStraightenRepresentation() : rep;
mInitialAngle = mBaseAngle = mAngle = mLocalRep.getStraighten();
@@ -112,6 +139,7 @@ public class ImageStraighten extends ImageShow {
mCurrentY = y;
computeValue();
mFirstDrawSinceUp = true;
+ hidesGrid(0);
}
break;
case (MotionEvent.ACTION_MOVE):
@@ -246,15 +274,19 @@ public class ImageStraighten extends ImageShow {
}
CropDrawingUtils.drawShade(canvas, mDrawRect);
// Draw the grid
- if (mState == MODES.MOVE) {
+ if (mState == MODES.MOVE || mGridAlpha > 0) {
canvas.save();
canvas.clipRect(mDrawRect);
- float step = Math.max(viewWidth,viewWidth) / NBLINES;
+ float step = Math.max(viewWidth, viewHeight) / NBLINES;
float p = 0;
for (int i = 1; i < NBLINES; i++) {
p = i * step;
- mPaint.setAlpha(60);
+ int alpha = (int) (mDefaultGridAlpha * mGridAlpha);
+ if (alpha == 0 && mState == MODES.MOVE) {
+ alpha = mDefaultGridAlpha;
+ }
+ mPaint.setAlpha(alpha);
canvas.drawLine(p, 0, p, viewHeight, mPaint);
canvas.drawLine(0, p, viewHeight, p, mPaint);
}