summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/crop/CropView.java
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2013-04-22 15:07:28 -0700
committerRuben Brunk <rubenbrunk@google.com>2013-04-22 15:07:28 -0700
commit0aaddefd03cd48a9254e6a996493a3d29f9e3647 (patch)
tree7f6bea4fc27561c4fcb8e11b211ba6cbee4adab7 /src/com/android/gallery3d/filtershow/crop/CropView.java
parent37c006fc72a6a3f849545587ad85c82466862bc4 (diff)
downloadandroid_packages_apps_Snap-0aaddefd03cd48a9254e6a996493a3d29f9e3647.tar.gz
android_packages_apps_Snap-0aaddefd03cd48a9254e6a996493a3d29f9e3647.tar.bz2
android_packages_apps_Snap-0aaddefd03cd48a9254e6a996493a3d29f9e3647.zip
Fix wallpaper crop UI.
Bug: 8687759 Change-Id: Ice32fdabdae585fc39e78ce1f3e7e1796c5d99b3
Diffstat (limited to 'src/com/android/gallery3d/filtershow/crop/CropView.java')
-rw-r--r--src/com/android/gallery3d/filtershow/crop/CropView.java34
1 files changed, 32 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/filtershow/crop/CropView.java b/src/com/android/gallery3d/filtershow/crop/CropView.java
index dca752146..08c38836e 100644
--- a/src/com/android/gallery3d/filtershow/crop/CropView.java
+++ b/src/com/android/gallery3d/filtershow/crop/CropView.java
@@ -20,6 +20,8 @@ import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.DashPathEffect;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.Rect;
@@ -32,7 +34,6 @@ import android.view.MotionEvent;
import android.view.View;
import com.android.gallery3d.R;
-import com.android.gallery3d.filtershow.crop.CropDrawingUtils;
public class CropView extends View {
@@ -59,10 +60,15 @@ public class CropView extends View {
private float mPrevX = 0;
private float mPrevY = 0;
+ private float mSpotX = 0;
+ private float mSpotY = 0;
+ private boolean mDoSpot = false;
private int mShadowMargin = 15;
private int mMargin = 32;
private int mOverlayShadowColor = 0xCF000000;
+ private int mOverlayWPShadowColor = 0x5F000000;
+ private int mWPMarkerColor = 0x7FFFFFFF;
private int mMinSideSize = 90;
private int mTouchTolerance = 40;
@@ -83,6 +89,8 @@ public class CropView extends View {
mMinSideSize = (int) rsc.getDimension(R.dimen.crop_min_side);
mTouchTolerance = (int) rsc.getDimension(R.dimen.crop_touch_tolerance);
mOverlayShadowColor = (int) rsc.getColor(R.color.crop_shadow_color);
+ mOverlayWPShadowColor = (int) rsc.getColor(R.color.crop_shadow_wp_color);
+ mWPMarkerColor = (int) rsc.getColor(R.color.crop_wp_markers);
}
public void initialize(Bitmap image, RectF newCropBounds, RectF newPhotoBounds, int rotation) {
@@ -210,6 +218,18 @@ public class CropView extends View {
invalidate();
}
+ public void setWallpaperSpotlight(float spotlightX, float spotlightY) {
+ mSpotX = spotlightX;
+ mSpotY = spotlightY;
+ if (mSpotX > 0 && mSpotY > 0) {
+ mDoSpot = true;
+ }
+ }
+
+ public void unsetWallpaperSpotlight() {
+ mDoSpot = false;
+ }
+
@Override
public void onDraw(Canvas canvas) {
if (mBitmap == null) {
@@ -280,7 +300,17 @@ public class CropView extends View {
// Draw crop rect and markers
CropDrawingUtils.drawCropRect(canvas, mScreenCropBounds);
- CropDrawingUtils.drawRuleOfThird(canvas, mScreenCropBounds);
+ if (!mDoSpot) {
+ CropDrawingUtils.drawRuleOfThird(canvas, mScreenCropBounds);
+ } else {
+ Paint wpPaint = new Paint();
+ wpPaint.setColor(mWPMarkerColor);
+ wpPaint.setStrokeWidth(3);
+ wpPaint.setStyle(Paint.Style.STROKE);
+ wpPaint.setPathEffect(new DashPathEffect(new float[] {20, 30}, 0));
+ p.setColor(mOverlayWPShadowColor);
+ CropDrawingUtils.drawWallpaperSelectionFrame(canvas, mScreenCropBounds, mSpotX, mSpotY, wpPaint, p);
+ }
CropDrawingUtils.drawIndicators(canvas, mCropIndicator, mIndicatorSize,
mScreenCropBounds, mCropObj.isFixedAspect(), mCropObj.getSelectState());
}