summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2012-09-30 14:16:34 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-30 14:16:35 -0700
commitc367b15e24f2f992f3eb2be746038021ce89365d (patch)
treefab7991175817bafb1e987135451596c4d640531 /src
parentba2d830138e01473a4883b2f3a12f8cd443e3fb7 (diff)
parent0f1cc66c395becb393ccd99d92475329bc6bdef5 (diff)
downloadCamera-c367b15e24f2f992f3eb2be746038021ce89365d.tar.gz
Merge "Fix zoom renderer ui" into gb-ub-photos-arches
Diffstat (limited to 'src')
-rw-r--r--src/com/android/camera/PreviewGestures.java17
-rw-r--r--src/com/android/camera/ui/ZoomRenderer.java11
2 files changed, 24 insertions, 4 deletions
diff --git a/src/com/android/camera/PreviewGestures.java b/src/com/android/camera/PreviewGestures.java
index 23d5bfd9..1fde82f7 100644
--- a/src/com/android/camera/PreviewGestures.java
+++ b/src/com/android/camera/PreviewGestures.java
@@ -137,7 +137,7 @@ public class PreviewGestures
return false;
} else if (mMode == MODE_PIE) {
return sendToPie(m);
- } else if (mMode == MODE_ZOOM) {
+ } else if (mMode == MODE_ZOOM && mScale.isInProgress()) {
return mScale.onTouchEvent(m);
} else if (mMode == MODE_MODULE) {
return mActivity.superDispatchTouchEvent(m);
@@ -151,6 +151,13 @@ public class PreviewGestures
if (!mZoomOnly) {
cancelPie();
}
+ if (mZoom != null) {
+ onScaleBegin(mScale);
+ }
+ } else if ((mMode == MODE_ZOOM) && !mScale.isInProgress()
+ && MotionEvent.ACTION_POINTER_UP == m.getActionMasked()) {
+ // user initiated and stopped zoom gesture without zooming
+ onScaleEnd(mScale);
}
// not zoom or pie mode and no timeout yet
if (mZoom != null) {
@@ -256,8 +263,12 @@ public class PreviewGestures
@Override
public boolean onScaleBegin(ScaleGestureDetector detector) {
- mMode = MODE_ZOOM;
- return mZoom.onScaleBegin(detector);
+ if (mMode != MODE_ZOOM) {
+ mMode = MODE_ZOOM;
+ return mZoom.onScaleBegin(detector);
+ } else {
+ return true;
+ }
}
@Override
diff --git a/src/com/android/camera/ui/ZoomRenderer.java b/src/com/android/camera/ui/ZoomRenderer.java
index b25f912e..617f1321 100644
--- a/src/com/android/camera/ui/ZoomRenderer.java
+++ b/src/com/android/camera/ui/ZoomRenderer.java
@@ -44,6 +44,8 @@ public class ZoomRenderer extends OverlayRenderer
private float mScale = 1f;
private float mMinScale = 1f;
private float mMaxScale = 3f;
+ private int mInnerStroke;
+ private int mOuterStroke;
public interface OnZoomChangedListener {
void onZoomStart();
@@ -57,7 +59,8 @@ public class ZoomRenderer extends OverlayRenderer
mPaint.setAntiAlias(true);
mPaint.setColor(Color.WHITE);
mPaint.setStyle(Paint.Style.STROKE);
- mPaint.setStrokeWidth(res.getDimensionPixelSize(R.dimen.focus_outer_stroke));
+ mInnerStroke = res.getDimensionPixelSize(R.dimen.focus_inner_stroke);
+ mOuterStroke = res.getDimensionPixelSize(R.dimen.focus_outer_stroke);
mDetector = new ScaleGestureDetector(ctx, this);
mMinCircle = res.getDimensionPixelSize(R.dimen.zoom_ring_min);
setVisible(false);
@@ -93,6 +96,12 @@ public class ZoomRenderer extends OverlayRenderer
@Override
public void onDraw(Canvas canvas) {
+ mPaint.setStrokeWidth(mInnerStroke);
+ canvas.drawCircle(mCenterX, mCenterY, mMinCircle, mPaint);
+ canvas.drawCircle(mCenterX, mCenterY, mMaxCircle, mPaint);
+ canvas.drawLine(mCenterX - mMinCircle, mCenterY,
+ mCenterX - mMaxCircle - 4, mCenterY, mPaint);
+ mPaint.setStrokeWidth(mOuterStroke);
canvas.drawCircle((float) mCenterX, (float) mCenterY,
(float) mCircleSize, mPaint);
}