diff options
| author | nicolasroard <nicolasroard@google.com> | 2013-09-12 09:27:32 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2013-09-12 09:27:32 -0700 |
| commit | 75de59605999fbf8f176b3367194017842c8954a (patch) | |
| tree | fc321682baba93ecb48d00602cfb0205aa0abb23 | |
| parent | 77bb3b5bbc0b1ce74aa085438160848bf3adaf3c (diff) | |
| parent | e9800eb6e6979647e7f0d8af849542c7da099efd (diff) | |
| download | android_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.java | 38 |
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); } |
